@aztec/simulator 0.76.4 → 0.77.0-testnet-ignition.21

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 (517) hide show
  1. package/README.md +3 -3
  2. package/dest/client.d.ts +5 -0
  3. package/dest/client.d.ts.map +1 -0
  4. package/dest/client.js +3 -0
  5. package/dest/{public → common}/db_interfaces.d.ts +8 -33
  6. package/dest/common/db_interfaces.d.ts.map +1 -0
  7. package/dest/common/db_interfaces.js +1 -0
  8. package/dest/common/debug_fn_name.d.ts +3 -2
  9. package/dest/common/debug_fn_name.d.ts.map +1 -1
  10. package/dest/common/debug_fn_name.js +2 -5
  11. package/dest/common/errors.d.ts +4 -4
  12. package/dest/common/errors.d.ts.map +1 -1
  13. package/dest/common/errors.js +30 -39
  14. package/dest/common/index.d.ts +2 -1
  15. package/dest/common/index.d.ts.map +1 -1
  16. package/dest/common/index.js +2 -2
  17. package/dest/common/message_load_oracle_inputs.d.ts +2 -2
  18. package/dest/common/message_load_oracle_inputs.d.ts.map +1 -1
  19. package/dest/common/message_load_oracle_inputs.js +8 -8
  20. package/dest/common/stats/index.d.ts.map +1 -0
  21. package/dest/{stats → common/stats}/stats.d.ts +2 -2
  22. package/dest/common/stats/stats.d.ts.map +1 -0
  23. package/dest/common/stats/stats.js +10 -0
  24. package/dest/{acvm → private/acvm}/acvm.d.ts +4 -4
  25. package/dest/private/acvm/acvm.d.ts.map +1 -0
  26. package/dest/private/acvm/acvm.js +70 -0
  27. package/dest/{acvm → private/acvm}/acvm_types.d.ts +1 -1
  28. package/dest/private/acvm/acvm_types.d.ts.map +1 -0
  29. package/dest/private/acvm/acvm_types.js +3 -0
  30. package/dest/{acvm → private/acvm}/deserialize.d.ts +2 -2
  31. package/dest/private/acvm/deserialize.d.ts.map +1 -0
  32. package/dest/private/acvm/deserialize.js +42 -0
  33. package/dest/private/acvm/index.d.ts.map +1 -0
  34. package/dest/private/acvm/index.js +5 -0
  35. package/dest/{acvm → private/acvm}/oracle/index.d.ts +1 -1
  36. package/dest/private/acvm/oracle/index.d.ts.map +1 -0
  37. package/dest/private/acvm/oracle/index.js +2 -0
  38. package/dest/{acvm → private/acvm}/oracle/oracle.d.ts +4 -3
  39. package/dest/private/acvm/oracle/oracle.d.ts.map +1 -0
  40. package/dest/private/acvm/oracle/oracle.js +263 -0
  41. package/dest/{acvm → private/acvm}/oracle/typed_oracle.d.ts +12 -6
  42. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -0
  43. package/dest/private/acvm/oracle/typed_oracle.js +132 -0
  44. package/dest/{acvm → private/acvm}/serialize.d.ts +7 -3
  45. package/dest/private/acvm/serialize.d.ts.map +1 -0
  46. package/dest/private/acvm/serialize.js +46 -0
  47. package/dest/{client → private}/client_execution_context.d.ts +20 -17
  48. package/dest/private/client_execution_context.d.ts.map +1 -0
  49. package/dest/private/client_execution_context.js +378 -0
  50. package/dest/{client → private}/db_oracle.d.ts +19 -7
  51. package/dest/private/db_oracle.d.ts.map +1 -0
  52. package/dest/private/db_oracle.js +14 -0
  53. package/dest/{client → private}/execution_note_cache.d.ts +2 -2
  54. package/dest/private/execution_note_cache.d.ts.map +1 -0
  55. package/dest/private/execution_note_cache.js +180 -0
  56. package/dest/{common → private}/hashed_values_cache.d.ts +2 -2
  57. package/dest/private/hashed_values_cache.d.ts.map +1 -0
  58. package/dest/private/hashed_values_cache.js +46 -0
  59. package/dest/private/index.d.ts +13 -0
  60. package/dest/private/index.d.ts.map +1 -0
  61. package/dest/private/index.js +12 -0
  62. package/dest/{client → private}/pick_notes.d.ts +1 -1
  63. package/dest/private/pick_notes.d.ts.map +1 -0
  64. package/dest/private/pick_notes.js +51 -0
  65. package/dest/private/private_execution.d.ts +24 -0
  66. package/dest/private/private_execution.d.ts.map +1 -0
  67. package/dest/private/private_execution.js +90 -0
  68. package/dest/{providers → private/providers}/acvm_native.d.ts +5 -5
  69. package/dest/private/providers/acvm_native.d.ts.map +1 -0
  70. package/dest/private/providers/acvm_native.js +139 -0
  71. package/dest/{providers → private/providers}/acvm_wasm.d.ts +4 -4
  72. package/dest/private/providers/acvm_wasm.d.ts.map +1 -0
  73. package/dest/private/providers/acvm_wasm.js +62 -0
  74. package/dest/{providers → private/providers}/acvm_wasm_with_blobs.d.ts +5 -5
  75. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +1 -0
  76. package/dest/{providers → private/providers}/acvm_wasm_with_blobs.js +3 -6
  77. package/dest/{providers → private/providers}/factory.d.ts +1 -1
  78. package/dest/private/providers/factory.d.ts.map +1 -0
  79. package/dest/private/providers/factory.js +27 -0
  80. package/dest/{common → private/providers}/simulation_provider.d.ts +5 -5
  81. package/dest/private/providers/simulation_provider.d.ts.map +1 -0
  82. package/dest/private/providers/simulation_provider.js +24 -0
  83. package/dest/private/simulator.d.ts +36 -0
  84. package/dest/private/simulator.d.ts.map +1 -0
  85. package/dest/private/simulator.js +78 -0
  86. package/dest/{client → private}/unconstrained_execution.d.ts +5 -5
  87. package/dest/private/unconstrained_execution.d.ts.map +1 -0
  88. package/dest/private/unconstrained_execution.js +27 -0
  89. package/dest/{client → private}/view_data_oracle.d.ts +15 -7
  90. package/dest/private/view_data_oracle.d.ts.map +1 -0
  91. package/dest/private/view_data_oracle.js +260 -0
  92. package/dest/{avm → public/avm}/avm_context.d.ts +7 -5
  93. package/dest/public/avm/avm_context.d.ts.map +1 -0
  94. package/dest/public/avm/avm_context.js +44 -0
  95. package/dest/{avm → public/avm}/avm_contract_call_result.d.ts +5 -5
  96. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -0
  97. package/dest/public/avm/avm_contract_call_result.js +50 -0
  98. package/dest/{avm → public/avm}/avm_execution_environment.d.ts +2 -2
  99. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -0
  100. package/dest/public/avm/avm_execution_environment.js +31 -0
  101. package/dest/public/avm/avm_gas.d.ts.map +1 -0
  102. package/dest/public/avm/avm_gas.js +202 -0
  103. package/dest/{avm → public/avm}/avm_machine_state.d.ts +2 -2
  104. package/dest/public/avm/avm_machine_state.d.ts.map +1 -0
  105. package/dest/public/avm/avm_machine_state.js +106 -0
  106. package/dest/{avm → public/avm}/avm_memory_types.d.ts +2 -2
  107. package/dest/public/avm/avm_memory_types.d.ts.map +1 -0
  108. package/dest/public/avm/avm_memory_types.js +340 -0
  109. package/dest/{avm → public/avm}/avm_simulator.d.ts +5 -3
  110. package/dest/public/avm/avm_simulator.d.ts.map +1 -0
  111. package/dest/public/avm/avm_simulator.js +202 -0
  112. package/dest/public/avm/bytecode_utils.d.ts.map +1 -0
  113. package/dest/public/avm/bytecode_utils.js +17 -0
  114. package/dest/{avm → public/avm}/errors.d.ts +5 -4
  115. package/dest/public/avm/errors.d.ts.map +1 -0
  116. package/dest/public/avm/errors.js +179 -0
  117. package/dest/{avm → public/avm}/fixtures/avm_simulation_tester.d.ts +6 -6
  118. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -0
  119. package/dest/public/avm/fixtures/avm_simulation_tester.js +76 -0
  120. package/dest/{avm → public/avm}/fixtures/base_avm_simulation_tester.d.ts +13 -12
  121. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -0
  122. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +83 -0
  123. package/dest/{avm → public/avm}/fixtures/index.d.ts +24 -7
  124. package/dest/public/avm/fixtures/index.d.ts.map +1 -0
  125. package/dest/public/avm/fixtures/index.js +175 -0
  126. package/dest/{avm → public/avm}/fixtures/simple_contract_data_source.d.ts +10 -6
  127. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +1 -0
  128. package/dest/public/avm/fixtures/simple_contract_data_source.js +74 -0
  129. package/dest/public/avm/index.d.ts +4 -0
  130. package/dest/public/avm/index.d.ts.map +1 -0
  131. package/dest/{avm/index.d.ts → public/avm/index.js} +1 -2
  132. package/dest/public/avm/journal/index.d.ts.map +1 -0
  133. package/dest/{avm → public/avm}/journal/journal.d.ts +51 -18
  134. package/dest/public/avm/journal/journal.d.ts.map +1 -0
  135. package/dest/public/avm/journal/journal.js +486 -0
  136. package/dest/{avm → public/avm}/journal/nullifiers.d.ts +8 -6
  137. package/dest/public/avm/journal/nullifiers.d.ts.map +1 -0
  138. package/dest/public/avm/journal/nullifiers.js +97 -0
  139. package/dest/{avm → public/avm}/journal/public_storage.d.ts +2 -2
  140. package/dest/public/avm/journal/public_storage.d.ts.map +1 -0
  141. package/dest/public/avm/journal/public_storage.js +145 -0
  142. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -0
  143. package/dest/public/avm/opcodes/accrued_substate.js +252 -0
  144. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -0
  145. package/dest/public/avm/opcodes/addressing_mode.js +74 -0
  146. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -0
  147. package/dest/public/avm/opcodes/arithmetic.js +73 -0
  148. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -0
  149. package/dest/public/avm/opcodes/bitwise.js +106 -0
  150. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -0
  151. package/dest/public/avm/opcodes/comparators.js +43 -0
  152. package/dest/public/avm/opcodes/contract.d.ts.map +1 -0
  153. package/dest/public/avm/opcodes/contract.js +66 -0
  154. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -0
  155. package/dest/public/avm/opcodes/control_flow.js +105 -0
  156. package/dest/{avm → public/avm}/opcodes/conversion.d.ts +1 -1
  157. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -0
  158. package/dest/public/avm/opcodes/conversion.js +69 -0
  159. package/dest/{avm → public/avm}/opcodes/ec_add.d.ts +1 -1
  160. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -0
  161. package/dest/public/avm/opcodes/ec_add.js +84 -0
  162. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -0
  163. package/dest/public/avm/opcodes/environment_getters.js +79 -0
  164. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -0
  165. package/dest/public/avm/opcodes/external_calls.js +180 -0
  166. package/dest/{avm → public/avm}/opcodes/hashing.d.ts +1 -1
  167. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -0
  168. package/dest/public/avm/opcodes/hashing.js +114 -0
  169. package/dest/public/avm/opcodes/index.d.ts.map +1 -0
  170. package/dest/{avm → public/avm}/opcodes/instruction.d.ts +2 -2
  171. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -0
  172. package/dest/public/avm/opcodes/instruction.js +91 -0
  173. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -0
  174. package/dest/public/avm/opcodes/instruction_impl.js +30 -0
  175. package/dest/public/avm/opcodes/memory.d.ts.map +1 -0
  176. package/dest/public/avm/opcodes/memory.js +253 -0
  177. package/dest/{avm → public/avm}/opcodes/misc.d.ts +1 -1
  178. package/dest/public/avm/opcodes/misc.d.ts.map +1 -0
  179. package/dest/public/avm/opcodes/misc.js +48 -0
  180. package/dest/public/avm/opcodes/storage.d.ts.map +1 -0
  181. package/dest/public/avm/opcodes/storage.js +66 -0
  182. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -0
  183. package/dest/public/avm/serialization/buffer_cursor.js +99 -0
  184. package/dest/{avm → public/avm}/serialization/bytecode_serialization.d.ts +1 -1
  185. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -0
  186. package/dest/public/avm/serialization/bytecode_serialization.js +328 -0
  187. package/dest/{avm → public/avm}/serialization/instruction_serialization.d.ts +1 -2
  188. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -0
  189. package/dest/public/avm/serialization/instruction_serialization.js +225 -0
  190. package/dest/{avm → public/avm}/test_utils.d.ts +6 -4
  191. package/dest/public/avm/test_utils.d.ts.map +1 -0
  192. package/dest/public/avm/test_utils.js +52 -0
  193. package/dest/public/bytecode_errors.js +1 -2
  194. package/dest/public/execution.d.ts +8 -2
  195. package/dest/public/execution.d.ts.map +1 -1
  196. package/dest/public/execution.js +4 -5
  197. package/dest/public/executor_metrics.js +16 -12
  198. package/dest/public/fixtures/index.js +0 -1
  199. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +15 -9
  200. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  201. package/dest/public/fixtures/public_tx_simulation_tester.js +54 -53
  202. package/dest/public/fixtures/utils.d.ts +7 -11
  203. package/dest/public/fixtures/utils.d.ts.map +1 -1
  204. package/dest/public/fixtures/utils.js +92 -32
  205. package/dest/public/index.d.ts +5 -4
  206. package/dest/public/index.d.ts.map +1 -1
  207. package/dest/public/index.js +5 -5
  208. package/dest/public/public_db_sources.d.ts +82 -34
  209. package/dest/public/public_db_sources.d.ts.map +1 -1
  210. package/dest/public/public_db_sources.js +171 -196
  211. package/dest/public/{public_processor.d.ts → public_processor/public_processor.d.ts} +10 -8
  212. package/dest/public/public_processor/public_processor.d.ts.map +1 -0
  213. package/dest/public/public_processor/public_processor.js +379 -0
  214. package/dest/public/{public_processor_metrics.d.ts → public_processor/public_processor_metrics.d.ts} +3 -3
  215. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -0
  216. package/dest/public/public_processor/public_processor_metrics.js +125 -0
  217. package/dest/public/{public_tx_context.d.ts → public_tx_simulator/public_tx_context.d.ts} +14 -8
  218. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -0
  219. package/dest/public/public_tx_simulator/public_tx_context.js +320 -0
  220. package/dest/public/{public_tx_simulator.d.ts → public_tx_simulator/public_tx_simulator.d.ts} +10 -7
  221. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -0
  222. package/dest/public/public_tx_simulator/public_tx_simulator.js +325 -0
  223. package/dest/public/side_effect_errors.js +1 -2
  224. package/dest/public/side_effect_trace.d.ts +16 -10
  225. package/dest/public/side_effect_trace.d.ts.map +1 -1
  226. package/dest/public/side_effect_trace.js +82 -149
  227. package/dest/public/side_effect_trace_interface.d.ts +9 -7
  228. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  229. package/dest/public/side_effect_trace_interface.js +1 -2
  230. package/dest/public/tx_contract_cache.d.ts +41 -0
  231. package/dest/public/tx_contract_cache.d.ts.map +1 -0
  232. package/dest/public/tx_contract_cache.js +49 -0
  233. package/dest/public/unique_class_ids.js +23 -28
  234. package/dest/public/utils.d.ts +2 -2
  235. package/dest/public/utils.d.ts.map +1 -1
  236. package/dest/public/utils.js +17 -12
  237. package/dest/server.d.ts +4 -4
  238. package/dest/server.d.ts.map +1 -1
  239. package/dest/server.js +3 -5
  240. package/dest/test/utils.d.ts +3 -2
  241. package/dest/test/utils.d.ts.map +1 -1
  242. package/dest/test/utils.js +9 -7
  243. package/package.json +19 -21
  244. package/src/client.ts +4 -0
  245. package/src/{public → common}/db_interfaces.ts +8 -40
  246. package/src/common/debug_fn_name.ts +4 -2
  247. package/src/common/errors.ts +5 -5
  248. package/src/common/index.ts +2 -1
  249. package/src/common/message_load_oracle_inputs.ts +2 -2
  250. package/src/common/stats/index.ts +1 -0
  251. package/src/{stats → common/stats}/stats.ts +2 -2
  252. package/src/{acvm → private/acvm}/acvm.ts +5 -5
  253. package/src/{acvm → private/acvm}/acvm_types.ts +1 -1
  254. package/src/{acvm → private/acvm}/deserialize.ts +2 -2
  255. package/src/{acvm → private/acvm}/oracle/index.ts +1 -1
  256. package/src/{acvm → private/acvm}/oracle/oracle.ts +22 -12
  257. package/src/{acvm → private/acvm}/oracle/typed_oracle.ts +50 -55
  258. package/src/{acvm → private/acvm}/serialize.ts +10 -3
  259. package/src/{client → private}/client_execution_context.ts +54 -37
  260. package/src/{client → private}/db_oracle.ts +20 -20
  261. package/src/{client → private}/execution_note_cache.ts +3 -3
  262. package/src/{common → private}/hashed_values_cache.ts +2 -2
  263. package/src/private/index.ts +12 -0
  264. package/src/{client → private}/pick_notes.ts +1 -1
  265. package/src/{client → private}/private_execution.ts +46 -14
  266. package/src/{providers → private/providers}/acvm_native.ts +6 -6
  267. package/src/{providers → private/providers}/acvm_wasm.ts +4 -4
  268. package/src/{providers → private/providers}/acvm_wasm_with_blobs.ts +5 -5
  269. package/src/{providers → private/providers}/factory.ts +1 -1
  270. package/src/{common → private/providers}/simulation_provider.ts +5 -5
  271. package/src/{client → private}/simulator.ts +31 -123
  272. package/src/{client → private}/unconstrained_execution.ts +7 -7
  273. package/src/{client → private}/view_data_oracle.ts +25 -28
  274. package/src/{avm → public/avm}/avm_context.ts +12 -7
  275. package/src/{avm → public/avm}/avm_contract_call_result.ts +6 -6
  276. package/src/{avm → public/avm}/avm_execution_environment.ts +2 -2
  277. package/src/{avm → public/avm}/avm_gas.ts +1 -3
  278. package/src/{avm → public/avm}/avm_machine_state.ts +2 -2
  279. package/src/{avm → public/avm}/avm_memory_types.ts +4 -4
  280. package/src/{avm → public/avm}/avm_simulator.ts +12 -6
  281. package/src/{avm → public/avm}/errors.ts +5 -4
  282. package/src/{avm → public/avm}/fixtures/avm_simulation_tester.ts +16 -15
  283. package/src/{avm → public/avm}/fixtures/base_avm_simulation_tester.ts +45 -40
  284. package/src/{avm → public/avm}/fixtures/index.ts +77 -12
  285. package/src/{avm → public/avm}/fixtures/simple_contract_data_source.ts +26 -19
  286. package/src/{avm → public/avm}/index.ts +1 -1
  287. package/src/public/avm/journal/index.ts +1 -0
  288. package/src/{avm → public/avm}/journal/journal.ts +330 -305
  289. package/src/{avm → public/avm}/journal/nullifiers.ts +20 -19
  290. package/src/{avm → public/avm}/journal/public_storage.ts +2 -2
  291. package/src/{avm → public/avm}/opcodes/contract.ts +1 -1
  292. package/src/{avm → public/avm}/opcodes/control_flow.ts +1 -1
  293. package/src/{avm → public/avm}/opcodes/conversion.ts +1 -1
  294. package/src/{avm → public/avm}/opcodes/ec_add.ts +2 -2
  295. package/src/{avm → public/avm}/opcodes/external_calls.ts +5 -6
  296. package/src/{avm → public/avm}/opcodes/hashing.ts +1 -1
  297. package/src/public/avm/opcodes/index.ts +15 -0
  298. package/src/{avm → public/avm}/opcodes/instruction.ts +2 -2
  299. package/src/{avm → public/avm}/opcodes/misc.ts +1 -1
  300. package/src/public/avm/serialization/bytecode_serialization.ts +204 -0
  301. package/src/{avm → public/avm}/serialization/instruction_serialization.ts +0 -1
  302. package/src/{avm → public/avm}/test_utils.ts +10 -7
  303. package/src/public/execution.ts +9 -12
  304. package/src/public/fixtures/public_tx_simulation_tester.ts +66 -72
  305. package/src/public/fixtures/utils.ts +122 -33
  306. package/src/public/index.ts +5 -4
  307. package/src/public/public_db_sources.ts +216 -222
  308. package/src/public/{public_processor.ts → public_processor/public_processor.ts} +78 -53
  309. package/src/public/{public_processor_metrics.ts → public_processor/public_processor_metrics.ts} +3 -3
  310. package/src/public/{public_tx_context.ts → public_tx_simulator/public_tx_context.ts} +70 -75
  311. package/src/public/{public_tx_simulator.ts → public_tx_simulator/public_tx_simulator.ts} +104 -91
  312. package/src/public/side_effect_trace.ts +85 -160
  313. package/src/public/side_effect_trace_interface.ts +10 -23
  314. package/src/public/tx_contract_cache.ts +69 -0
  315. package/src/public/unique_class_ids.ts +1 -1
  316. package/src/public/utils.ts +2 -2
  317. package/src/server.ts +4 -4
  318. package/src/test/utils.ts +5 -3
  319. package/dest/acvm/acvm.d.ts.map +0 -1
  320. package/dest/acvm/acvm.js +0 -73
  321. package/dest/acvm/acvm_types.d.ts.map +0 -1
  322. package/dest/acvm/acvm_types.js +0 -2
  323. package/dest/acvm/deserialize.d.ts.map +0 -1
  324. package/dest/acvm/deserialize.js +0 -46
  325. package/dest/acvm/index.d.ts.map +0 -1
  326. package/dest/acvm/index.js +0 -6
  327. package/dest/acvm/oracle/index.d.ts.map +0 -1
  328. package/dest/acvm/oracle/index.js +0 -3
  329. package/dest/acvm/oracle/oracle.d.ts.map +0 -1
  330. package/dest/acvm/oracle/oracle.js +0 -230
  331. package/dest/acvm/oracle/typed_oracle.d.ts.map +0 -1
  332. package/dest/acvm/oracle/typed_oracle.js +0 -131
  333. package/dest/acvm/serialize.d.ts.map +0 -1
  334. package/dest/acvm/serialize.js +0 -48
  335. package/dest/avm/avm_context.d.ts.map +0 -1
  336. package/dest/avm/avm_context.js +0 -44
  337. package/dest/avm/avm_contract_call_result.d.ts.map +0 -1
  338. package/dest/avm/avm_contract_call_result.js +0 -45
  339. package/dest/avm/avm_execution_environment.d.ts.map +0 -1
  340. package/dest/avm/avm_execution_environment.js +0 -28
  341. package/dest/avm/avm_gas.d.ts.map +0 -1
  342. package/dest/avm/avm_gas.js +0 -170
  343. package/dest/avm/avm_machine_state.d.ts.map +0 -1
  344. package/dest/avm/avm_machine_state.js +0 -112
  345. package/dest/avm/avm_memory_types.d.ts.map +0 -1
  346. package/dest/avm/avm_memory_types.js +0 -327
  347. package/dest/avm/avm_simulator.d.ts.map +0 -1
  348. package/dest/avm/avm_simulator.js +0 -193
  349. package/dest/avm/avm_tree.d.ts +0 -282
  350. package/dest/avm/avm_tree.d.ts.map +0 -1
  351. package/dest/avm/avm_tree.js +0 -684
  352. package/dest/avm/bytecode_utils.d.ts.map +0 -1
  353. package/dest/avm/bytecode_utils.js +0 -15
  354. package/dest/avm/errors.d.ts.map +0 -1
  355. package/dest/avm/errors.js +0 -196
  356. package/dest/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  357. package/dest/avm/fixtures/avm_simulation_tester.js +0 -73
  358. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  359. package/dest/avm/fixtures/base_avm_simulation_tester.js +0 -76
  360. package/dest/avm/fixtures/index.d.ts.map +0 -1
  361. package/dest/avm/fixtures/index.js +0 -134
  362. package/dest/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  363. package/dest/avm/fixtures/simple_contract_data_source.js +0 -75
  364. package/dest/avm/index.d.ts.map +0 -1
  365. package/dest/avm/index.js +0 -4
  366. package/dest/avm/journal/index.d.ts.map +0 -1
  367. package/dest/avm/journal/index.js +0 -2
  368. package/dest/avm/journal/journal.d.ts.map +0 -1
  369. package/dest/avm/journal/journal.js +0 -499
  370. package/dest/avm/journal/nullifiers.d.ts.map +0 -1
  371. package/dest/avm/journal/nullifiers.js +0 -99
  372. package/dest/avm/journal/public_storage.d.ts.map +0 -1
  373. package/dest/avm/journal/public_storage.js +0 -159
  374. package/dest/avm/opcodes/accrued_substate.d.ts.map +0 -1
  375. package/dest/avm/opcodes/accrued_substate.js +0 -215
  376. package/dest/avm/opcodes/addressing_mode.d.ts.map +0 -1
  377. package/dest/avm/opcodes/addressing_mode.js +0 -81
  378. package/dest/avm/opcodes/arithmetic.d.ts.map +0 -1
  379. package/dest/avm/opcodes/arithmetic.js +0 -70
  380. package/dest/avm/opcodes/bitwise.d.ts.map +0 -1
  381. package/dest/avm/opcodes/bitwise.js +0 -90
  382. package/dest/avm/opcodes/comparators.d.ts.map +0 -1
  383. package/dest/avm/opcodes/comparators.js +0 -40
  384. package/dest/avm/opcodes/contract.d.ts.map +0 -1
  385. package/dest/avm/opcodes/contract.js +0 -63
  386. package/dest/avm/opcodes/control_flow.d.ts.map +0 -1
  387. package/dest/avm/opcodes/control_flow.js +0 -97
  388. package/dest/avm/opcodes/conversion.d.ts.map +0 -1
  389. package/dest/avm/opcodes/conversion.js +0 -64
  390. package/dest/avm/opcodes/ec_add.d.ts.map +0 -1
  391. package/dest/avm/opcodes/ec_add.js +0 -82
  392. package/dest/avm/opcodes/environment_getters.d.ts.map +0 -1
  393. package/dest/avm/opcodes/environment_getters.js +0 -78
  394. package/dest/avm/opcodes/external_calls.d.ts.map +0 -1
  395. package/dest/avm/opcodes/external_calls.js +0 -169
  396. package/dest/avm/opcodes/hashing.d.ts.map +0 -1
  397. package/dest/avm/opcodes/hashing.js +0 -103
  398. package/dest/avm/opcodes/index.d.ts.map +0 -1
  399. package/dest/avm/opcodes/index.js +0 -16
  400. package/dest/avm/opcodes/instruction.d.ts.map +0 -1
  401. package/dest/avm/opcodes/instruction.js +0 -100
  402. package/dest/avm/opcodes/instruction_impl.d.ts.map +0 -1
  403. package/dest/avm/opcodes/instruction_impl.js +0 -33
  404. package/dest/avm/opcodes/memory.d.ts.map +0 -1
  405. package/dest/avm/opcodes/memory.js +0 -226
  406. package/dest/avm/opcodes/misc.d.ts.map +0 -1
  407. package/dest/avm/opcodes/misc.js +0 -45
  408. package/dest/avm/opcodes/multi_scalar_mul.d.ts +0 -16
  409. package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +0 -1
  410. package/dest/avm/opcodes/multi_scalar_mul.js +0 -112
  411. package/dest/avm/opcodes/storage.d.ts.map +0 -1
  412. package/dest/avm/opcodes/storage.js +0 -61
  413. package/dest/avm/serialization/buffer_cursor.d.ts.map +0 -1
  414. package/dest/avm/serialization/buffer_cursor.js +0 -99
  415. package/dest/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  416. package/dest/avm/serialization/bytecode_serialization.js +0 -132
  417. package/dest/avm/serialization/instruction_serialization.d.ts.map +0 -1
  418. package/dest/avm/serialization/instruction_serialization.js +0 -187
  419. package/dest/avm/test_utils.d.ts.map +0 -1
  420. package/dest/avm/test_utils.js +0 -52
  421. package/dest/client/client_execution_context.d.ts.map +0 -1
  422. package/dest/client/client_execution_context.js +0 -392
  423. package/dest/client/db_oracle.d.ts.map +0 -1
  424. package/dest/client/db_oracle.js +0 -17
  425. package/dest/client/execution_note_cache.d.ts.map +0 -1
  426. package/dest/client/execution_note_cache.js +0 -181
  427. package/dest/client/index.d.ts +0 -16
  428. package/dest/client/index.d.ts.map +0 -1
  429. package/dest/client/index.js +0 -15
  430. package/dest/client/pick_notes.d.ts.map +0 -1
  431. package/dest/client/pick_notes.js +0 -54
  432. package/dest/client/private_execution.d.ts +0 -19
  433. package/dest/client/private_execution.d.ts.map +0 -1
  434. package/dest/client/private_execution.js +0 -72
  435. package/dest/client/simulator.d.ts +0 -60
  436. package/dest/client/simulator.d.ts.map +0 -1
  437. package/dest/client/simulator.js +0 -136
  438. package/dest/client/unconstrained_execution.d.ts.map +0 -1
  439. package/dest/client/unconstrained_execution.js +0 -30
  440. package/dest/client/view_data_oracle.d.ts.map +0 -1
  441. package/dest/client/view_data_oracle.js +0 -268
  442. package/dest/common/hashed_values_cache.d.ts.map +0 -1
  443. package/dest/common/hashed_values_cache.js +0 -50
  444. package/dest/common/simulation_provider.d.ts.map +0 -1
  445. package/dest/common/simulation_provider.js +0 -27
  446. package/dest/common.d.ts +0 -2
  447. package/dest/common.d.ts.map +0 -1
  448. package/dest/common.js +0 -2
  449. package/dest/providers/acvm_native.d.ts.map +0 -1
  450. package/dest/providers/acvm_native.js +0 -125
  451. package/dest/providers/acvm_wasm.d.ts.map +0 -1
  452. package/dest/providers/acvm_wasm.js +0 -54
  453. package/dest/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  454. package/dest/providers/factory.d.ts.map +0 -1
  455. package/dest/providers/factory.js +0 -27
  456. package/dest/providers/index.d.ts +0 -5
  457. package/dest/providers/index.d.ts.map +0 -1
  458. package/dest/providers/index.js +0 -5
  459. package/dest/public/db_interfaces.d.ts.map +0 -1
  460. package/dest/public/db_interfaces.js +0 -2
  461. package/dest/public/fee_payment.d.ts +0 -11
  462. package/dest/public/fee_payment.d.ts.map +0 -1
  463. package/dest/public/fee_payment.js +0 -21
  464. package/dest/public/public_processor.d.ts.map +0 -1
  465. package/dest/public/public_processor.js +0 -352
  466. package/dest/public/public_processor_metrics.d.ts.map +0 -1
  467. package/dest/public/public_processor_metrics.js +0 -106
  468. package/dest/public/public_tx_context.d.ts.map +0 -1
  469. package/dest/public/public_tx_context.js +0 -341
  470. package/dest/public/public_tx_simulator.d.ts.map +0 -1
  471. package/dest/public/public_tx_simulator.js +0 -333
  472. package/dest/stats/index.d.ts.map +0 -1
  473. package/dest/stats/index.js +0 -2
  474. package/dest/stats/stats.d.ts.map +0 -1
  475. package/dest/stats/stats.js +0 -11
  476. package/src/avm/avm_tree.ts +0 -887
  477. package/src/avm/opcodes/multi_scalar_mul.ts +0 -121
  478. package/src/avm/serialization/bytecode_serialization.ts +0 -212
  479. package/src/client/index.ts +0 -15
  480. package/src/common.ts +0 -1
  481. package/src/providers/index.ts +0 -4
  482. package/src/public/fee_payment.ts +0 -23
  483. /package/dest/{stats → common/stats}/index.d.ts +0 -0
  484. /package/{src/stats/index.ts → dest/common/stats/index.js} +0 -0
  485. /package/dest/{acvm → private/acvm}/index.d.ts +0 -0
  486. /package/dest/{avm → public/avm}/avm_gas.d.ts +0 -0
  487. /package/dest/{avm → public/avm}/bytecode_utils.d.ts +0 -0
  488. /package/dest/{avm → public/avm}/journal/index.d.ts +0 -0
  489. /package/{src/avm/journal/index.ts → dest/public/avm/journal/index.js} +0 -0
  490. /package/dest/{avm → public/avm}/opcodes/accrued_substate.d.ts +0 -0
  491. /package/dest/{avm → public/avm}/opcodes/addressing_mode.d.ts +0 -0
  492. /package/dest/{avm → public/avm}/opcodes/arithmetic.d.ts +0 -0
  493. /package/dest/{avm → public/avm}/opcodes/bitwise.d.ts +0 -0
  494. /package/dest/{avm → public/avm}/opcodes/comparators.d.ts +0 -0
  495. /package/dest/{avm → public/avm}/opcodes/contract.d.ts +0 -0
  496. /package/dest/{avm → public/avm}/opcodes/control_flow.d.ts +0 -0
  497. /package/dest/{avm → public/avm}/opcodes/environment_getters.d.ts +0 -0
  498. /package/dest/{avm → public/avm}/opcodes/external_calls.d.ts +0 -0
  499. /package/dest/{avm → public/avm}/opcodes/index.d.ts +0 -0
  500. /package/{src/avm/opcodes/index.ts → dest/public/avm/opcodes/index.js} +0 -0
  501. /package/dest/{avm → public/avm}/opcodes/instruction_impl.d.ts +0 -0
  502. /package/dest/{avm → public/avm}/opcodes/memory.d.ts +0 -0
  503. /package/dest/{avm → public/avm}/opcodes/storage.d.ts +0 -0
  504. /package/dest/{avm → public/avm}/serialization/buffer_cursor.d.ts +0 -0
  505. /package/src/{acvm → private/acvm}/index.ts +0 -0
  506. /package/src/{avm → public/avm}/bytecode_utils.ts +0 -0
  507. /package/src/{avm → public/avm}/opcodes/.eslintrc.cjs +0 -0
  508. /package/src/{avm → public/avm}/opcodes/accrued_substate.ts +0 -0
  509. /package/src/{avm → public/avm}/opcodes/addressing_mode.ts +0 -0
  510. /package/src/{avm → public/avm}/opcodes/arithmetic.ts +0 -0
  511. /package/src/{avm → public/avm}/opcodes/bitwise.ts +0 -0
  512. /package/src/{avm → public/avm}/opcodes/comparators.ts +0 -0
  513. /package/src/{avm → public/avm}/opcodes/environment_getters.ts +0 -0
  514. /package/src/{avm → public/avm}/opcodes/instruction_impl.ts +0 -0
  515. /package/src/{avm → public/avm}/opcodes/memory.ts +0 -0
  516. /package/src/{avm → public/avm}/opcodes/storage.ts +0 -0
  517. /package/src/{avm → public/avm}/serialization/buffer_cursor.ts +0 -0
@@ -1,5 +1,5 @@
1
- import { type ACVMField } from '../acvm_types.js';
2
- import { type TypedOracle } from './typed_oracle.js';
1
+ import type { ACVMField } from '../acvm_types.js';
2
+ import type { TypedOracle } from './typed_oracle.js';
3
3
  /**
4
4
  * A data source that has all the apis required by Aztec.nr.
5
5
  */
@@ -30,7 +30,7 @@ export declare class Oracle {
30
30
  getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<ACVMField[]>;
31
31
  storageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]>;
32
32
  storageWrite([startStorageSlot]: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
33
- emitContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): ACVMField;
33
+ emitContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): void;
34
34
  debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): void;
35
35
  callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
36
36
  enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
@@ -40,6 +40,7 @@ export declare class Oracle {
40
40
  incrementAppTaggingSecretIndexAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<void>;
41
41
  syncNotes(): Promise<void>;
42
42
  deliverNote([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [nonce]: ACVMField[], content: ACVMField[], [contentLength]: ACVMField[], [noteHash]: ACVMField[], [nullifier]: ACVMField[], [txHash]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField>;
43
+ getLogByTag([tag]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
43
44
  storeCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<void>;
44
45
  loadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
45
46
  deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../../src/private/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { ContractClassLog, LogWithTxData } from '@aztec/stdlib/logs';
5
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
6
+ import { frToBoolean, frToNumber, fromACVMField, fromBoundedVec } from '../deserialize.js';
7
+ import { toACVMField, toACVMFieldSingleOrArray } from '../serialize.js';
8
+ /**
9
+ * A data source that has all the apis required by Aztec.nr.
10
+ */ export class Oracle {
11
+ typedOracle;
12
+ constructor(typedOracle){
13
+ this.typedOracle = typedOracle;
14
+ }
15
+ getRandomField() {
16
+ const val = this.typedOracle.getRandomField();
17
+ return toACVMField(val);
18
+ }
19
+ // Since the argument is a slice, noir automatically adds a length field to oracle call.
20
+ async storeInExecutionCache(_length, values) {
21
+ const hash = await this.typedOracle.storeInExecutionCache(values.map(fromACVMField));
22
+ return toACVMField(hash);
23
+ }
24
+ async loadFromExecutionCache([returnsHash]) {
25
+ const values = await this.typedOracle.loadFromExecutionCache(fromACVMField(returnsHash));
26
+ return values.map(toACVMField);
27
+ }
28
+ async getBlockNumber() {
29
+ return toACVMField(await this.typedOracle.getBlockNumber());
30
+ }
31
+ async getContractAddress() {
32
+ return toACVMField(await this.typedOracle.getContractAddress());
33
+ }
34
+ async getVersion() {
35
+ return toACVMField(await this.typedOracle.getVersion());
36
+ }
37
+ async getChainId() {
38
+ return toACVMField(await this.typedOracle.getChainId());
39
+ }
40
+ async getKeyValidationRequest([pkMHash]) {
41
+ const { pkM, skApp } = await this.typedOracle.getKeyValidationRequest(fromACVMField(pkMHash));
42
+ return [
43
+ toACVMField(pkM.x),
44
+ toACVMField(pkM.y),
45
+ toACVMField(pkM.isInfinite),
46
+ toACVMField(skApp)
47
+ ];
48
+ }
49
+ async getContractInstance([address]) {
50
+ const instance = await this.typedOracle.getContractInstance(AztecAddress.fromField(fromACVMField(address)));
51
+ return [
52
+ instance.salt,
53
+ instance.deployer,
54
+ instance.currentContractClassId,
55
+ instance.initializationHash,
56
+ ...instance.publicKeys.toFields()
57
+ ].map(toACVMField);
58
+ }
59
+ async getMembershipWitness([blockNumber], [treeId], [leafValue]) {
60
+ const parsedBlockNumber = frToNumber(fromACVMField(blockNumber));
61
+ const parsedTreeId = frToNumber(fromACVMField(treeId));
62
+ const parsedLeafValue = fromACVMField(leafValue);
63
+ const witness = await this.typedOracle.getMembershipWitness(parsedBlockNumber, parsedTreeId, parsedLeafValue);
64
+ if (!witness) {
65
+ throw new Error(`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`);
66
+ }
67
+ return witness.map(toACVMField);
68
+ }
69
+ async getNullifierMembershipWitness([blockNumber], [nullifier]) {
70
+ const parsedBlockNumber = frToNumber(fromACVMField(blockNumber));
71
+ const parsedNullifier = fromACVMField(nullifier);
72
+ const witness = await this.typedOracle.getNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
73
+ if (!witness) {
74
+ throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
75
+ }
76
+ return witness.toFields().map(toACVMField);
77
+ }
78
+ async getLowNullifierMembershipWitness([blockNumber], [nullifier]) {
79
+ const parsedBlockNumber = frToNumber(fromACVMField(blockNumber));
80
+ const parsedNullifier = fromACVMField(nullifier);
81
+ const witness = await this.typedOracle.getLowNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
82
+ if (!witness) {
83
+ throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
84
+ }
85
+ return witness.toFields().map(toACVMField);
86
+ }
87
+ async getPublicDataTreeWitness([blockNumber], [leafSlot]) {
88
+ const parsedBlockNumber = frToNumber(fromACVMField(blockNumber));
89
+ const parsedLeafSlot = fromACVMField(leafSlot);
90
+ const witness = await this.typedOracle.getPublicDataTreeWitness(parsedBlockNumber, parsedLeafSlot);
91
+ if (!witness) {
92
+ throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
93
+ }
94
+ return witness.toFields().map(toACVMField);
95
+ }
96
+ async getBlockHeader([blockNumber]) {
97
+ const parsedBlockNumber = frToNumber(fromACVMField(blockNumber));
98
+ const header = await this.typedOracle.getBlockHeader(parsedBlockNumber);
99
+ if (!header) {
100
+ throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
101
+ }
102
+ return header.toFields().map(toACVMField);
103
+ }
104
+ async getAuthWitness([messageHash]) {
105
+ const messageHashField = fromACVMField(messageHash);
106
+ const witness = await this.typedOracle.getAuthWitness(messageHashField);
107
+ if (!witness) {
108
+ throw new Error(`Authorization not found for message hash ${messageHashField}`);
109
+ }
110
+ return witness.map(toACVMField);
111
+ }
112
+ async getPublicKeysAndPartialAddress([address]) {
113
+ const parsedAddress = AztecAddress.fromField(fromACVMField(address));
114
+ const { publicKeys, partialAddress } = await this.typedOracle.getCompleteAddress(parsedAddress);
115
+ return [
116
+ ...publicKeys.toFields(),
117
+ partialAddress
118
+ ].map(toACVMField);
119
+ }
120
+ async getNotes([storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [returnSize]) {
121
+ const noteDatas = await this.typedOracle.getNotes(fromACVMField(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(fromACVMField), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
122
+ const noteLength = noteDatas?.[0]?.note.items.length ?? 0;
123
+ if (!noteDatas.every(({ note })=>noteLength === note.items.length)) {
124
+ throw new Error('Notes should all be the same length.');
125
+ }
126
+ const contractAddress = noteDatas[0]?.contractAddress ?? Fr.ZERO;
127
+ // Values indicates whether the note is settled or transient.
128
+ const noteTypes = {
129
+ isSettled: new Fr(0),
130
+ isTransient: new Fr(1)
131
+ };
132
+ const flattenData = noteDatas.flatMap(({ nonce, note, index })=>[
133
+ nonce,
134
+ index === undefined ? noteTypes.isTransient : noteTypes.isSettled,
135
+ ...note.items
136
+ ]);
137
+ const returnFieldSize = +returnSize;
138
+ const returnData = [
139
+ noteDatas.length,
140
+ contractAddress,
141
+ ...flattenData
142
+ ].map((v)=>toACVMField(v));
143
+ if (returnData.length > returnFieldSize) {
144
+ throw new Error(`Return data size too big. Maximum ${returnFieldSize} fields. Got ${flattenData.length}.`);
145
+ }
146
+ const paddedZeros = Array(returnFieldSize - returnData.length).fill(toACVMField(0));
147
+ return returnData.concat(paddedZeros);
148
+ }
149
+ notifyCreatedNote([storageSlot], [noteTypeId], note, [noteHash], [counter]) {
150
+ this.typedOracle.notifyCreatedNote(fromACVMField(storageSlot), NoteSelector.fromField(fromACVMField(noteTypeId)), note.map(fromACVMField), fromACVMField(noteHash), +counter);
151
+ return toACVMField(0);
152
+ }
153
+ async notifyNullifiedNote([innerNullifier], [noteHash], [counter]) {
154
+ await this.typedOracle.notifyNullifiedNote(fromACVMField(innerNullifier), fromACVMField(noteHash), +counter);
155
+ return toACVMField(0);
156
+ }
157
+ async notifyCreatedNullifier([innerNullifier]) {
158
+ await this.typedOracle.notifyCreatedNullifier(fromACVMField(innerNullifier));
159
+ return toACVMField(0);
160
+ }
161
+ async checkNullifierExists([innerNullifier]) {
162
+ const exists = await this.typedOracle.checkNullifierExists(fromACVMField(innerNullifier));
163
+ return toACVMField(exists);
164
+ }
165
+ async getL1ToL2MembershipWitness([contractAddress], [messageHash], [secret]) {
166
+ const message = await this.typedOracle.getL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), fromACVMField(messageHash), fromACVMField(secret));
167
+ return message.toFields().map(toACVMField);
168
+ }
169
+ async storageRead([contractAddress], [startStorageSlot], [blockNumber], [numberOfElements]) {
170
+ const values = await this.typedOracle.storageRead(new AztecAddress(fromACVMField(contractAddress)), fromACVMField(startStorageSlot), +blockNumber, +numberOfElements);
171
+ return values.map(toACVMField);
172
+ }
173
+ async storageWrite([startStorageSlot], values) {
174
+ const newValues = await this.typedOracle.storageWrite(fromACVMField(startStorageSlot), values.map(fromACVMField));
175
+ return newValues.map(toACVMField);
176
+ }
177
+ emitContractClassLog([contractAddress], message, [counter]) {
178
+ const logPayload = message.map(fromACVMField);
179
+ const log = new ContractClassLog(new AztecAddress(fromACVMField(contractAddress)), logPayload);
180
+ this.typedOracle.emitContractClassLog(log, +counter);
181
+ }
182
+ debugLog(message, _ignoredFieldsSize, fields) {
183
+ const messageStr = message.map((acvmField)=>String.fromCharCode(fromACVMField(acvmField).toNumber())).join('');
184
+ const fieldsFr = fields.map(fromACVMField);
185
+ this.typedOracle.debugLog(messageStr, fieldsFr);
186
+ }
187
+ async callPrivateFunction([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
188
+ const { endSideEffectCounter, returnsHash } = await this.typedOracle.callPrivateFunction(AztecAddress.fromField(fromACVMField(contractAddress)), FunctionSelector.fromField(fromACVMField(functionSelector)), fromACVMField(argsHash), frToNumber(fromACVMField(sideEffectCounter)), frToBoolean(fromACVMField(isStaticCall)));
189
+ return [
190
+ endSideEffectCounter,
191
+ returnsHash
192
+ ].map(toACVMField);
193
+ }
194
+ async enqueuePublicFunctionCall([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
195
+ const newArgsHash = await this.typedOracle.enqueuePublicFunctionCall(AztecAddress.fromString(contractAddress), FunctionSelector.fromField(fromACVMField(functionSelector)), fromACVMField(argsHash), frToNumber(fromACVMField(sideEffectCounter)), frToBoolean(fromACVMField(isStaticCall)));
196
+ return toACVMField(newArgsHash);
197
+ }
198
+ async setPublicTeardownFunctionCall([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
199
+ const newArgsHash = await this.typedOracle.setPublicTeardownFunctionCall(AztecAddress.fromString(contractAddress), FunctionSelector.fromField(fromACVMField(functionSelector)), fromACVMField(argsHash), frToNumber(fromACVMField(sideEffectCounter)), frToBoolean(fromACVMField(isStaticCall)));
200
+ return toACVMField(newArgsHash);
201
+ }
202
+ notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]) {
203
+ this.typedOracle.notifySetMinRevertibleSideEffectCounter(frToNumber(fromACVMField(minRevertibleSideEffectCounter)));
204
+ }
205
+ async getIndexedTaggingSecretAsSender([sender], [recipient]) {
206
+ const taggingSecret = await this.typedOracle.getIndexedTaggingSecretAsSender(AztecAddress.fromString(sender), AztecAddress.fromString(recipient));
207
+ return taggingSecret.toFields().map(toACVMField);
208
+ }
209
+ async incrementAppTaggingSecretIndexAsSender([sender], [recipient]) {
210
+ await this.typedOracle.incrementAppTaggingSecretIndexAsSender(AztecAddress.fromString(sender), AztecAddress.fromString(recipient));
211
+ }
212
+ async syncNotes() {
213
+ await this.typedOracle.syncNotes();
214
+ }
215
+ async deliverNote([contractAddress], [storageSlot], [nonce], content, [contentLength], [noteHash], [nullifier], [txHash], [recipient]) {
216
+ // TODO(#10728): try-catch this block and return false if we get an exception so that the contract can decide what
217
+ // to do if a note fails delivery (e.g. not increment the tagging index, or add it to some pending work list).
218
+ // Delivery might fail due to temporary issues, such as poor node connectivity.
219
+ await this.typedOracle.deliverNote(AztecAddress.fromString(contractAddress), fromACVMField(storageSlot), fromACVMField(nonce), fromBoundedVec(content, contentLength), fromACVMField(noteHash), fromACVMField(nullifier), fromACVMField(txHash), AztecAddress.fromString(recipient));
220
+ return toACVMField(true);
221
+ }
222
+ async getLogByTag([tag]) {
223
+ const log = await this.typedOracle.getLogByTag(fromACVMField(tag));
224
+ if (log == null) {
225
+ return [
226
+ toACVMField(0),
227
+ ...LogWithTxData.noirSerializationOfEmpty().map(toACVMFieldSingleOrArray)
228
+ ];
229
+ } else {
230
+ return [
231
+ toACVMField(1),
232
+ ...log.toNoirSerialization().map(toACVMFieldSingleOrArray)
233
+ ];
234
+ }
235
+ }
236
+ async storeCapsule([contractAddress], [slot], capsule) {
237
+ await this.typedOracle.storeCapsule(AztecAddress.fromField(fromACVMField(contractAddress)), fromACVMField(slot), capsule.map(fromACVMField));
238
+ }
239
+ async loadCapsule([contractAddress], [slot], [tSize]) {
240
+ const values = await this.typedOracle.loadCapsule(AztecAddress.fromField(fromACVMField(contractAddress)), fromACVMField(slot));
241
+ // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
242
+ // with two fields: `some` (a boolean) and `value` (a field array in this case).
243
+ if (values === null) {
244
+ // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
245
+ return [
246
+ toACVMField(0),
247
+ Array(frToNumber(fromACVMField(tSize))).fill(toACVMField(0))
248
+ ];
249
+ } else {
250
+ // Data was found so we set `some` to 1 and return it along with `value`.
251
+ return [
252
+ toACVMField(1),
253
+ values.map(toACVMField)
254
+ ];
255
+ }
256
+ }
257
+ async deleteCapsule([contractAddress], [slot]) {
258
+ await this.typedOracle.deleteCapsule(AztecAddress.fromField(fromACVMField(contractAddress)), fromACVMField(slot));
259
+ }
260
+ async copyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
261
+ await this.typedOracle.copyCapsule(AztecAddress.fromField(fromACVMField(contractAddress)), fromACVMField(srcSlot), fromACVMField(dstSlot), frToNumber(fromACVMField(numEntries)));
262
+ }
263
+ }
@@ -1,11 +1,16 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type CompleteAddress, type MerkleTreeId, type Note, type NoteStatus, type NullifierMembershipWitness, type PublicDataWitness, type UnencryptedL2Log } from '@aztec/circuit-types';
4
- import { type BlockHeader, type ContractInstance, type IndexedTaggingSecret, type KeyValidationRequest, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
5
- import { type FunctionSelector, type NoteSelector } from '@aztec/foundation/abi';
6
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
3
+ import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
7
4
  import { Fr } from '@aztec/foundation/fields';
8
- import { type MessageLoadOracleInputs } from '../../common/message_load_oracle_inputs.js';
5
+ import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
+ import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
8
+ import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
9
+ import type { ContractClassLog, IndexedTaggingSecret, LogWithTxData } from '@aztec/stdlib/logs';
10
+ import type { Note, NoteStatus } from '@aztec/stdlib/note';
11
+ import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
12
+ import type { BlockHeader } from '@aztec/stdlib/tx';
13
+ import type { MessageLoadOracleInputs } from '../../../common/message_load_oracle_inputs.js';
9
14
  /**
10
15
  * Information about a note needed during execution.
11
16
  */
@@ -55,7 +60,7 @@ export declare abstract class TypedOracle {
55
60
  getL1ToL2MembershipWitness(_contractAddress: AztecAddress, _messageHash: Fr, _secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
56
61
  storageRead(_contractAddress: AztecAddress, _startStorageSlot: Fr, _blockNumber: number, _numberOfElements: number): Promise<Fr[]>;
57
62
  storageWrite(_startStorageSlot: Fr, _values: Fr[]): Promise<Fr[]>;
58
- emitContractClassLog(_log: UnencryptedL2Log, _counter: number): Fr;
63
+ emitContractClassLog(_log: ContractClassLog, _counter: number): void;
59
64
  callPrivateFunction(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<{
60
65
  endSideEffectCounter: Fr;
61
66
  returnsHash: Fr;
@@ -68,6 +73,7 @@ export declare abstract class TypedOracle {
68
73
  incrementAppTaggingSecretIndexAsSender(_sender: AztecAddress, _recipient: AztecAddress): Promise<void>;
69
74
  syncNotes(): Promise<void>;
70
75
  deliverNote(_contractAddress: AztecAddress, _storageSlot: Fr, _nonce: Fr, _content: Fr[], _noteHash: Fr, _nullifier: Fr, _txHash: Fr, _recipient: AztecAddress): Promise<void>;
76
+ getLogByTag(_tag: Fr): Promise<LogWithTxData | null>;
71
77
  storeCapsule(_contractAddress: AztecAddress, _key: Fr, _capsule: Fr[]): Promise<void>;
72
78
  loadCapsule(_contractAddress: AztecAddress, _key: Fr): Promise<Fr[] | null>;
73
79
  deleteCapsule(_contractAddress: AztecAddress, _key: Fr): Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed_oracle.d.ts","sourceRoot":"","sources":["../../../../src/private/acvm/oracle/typed_oracle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ class OracleMethodNotAvailableError extends Error {
3
+ constructor(methodName){
4
+ super(`Oracle method ${methodName} is not available.`);
5
+ }
6
+ }
7
+ /**
8
+ * Oracle with typed parameters and typed return values.
9
+ * Methods that require read and/or write will have to be implemented based on the context (public, private, or view)
10
+ * and are unavailable by default.
11
+ */ export class TypedOracle {
12
+ getRandomField() {
13
+ return Fr.random();
14
+ }
15
+ storeInExecutionCache(_values) {
16
+ return Promise.reject(new OracleMethodNotAvailableError('storeInExecutionCache'));
17
+ }
18
+ loadFromExecutionCache(_hash) {
19
+ return Promise.reject(new OracleMethodNotAvailableError('loadFromExecutionCache'));
20
+ }
21
+ getBlockNumber() {
22
+ return Promise.reject(new OracleMethodNotAvailableError('getBlockNumber'));
23
+ }
24
+ getContractAddress() {
25
+ return Promise.reject(new OracleMethodNotAvailableError('getContractAddress'));
26
+ }
27
+ getChainId() {
28
+ return Promise.reject(new OracleMethodNotAvailableError('getChainId'));
29
+ }
30
+ getVersion() {
31
+ return Promise.reject(new OracleMethodNotAvailableError('getVersion'));
32
+ }
33
+ getKeyValidationRequest(_pkMHash) {
34
+ return Promise.reject(new OracleMethodNotAvailableError('getKeyValidationRequest'));
35
+ }
36
+ getContractInstance(_address) {
37
+ return Promise.reject(new OracleMethodNotAvailableError('getContractInstance'));
38
+ }
39
+ getMembershipWitness(_blockNumber, _treeId, _leafValue) {
40
+ return Promise.reject(new OracleMethodNotAvailableError('getMembershipWitness'));
41
+ }
42
+ getNullifierMembershipWitness(_blockNumber, _nullifier) {
43
+ return Promise.reject(new OracleMethodNotAvailableError('getNullifierMembershipWitness'));
44
+ }
45
+ getPublicDataTreeWitness(_blockNumber, _leafSlot) {
46
+ return Promise.reject(new OracleMethodNotAvailableError('getPublicDataTreeWitness'));
47
+ }
48
+ getLowNullifierMembershipWitness(_blockNumber, _nullifier) {
49
+ return Promise.reject(new OracleMethodNotAvailableError('getLowNullifierMembershipWitness'));
50
+ }
51
+ getBlockHeader(_blockNumber) {
52
+ return Promise.reject(new OracleMethodNotAvailableError('getBlockHeader'));
53
+ }
54
+ getCompleteAddress(_account) {
55
+ return Promise.reject(new OracleMethodNotAvailableError('getCompleteAddress'));
56
+ }
57
+ getAuthWitness(_messageHash) {
58
+ return Promise.reject(new OracleMethodNotAvailableError('getAuthWitness'));
59
+ }
60
+ getNotes(_storageSlot, _numSelects, _selectByIndexes, _selectByOffsets, _selectByLengths, _selectValues, _selectComparators, _sortByIndexes, _sortByOffsets, _sortByLengths, _sortOrder, _limit, _offset, _status) {
61
+ return Promise.reject(new OracleMethodNotAvailableError('getNotes'));
62
+ }
63
+ notifyCreatedNote(_storageSlot, _noteTypeId, _note, _noteHash, _counter) {
64
+ throw new OracleMethodNotAvailableError('notifyCreatedNote');
65
+ }
66
+ notifyNullifiedNote(_innerNullifier, _noteHash, _counter) {
67
+ return Promise.reject(new OracleMethodNotAvailableError('notifyNullifiedNote'));
68
+ }
69
+ notifyCreatedNullifier(_innerNullifier) {
70
+ return Promise.reject(new OracleMethodNotAvailableError('notifyCreatedNullifier'));
71
+ }
72
+ checkNullifierExists(_innerNullifier) {
73
+ return Promise.reject(new OracleMethodNotAvailableError('checkNullifierExists'));
74
+ }
75
+ getL1ToL2MembershipWitness(_contractAddress, _messageHash, _secret) {
76
+ return Promise.reject(new OracleMethodNotAvailableError('getL1ToL2MembershipWitness'));
77
+ }
78
+ storageRead(_contractAddress, _startStorageSlot, _blockNumber, _numberOfElements) {
79
+ return Promise.reject(new OracleMethodNotAvailableError('storageRead'));
80
+ }
81
+ storageWrite(_startStorageSlot, _values) {
82
+ return Promise.reject(new OracleMethodNotAvailableError('storageWrite'));
83
+ }
84
+ emitContractClassLog(_log, _counter) {
85
+ throw new OracleMethodNotAvailableError('emitContractClassLog');
86
+ }
87
+ callPrivateFunction(_targetContractAddress, _functionSelector, _argsHash, _sideEffectCounter, _isStaticCall) {
88
+ return Promise.reject(new OracleMethodNotAvailableError('callPrivateFunction'));
89
+ }
90
+ enqueuePublicFunctionCall(_targetContractAddress, _functionSelector, _argsHash, _sideEffectCounter, _isStaticCall) {
91
+ return Promise.reject(new OracleMethodNotAvailableError('enqueuePublicFunctionCall'));
92
+ }
93
+ setPublicTeardownFunctionCall(_targetContractAddress, _functionSelector, _argsHash, _sideEffectCounter, _isStaticCall) {
94
+ return Promise.reject(new OracleMethodNotAvailableError('setPublicTeardownFunctionCall'));
95
+ }
96
+ notifySetMinRevertibleSideEffectCounter(_minRevertibleSideEffectCounter) {
97
+ throw new OracleMethodNotAvailableError('notifySetMinRevertibleSideEffectCounter');
98
+ }
99
+ debugLog(_message, _fields) {
100
+ throw new OracleMethodNotAvailableError('debugLog');
101
+ }
102
+ getIndexedTaggingSecretAsSender(_sender, _recipient) {
103
+ return Promise.reject(new OracleMethodNotAvailableError('getIndexedTaggingSecretAsSender'));
104
+ }
105
+ incrementAppTaggingSecretIndexAsSender(_sender, _recipient) {
106
+ return Promise.reject(new OracleMethodNotAvailableError('incrementAppTaggingSecretIndexAsSender'));
107
+ }
108
+ syncNotes() {
109
+ return Promise.reject(new OracleMethodNotAvailableError('syncNotes'));
110
+ }
111
+ deliverNote(_contractAddress, _storageSlot, _nonce, _content, _noteHash, _nullifier, _txHash, _recipient) {
112
+ return Promise.reject(new OracleMethodNotAvailableError('deliverNote'));
113
+ }
114
+ getLogByTag(_tag) {
115
+ throw new OracleMethodNotAvailableError('getLogByTag');
116
+ }
117
+ storeCapsule(_contractAddress, _key, _capsule) {
118
+ return Promise.reject(new OracleMethodNotAvailableError('storeCapsule'));
119
+ }
120
+ loadCapsule(_contractAddress, _key) {
121
+ return Promise.reject(new OracleMethodNotAvailableError('loadCapsule'));
122
+ }
123
+ deleteCapsule(_contractAddress, _key) {
124
+ return Promise.reject(new OracleMethodNotAvailableError('deleteCapsule'));
125
+ }
126
+ copyCapsule(_contractAddress, _srcKey, _dstKey, _numEntries) {
127
+ return Promise.reject(new OracleMethodNotAvailableError('copyCapsule'));
128
+ }
129
+ aes128Decrypt(_ciphertext, _iv, _symKey) {
130
+ return Promise.reject(new OracleMethodNotAvailableError('aes128Decrypt'));
131
+ }
132
+ }
@@ -1,15 +1,19 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
4
- import { type EthAddress } from '@aztec/foundation/eth-address';
3
+ import type { EthAddress } from '@aztec/foundation/eth-address';
5
4
  import { Fr } from '@aztec/foundation/fields';
6
- import { type ACVMField } from './acvm_types.js';
5
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
+ import type { ACVMField } from './acvm_types.js';
7
7
  /**
8
8
  * Converts a value to an ACVM field.
9
9
  * @param value - The value to convert.
10
10
  * @returns The ACVM field.
11
11
  */
12
12
  export declare function toACVMField(value: AztecAddress | EthAddress | Fr | Buffer | boolean | number | bigint | ACVMField): ACVMField;
13
+ /**
14
+ * Converts a single value or an array of single values into the equivalent ACVM field representation.
15
+ */
16
+ export declare function toACVMFieldSingleOrArray(value: Fr | Fr[]): string | string[];
13
17
  /**
14
18
  * Inserts a list of ACVM fields to a witness.
15
19
  * @param witnessStartIndex - The index where to start inserting the fields.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/private/acvm/serialize.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgBjD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GACrF,SAAS,CAYX;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,qBAExD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,uBAKnG"}
@@ -0,0 +1,46 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ /**
3
+ * Adapts the buffer to the field size.
4
+ * @param originalBuf - The buffer to adapt.
5
+ * @returns The adapted buffer.
6
+ */ function adaptBufferSize(originalBuf) {
7
+ const buffer = Buffer.alloc(Fr.SIZE_IN_BYTES);
8
+ if (originalBuf.length > buffer.length) {
9
+ throw new Error('Buffer does not fit in field');
10
+ }
11
+ originalBuf.copy(buffer, buffer.length - originalBuf.length);
12
+ return buffer;
13
+ }
14
+ /**
15
+ * Converts a value to an ACVM field.
16
+ * @param value - The value to convert.
17
+ * @returns The ACVM field.
18
+ */ export function toACVMField(value) {
19
+ let buffer;
20
+ if (Buffer.isBuffer(value)) {
21
+ buffer = value;
22
+ } else if (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'bigint') {
23
+ buffer = new Fr(value).toBuffer();
24
+ } else if (typeof value === 'string') {
25
+ buffer = Fr.fromHexString(value).toBuffer();
26
+ } else {
27
+ buffer = value.toBuffer();
28
+ }
29
+ return `0x${adaptBufferSize(buffer).toString('hex')}`;
30
+ }
31
+ /**
32
+ * Converts a single value or an array of single values into the equivalent ACVM field representation.
33
+ */ export function toACVMFieldSingleOrArray(value) {
34
+ return Array.isArray(value) ? value.map(toACVMField) : toACVMField(value);
35
+ }
36
+ /**
37
+ * Inserts a list of ACVM fields to a witness.
38
+ * @param witnessStartIndex - The index where to start inserting the fields.
39
+ * @param fields - The fields to insert.
40
+ * @returns The witness.
41
+ */ export function toACVMWitness(witnessStartIndex, fields) {
42
+ return fields.reduce((witness, field, index)=>{
43
+ witness.set(index + witnessStartIndex, toACVMField(field));
44
+ return witness;
45
+ }, new Map());
46
+ }
@@ -1,13 +1,16 @@
1
- import { type AuthWitness, type AztecNode, CountedContractClassLog, CountedPublicExecutionRequest, NoteAndSlot, type NoteStatus, type PrivateCallExecutionResult, PublicExecutionRequest, type UnencryptedL2Log } from '@aztec/circuit-types';
2
- import { type BlockHeader, CallContext, FunctionSelector, type TxContext } from '@aztec/circuits.js';
3
- import { type FunctionAbi, type NoteSelector } from '@aztec/foundation/abi';
4
- import { AztecAddress } from '@aztec/foundation/aztec-address';
5
1
  import { Fr } from '@aztec/foundation/fields';
6
- import { type NoteData } from '../acvm/index.js';
7
- import { type HashedValuesCache } from '../common/hashed_values_cache.js';
8
- import { type SimulationProvider } from '../server.js';
9
- import { type DBOracle } from './db_oracle.js';
10
- import { type ExecutionNoteCache } from './execution_note_cache.js';
2
+ import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
3
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
6
+ import type { ContractClassLog } from '@aztec/stdlib/logs';
7
+ import { type NoteStatus } from '@aztec/stdlib/note';
8
+ import { type BlockHeader, CallContext, Capsule, CountedContractClassLog, CountedPublicExecutionRequest, NoteAndSlot, PrivateCallExecutionResult, PublicExecutionRequest, type TxContext } from '@aztec/stdlib/tx';
9
+ import { type NoteData } from './acvm/index.js';
10
+ import type { DBOracle } from './db_oracle.js';
11
+ import type { ExecutionNoteCache } from './execution_note_cache.js';
12
+ import type { HashedValuesCache } from './hashed_values_cache.js';
13
+ import type { SimulationProvider } from './providers/simulation_provider.js';
11
14
  import { ViewDataOracle } from './view_data_oracle.js';
12
15
  /**
13
16
  * The execution context for a client tx simulation.
@@ -51,7 +54,7 @@ export declare class ClientExecutionContext extends ViewDataOracle {
51
54
  /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
52
55
  historicalHeader: BlockHeader,
53
56
  /** List of transient auth witnesses to be used during this simulation */
54
- authWitnesses: AuthWitness[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, db: DBOracle, node: AztecNode, provider: SimulationProvider, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[]);
57
+ authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, db: DBOracle, node: AztecNode, provider: SimulationProvider, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[]);
55
58
  /**
56
59
  * Writes the function inputs to the initial witness.
57
60
  * @param abi - The function ABI.
@@ -143,14 +146,14 @@ export declare class ClientExecutionContext extends ViewDataOracle {
143
146
  */
144
147
  notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
145
148
  /**
146
- * Emit a contract class unencrypted log.
147
- * This fn exists because sha hashing the preimage
148
- * is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it.
149
- * See private_context.nr
150
- * TODO(#8945): Contract class logs are currently sha hashes. When these are fields, delete this.
151
- * @param log - The unencrypted log to be emitted.
149
+ * Emit a contract class log.
150
+ * This fn exists because we only carry a poseidon hash through the kernels, and need to
151
+ * keep the preimage in ts for later.
152
+ * We could also return the hash here if we must save extra gates.
153
+ * @param log - The contract class log to be emitted.
154
+ * @param counter - The contract class log's counter.
152
155
  */
153
- emitContractClassLog(log: UnencryptedL2Log, counter: number): Fr;
156
+ emitContractClassLog(log: ContractClassLog, counter: number): void;
154
157
  /**
155
158
  * Calls a private function as a nested execution.
156
159
  * @param targetContractAddress - The address of the contract to call.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_execution_context.d.ts","sourceRoot":"","sources":["../../src/private/client_execution_context.ts"],"names":[],"mappings":"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"}