@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
@@ -0,0 +1,328 @@
1
+ import { AvmExecutionError, AvmParsingError, InvalidOpcodeError, InvalidProgramCounterError } from '../errors.js';
2
+ import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier, EmitUnencryptedLog, Eq, FieldDiv, GetContractInstance, GetEnvVar, Instruction, InternalCall, InternalReturn, Jump, JumpI, KeccakF1600, L1ToL2MessageExists, Lt, Lte, Mov, Mul, Not, NoteHashExists, NullifierExists, Or, Poseidon2, Return, ReturndataCopy, ReturndataSize, Revert, SLoad, SStore, SendL2ToL1Message, Set, Sha256Compression, Shl, Shr, StaticCall, Sub, ToRadixBE, Xor } from '../opcodes/index.js';
3
+ import { BufferCursor } from './buffer_cursor.js';
4
+ import { MAX_OPCODE_VALUE, Opcode } from './instruction_serialization.js';
5
+ export const INSTRUCTION_SET = new Map([
6
+ [
7
+ Opcode.ADD_8,
8
+ Add.as(Add.wireFormat8).deserialize
9
+ ],
10
+ [
11
+ Opcode.ADD_16,
12
+ Add.as(Add.wireFormat16).deserialize
13
+ ],
14
+ [
15
+ Opcode.SUB_8,
16
+ Sub.as(Sub.wireFormat8).deserialize
17
+ ],
18
+ [
19
+ Opcode.SUB_16,
20
+ Sub.as(Sub.wireFormat16).deserialize
21
+ ],
22
+ [
23
+ Opcode.MUL_8,
24
+ Mul.as(Mul.wireFormat8).deserialize
25
+ ],
26
+ [
27
+ Opcode.MUL_16,
28
+ Mul.as(Mul.wireFormat16).deserialize
29
+ ],
30
+ [
31
+ Opcode.DIV_8,
32
+ Div.as(Div.wireFormat8).deserialize
33
+ ],
34
+ [
35
+ Opcode.DIV_16,
36
+ Div.as(Div.wireFormat16).deserialize
37
+ ],
38
+ [
39
+ Opcode.FDIV_8,
40
+ FieldDiv.as(FieldDiv.wireFormat8).deserialize
41
+ ],
42
+ [
43
+ Opcode.FDIV_16,
44
+ FieldDiv.as(FieldDiv.wireFormat16).deserialize
45
+ ],
46
+ [
47
+ Opcode.EQ_8,
48
+ Eq.as(Eq.wireFormat8).deserialize
49
+ ],
50
+ [
51
+ Opcode.EQ_16,
52
+ Eq.as(Eq.wireFormat16).deserialize
53
+ ],
54
+ [
55
+ Opcode.LT_8,
56
+ Lt.as(Lt.wireFormat8).deserialize
57
+ ],
58
+ [
59
+ Opcode.LT_16,
60
+ Lt.as(Lt.wireFormat16).deserialize
61
+ ],
62
+ [
63
+ Opcode.LTE_8,
64
+ Lte.as(Lte.wireFormat8).deserialize
65
+ ],
66
+ [
67
+ Opcode.LTE_16,
68
+ Lte.as(Lte.wireFormat16).deserialize
69
+ ],
70
+ [
71
+ Opcode.AND_8,
72
+ And.as(And.wireFormat8).deserialize
73
+ ],
74
+ [
75
+ Opcode.AND_16,
76
+ And.as(And.wireFormat16).deserialize
77
+ ],
78
+ [
79
+ Opcode.OR_8,
80
+ Or.as(Or.wireFormat8).deserialize
81
+ ],
82
+ [
83
+ Opcode.OR_16,
84
+ Or.as(Or.wireFormat16).deserialize
85
+ ],
86
+ [
87
+ Opcode.XOR_8,
88
+ Xor.as(Xor.wireFormat8).deserialize
89
+ ],
90
+ [
91
+ Opcode.XOR_16,
92
+ Xor.as(Xor.wireFormat16).deserialize
93
+ ],
94
+ [
95
+ Opcode.NOT_8,
96
+ Not.as(Not.wireFormat8).deserialize
97
+ ],
98
+ [
99
+ Opcode.NOT_16,
100
+ Not.as(Not.wireFormat16).deserialize
101
+ ],
102
+ [
103
+ Opcode.SHL_8,
104
+ Shl.as(Shl.wireFormat8).deserialize
105
+ ],
106
+ [
107
+ Opcode.SHL_16,
108
+ Shl.as(Shl.wireFormat16).deserialize
109
+ ],
110
+ [
111
+ Opcode.SHR_8,
112
+ Shr.as(Shr.wireFormat8).deserialize
113
+ ],
114
+ [
115
+ Opcode.SHR_16,
116
+ Shr.as(Shr.wireFormat16).deserialize
117
+ ],
118
+ [
119
+ Opcode.CAST_8,
120
+ Cast.as(Cast.wireFormat8).deserialize
121
+ ],
122
+ [
123
+ Opcode.CAST_16,
124
+ Cast.as(Cast.wireFormat16).deserialize
125
+ ],
126
+ // Execution Environment
127
+ [
128
+ Opcode.GETENVVAR_16,
129
+ GetEnvVar.as(GetEnvVar.wireFormat16).deserialize
130
+ ],
131
+ [
132
+ CalldataCopy.opcode,
133
+ Instruction.deserialize.bind(CalldataCopy)
134
+ ],
135
+ [
136
+ Opcode.RETURNDATASIZE,
137
+ Instruction.deserialize.bind(ReturndataSize)
138
+ ],
139
+ [
140
+ Opcode.RETURNDATACOPY,
141
+ Instruction.deserialize.bind(ReturndataCopy)
142
+ ],
143
+ // Machine State - Internal Control Flow
144
+ [
145
+ Jump.opcode,
146
+ Instruction.deserialize.bind(Jump)
147
+ ],
148
+ [
149
+ JumpI.opcode,
150
+ Instruction.deserialize.bind(JumpI)
151
+ ],
152
+ [
153
+ InternalCall.opcode,
154
+ Instruction.deserialize.bind(InternalCall)
155
+ ],
156
+ [
157
+ InternalReturn.opcode,
158
+ Instruction.deserialize.bind(InternalReturn)
159
+ ],
160
+ [
161
+ Opcode.SET_8,
162
+ Set.as(Set.wireFormat8).deserialize
163
+ ],
164
+ [
165
+ Opcode.SET_16,
166
+ Set.as(Set.wireFormat16).deserialize
167
+ ],
168
+ [
169
+ Opcode.SET_32,
170
+ Set.as(Set.wireFormat32).deserialize
171
+ ],
172
+ [
173
+ Opcode.SET_64,
174
+ Set.as(Set.wireFormat64).deserialize
175
+ ],
176
+ [
177
+ Opcode.SET_128,
178
+ Set.as(Set.wireFormat128).deserialize
179
+ ],
180
+ [
181
+ Opcode.SET_FF,
182
+ Set.as(Set.wireFormatFF).deserialize
183
+ ],
184
+ [
185
+ Opcode.MOV_8,
186
+ Mov.as(Mov.wireFormat8).deserialize
187
+ ],
188
+ [
189
+ Opcode.MOV_16,
190
+ Mov.as(Mov.wireFormat16).deserialize
191
+ ],
192
+ // World State
193
+ [
194
+ SLoad.opcode,
195
+ Instruction.deserialize.bind(SLoad)
196
+ ],
197
+ [
198
+ SStore.opcode,
199
+ Instruction.deserialize.bind(SStore)
200
+ ],
201
+ [
202
+ NoteHashExists.opcode,
203
+ Instruction.deserialize.bind(NoteHashExists)
204
+ ],
205
+ [
206
+ EmitNoteHash.opcode,
207
+ Instruction.deserialize.bind(EmitNoteHash)
208
+ ],
209
+ [
210
+ NullifierExists.opcode,
211
+ Instruction.deserialize.bind(NullifierExists)
212
+ ],
213
+ [
214
+ EmitNullifier.opcode,
215
+ Instruction.deserialize.bind(EmitNullifier)
216
+ ],
217
+ [
218
+ L1ToL2MessageExists.opcode,
219
+ Instruction.deserialize.bind(L1ToL2MessageExists)
220
+ ],
221
+ // Accrued Substate
222
+ [
223
+ EmitUnencryptedLog.opcode,
224
+ Instruction.deserialize.bind(EmitUnencryptedLog)
225
+ ],
226
+ [
227
+ SendL2ToL1Message.opcode,
228
+ Instruction.deserialize.bind(SendL2ToL1Message)
229
+ ],
230
+ [
231
+ GetContractInstance.opcode,
232
+ Instruction.deserialize.bind(GetContractInstance)
233
+ ],
234
+ // Control Flow - Contract Calls
235
+ [
236
+ Call.opcode,
237
+ Instruction.deserialize.bind(Call)
238
+ ],
239
+ [
240
+ StaticCall.opcode,
241
+ Instruction.deserialize.bind(StaticCall)
242
+ ],
243
+ [
244
+ Return.opcode,
245
+ Instruction.deserialize.bind(Return)
246
+ ],
247
+ [
248
+ Opcode.REVERT_8,
249
+ Revert.as(Revert.wireFormat8).deserialize
250
+ ],
251
+ [
252
+ Opcode.REVERT_16,
253
+ Revert.as(Revert.wireFormat16).deserialize
254
+ ],
255
+ // Misc
256
+ [
257
+ DebugLog.opcode,
258
+ Instruction.deserialize.bind(DebugLog)
259
+ ],
260
+ // Gadgets
261
+ [
262
+ EcAdd.opcode,
263
+ Instruction.deserialize.bind(EcAdd)
264
+ ],
265
+ [
266
+ Poseidon2.opcode,
267
+ Instruction.deserialize.bind(Poseidon2)
268
+ ],
269
+ [
270
+ Sha256Compression.opcode,
271
+ Instruction.deserialize.bind(Sha256Compression)
272
+ ],
273
+ [
274
+ KeccakF1600.opcode,
275
+ Instruction.deserialize.bind(KeccakF1600)
276
+ ],
277
+ // Conversions
278
+ [
279
+ ToRadixBE.opcode,
280
+ Instruction.deserialize.bind(ToRadixBE)
281
+ ]
282
+ ]);
283
+ /**
284
+ * Serializes an array of instructions to bytecode.
285
+ */ export function encodeToBytecode(instructions) {
286
+ return Buffer.concat(instructions.map((i)=>i.serialize()));
287
+ }
288
+ // For testing only
289
+ export function decodeFromBytecode(bytecode, instructionSet = INSTRUCTION_SET) {
290
+ const instructions = [];
291
+ let pc = 0;
292
+ while(pc < bytecode.length){
293
+ const [instruction, bytesConsumed] = decodeInstructionFromBytecode(bytecode, pc, instructionSet);
294
+ instructions.push(instruction);
295
+ pc += bytesConsumed;
296
+ }
297
+ return instructions;
298
+ }
299
+ // Returns the instruction and the number of bytes consumed.
300
+ export function decodeInstructionFromBytecode(bytecode, pc, instructionSet = INSTRUCTION_SET) {
301
+ if (pc >= bytecode.length) {
302
+ throw new InvalidProgramCounterError(pc, bytecode.length);
303
+ }
304
+ try {
305
+ const cursor = new BufferCursor(bytecode, pc);
306
+ const startingPosition = cursor.position();
307
+ const opcode = cursor.bufferAtPosition().readUint8(); // peek.
308
+ if (opcode > MAX_OPCODE_VALUE) {
309
+ throw new InvalidOpcodeError(`Opcode ${opcode} (0x${opcode.toString(16)}) value is not in the range of valid opcodes.`);
310
+ }
311
+ const instructionDeserializerOrUndef = instructionSet.get(opcode);
312
+ if (instructionDeserializerOrUndef === undefined) {
313
+ throw new InvalidOpcodeError(`Opcode ${Opcode[opcode]} (0x${opcode.toString(16)}) is not implemented`);
314
+ }
315
+ const instructionDeserializer = instructionDeserializerOrUndef;
316
+ const instruction = instructionDeserializer(cursor);
317
+ return [
318
+ instruction,
319
+ cursor.position() - startingPosition
320
+ ];
321
+ } catch (error) {
322
+ if (error instanceof InvalidOpcodeError || error instanceof AvmExecutionError) {
323
+ throw error;
324
+ } else {
325
+ throw new AvmParsingError(`${error}`);
326
+ }
327
+ }
328
+ }
@@ -72,8 +72,7 @@ export declare enum Opcode {
72
72
  SHA256COMPRESSION = 63,
73
73
  KECCAKF1600 = 64,
74
74
  ECADD = 65,
75
- MSM = 66,
76
- TORADIXBE = 67
75
+ TORADIXBE = 66
77
76
  }
78
77
  export declare const MAX_OPCODE_VALUE: number;
79
78
  export declare enum OperandType {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAMF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;CACH;AAmDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAcvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
@@ -0,0 +1,225 @@
1
+ import { strict as assert } from 'assert';
2
+ import { BufferCursor } from './buffer_cursor.js';
3
+ /**
4
+ * All AVM opcodes. (Keep in sync with cpp counterpart code avm_opcode.hpp and rs in opcodes.rs).
5
+ * Source: https://yp-aztec.netlify.app/docs/public-vm/instruction-set
6
+ */ export var Opcode = /*#__PURE__*/ function(Opcode) {
7
+ // Compute
8
+ Opcode[Opcode["ADD_8"] = 0] = "ADD_8";
9
+ Opcode[Opcode["ADD_16"] = 1] = "ADD_16";
10
+ Opcode[Opcode["SUB_8"] = 2] = "SUB_8";
11
+ Opcode[Opcode["SUB_16"] = 3] = "SUB_16";
12
+ Opcode[Opcode["MUL_8"] = 4] = "MUL_8";
13
+ Opcode[Opcode["MUL_16"] = 5] = "MUL_16";
14
+ Opcode[Opcode["DIV_8"] = 6] = "DIV_8";
15
+ Opcode[Opcode["DIV_16"] = 7] = "DIV_16";
16
+ Opcode[Opcode["FDIV_8"] = 8] = "FDIV_8";
17
+ Opcode[Opcode["FDIV_16"] = 9] = "FDIV_16";
18
+ Opcode[Opcode["EQ_8"] = 10] = "EQ_8";
19
+ Opcode[Opcode["EQ_16"] = 11] = "EQ_16";
20
+ Opcode[Opcode["LT_8"] = 12] = "LT_8";
21
+ Opcode[Opcode["LT_16"] = 13] = "LT_16";
22
+ Opcode[Opcode["LTE_8"] = 14] = "LTE_8";
23
+ Opcode[Opcode["LTE_16"] = 15] = "LTE_16";
24
+ Opcode[Opcode["AND_8"] = 16] = "AND_8";
25
+ Opcode[Opcode["AND_16"] = 17] = "AND_16";
26
+ Opcode[Opcode["OR_8"] = 18] = "OR_8";
27
+ Opcode[Opcode["OR_16"] = 19] = "OR_16";
28
+ Opcode[Opcode["XOR_8"] = 20] = "XOR_8";
29
+ Opcode[Opcode["XOR_16"] = 21] = "XOR_16";
30
+ Opcode[Opcode["NOT_8"] = 22] = "NOT_8";
31
+ Opcode[Opcode["NOT_16"] = 23] = "NOT_16";
32
+ Opcode[Opcode["SHL_8"] = 24] = "SHL_8";
33
+ Opcode[Opcode["SHL_16"] = 25] = "SHL_16";
34
+ Opcode[Opcode["SHR_8"] = 26] = "SHR_8";
35
+ Opcode[Opcode["SHR_16"] = 27] = "SHR_16";
36
+ Opcode[Opcode["CAST_8"] = 28] = "CAST_8";
37
+ Opcode[Opcode["CAST_16"] = 29] = "CAST_16";
38
+ // Execution environment
39
+ Opcode[Opcode["GETENVVAR_16"] = 30] = "GETENVVAR_16";
40
+ Opcode[Opcode["CALLDATACOPY"] = 31] = "CALLDATACOPY";
41
+ Opcode[Opcode["RETURNDATASIZE"] = 32] = "RETURNDATASIZE";
42
+ Opcode[Opcode["RETURNDATACOPY"] = 33] = "RETURNDATACOPY";
43
+ // Control flow
44
+ Opcode[Opcode["JUMP_32"] = 34] = "JUMP_32";
45
+ Opcode[Opcode["JUMPI_32"] = 35] = "JUMPI_32";
46
+ Opcode[Opcode["INTERNALCALL"] = 36] = "INTERNALCALL";
47
+ Opcode[Opcode["INTERNALRETURN"] = 37] = "INTERNALRETURN";
48
+ // Memory
49
+ Opcode[Opcode["SET_8"] = 38] = "SET_8";
50
+ Opcode[Opcode["SET_16"] = 39] = "SET_16";
51
+ Opcode[Opcode["SET_32"] = 40] = "SET_32";
52
+ Opcode[Opcode["SET_64"] = 41] = "SET_64";
53
+ Opcode[Opcode["SET_128"] = 42] = "SET_128";
54
+ Opcode[Opcode["SET_FF"] = 43] = "SET_FF";
55
+ Opcode[Opcode["MOV_8"] = 44] = "MOV_8";
56
+ Opcode[Opcode["MOV_16"] = 45] = "MOV_16";
57
+ // World state
58
+ Opcode[Opcode["SLOAD"] = 46] = "SLOAD";
59
+ Opcode[Opcode["SSTORE"] = 47] = "SSTORE";
60
+ Opcode[Opcode["NOTEHASHEXISTS"] = 48] = "NOTEHASHEXISTS";
61
+ Opcode[Opcode["EMITNOTEHASH"] = 49] = "EMITNOTEHASH";
62
+ Opcode[Opcode["NULLIFIEREXISTS"] = 50] = "NULLIFIEREXISTS";
63
+ Opcode[Opcode["EMITNULLIFIER"] = 51] = "EMITNULLIFIER";
64
+ Opcode[Opcode["L1TOL2MSGEXISTS"] = 52] = "L1TOL2MSGEXISTS";
65
+ Opcode[Opcode["GETCONTRACTINSTANCE"] = 53] = "GETCONTRACTINSTANCE";
66
+ Opcode[Opcode["EMITUNENCRYPTEDLOG"] = 54] = "EMITUNENCRYPTEDLOG";
67
+ Opcode[Opcode["SENDL2TOL1MSG"] = 55] = "SENDL2TOL1MSG";
68
+ // External calls
69
+ Opcode[Opcode["CALL"] = 56] = "CALL";
70
+ Opcode[Opcode["STATICCALL"] = 57] = "STATICCALL";
71
+ Opcode[Opcode["RETURN"] = 58] = "RETURN";
72
+ Opcode[Opcode["REVERT_8"] = 59] = "REVERT_8";
73
+ Opcode[Opcode["REVERT_16"] = 60] = "REVERT_16";
74
+ // Misc
75
+ Opcode[Opcode["DEBUGLOG"] = 61] = "DEBUGLOG";
76
+ // Gadgets
77
+ Opcode[Opcode["POSEIDON2"] = 62] = "POSEIDON2";
78
+ Opcode[Opcode["SHA256COMPRESSION"] = 63] = "SHA256COMPRESSION";
79
+ Opcode[Opcode["KECCAKF1600"] = 64] = "KECCAKF1600";
80
+ Opcode[Opcode["ECADD"] = 65] = "ECADD";
81
+ // Conversion
82
+ Opcode[Opcode["TORADIXBE"] = 66] = "TORADIXBE";
83
+ return Opcode;
84
+ }({});
85
+ export const MAX_OPCODE_VALUE = Math.max(...Object.values(Opcode).map((k)=>+k).filter((k)=>!isNaN(k)));
86
+ // Possible types for an instruction's operand in its wire format. (Keep in sync with CPP code.
87
+ // See vm/avm_trace/deserialization.cpp)
88
+ // Note that cpp code introduced an additional enum value TAG to express the instruction tag. In TS,
89
+ // this one is parsed as UINT8.
90
+ export var OperandType = /*#__PURE__*/ function(OperandType) {
91
+ OperandType[OperandType["UINT8"] = 0] = "UINT8";
92
+ OperandType[OperandType["UINT16"] = 1] = "UINT16";
93
+ OperandType[OperandType["UINT32"] = 2] = "UINT32";
94
+ OperandType[OperandType["UINT64"] = 3] = "UINT64";
95
+ OperandType[OperandType["UINT128"] = 4] = "UINT128";
96
+ OperandType[OperandType["FF"] = 5] = "FF";
97
+ return OperandType;
98
+ }({});
99
+ // Specifies how to read and write each operand type.
100
+ const OPERAND_SPEC = new Map([
101
+ [
102
+ 0,
103
+ [
104
+ 1,
105
+ Buffer.prototype.readUint8,
106
+ Buffer.prototype.writeUint8
107
+ ]
108
+ ],
109
+ [
110
+ 1,
111
+ [
112
+ 2,
113
+ Buffer.prototype.readUint16BE,
114
+ Buffer.prototype.writeUint16BE
115
+ ]
116
+ ],
117
+ [
118
+ 2,
119
+ [
120
+ 4,
121
+ Buffer.prototype.readUint32BE,
122
+ Buffer.prototype.writeUint32BE
123
+ ]
124
+ ],
125
+ [
126
+ 3,
127
+ [
128
+ 8,
129
+ Buffer.prototype.readBigInt64BE,
130
+ Buffer.prototype.writeBigInt64BE
131
+ ]
132
+ ],
133
+ [
134
+ 4,
135
+ [
136
+ 16,
137
+ readBigInt128BE,
138
+ writeBigInt128BE
139
+ ]
140
+ ],
141
+ [
142
+ 5,
143
+ [
144
+ 32,
145
+ readBigInt254BE,
146
+ writeBigInt254BE
147
+ ]
148
+ ]
149
+ ]);
150
+ function readBigInt254BE(offset) {
151
+ const totalBytes = 32;
152
+ let ret = 0n;
153
+ for(let i = 0; i < totalBytes; ++i){
154
+ ret <<= 8n;
155
+ ret |= BigInt(this.readUint8(i + offset));
156
+ }
157
+ return ret;
158
+ }
159
+ function writeBigInt254BE(value) {
160
+ const totalBytes = 32;
161
+ for(let offset = totalBytes - 1; offset >= 0; --offset){
162
+ this.writeUint8(Number(value & 0xffn), offset);
163
+ value >>= 8n;
164
+ }
165
+ }
166
+ function readBigInt128BE(offset) {
167
+ const totalBytes = 16;
168
+ let ret = 0n;
169
+ for(let i = 0; i < totalBytes; ++i){
170
+ ret <<= 8n;
171
+ ret |= BigInt(this.readUint8(i + offset));
172
+ }
173
+ return ret;
174
+ }
175
+ function writeBigInt128BE(value) {
176
+ const totalBytes = 16;
177
+ for(let offset = totalBytes - 1; offset >= 0; --offset){
178
+ this.writeUint8(Number(value & 0xffn), offset);
179
+ value >>= 8n;
180
+ }
181
+ }
182
+ /**
183
+ * Reads an array of operands from a buffer.
184
+ * @param cursor Buffer to read from. Might be longer than needed.
185
+ * @param operands Specification of the operand types.
186
+ * @returns An array as big as {@code operands}, with the converted TS values.
187
+ */ export function deserialize(cursor, operands) {
188
+ const argValues = [];
189
+ if (Buffer.isBuffer(cursor)) {
190
+ cursor = new BufferCursor(cursor);
191
+ }
192
+ for (const op of operands){
193
+ const opType = op;
194
+ const [sizeBytes, reader, _writer] = OPERAND_SPEC.get(opType);
195
+ argValues.push(reader.call(cursor.buffer(), cursor.position()));
196
+ cursor.advance(sizeBytes);
197
+ }
198
+ return argValues;
199
+ }
200
+ /**
201
+ * Serializes a class using the specified operand types.
202
+ * More specifically, this serializes {@code [cls.constructor.opcode, ...Object.values(cls)]}.
203
+ * Observe in particular that:
204
+ * (1) the first operand type specified must correspond to the opcode;
205
+ * (2) the rest of the operand types must be specified in the order returned by {@code Object.values()}.
206
+ * @param operands Type specification for the values to be serialized.
207
+ * @param cls The class to be serialized.
208
+ * @returns
209
+ */ export function serializeAs(operands, opcode, cls) {
210
+ const chunks = [];
211
+ const rawClassValues = [
212
+ opcode,
213
+ ...Object.values(cls)
214
+ ];
215
+ assert(rawClassValues.length === operands.length, `Got ${rawClassValues.length} values but only ${operands.length} serialization operands are specified!`);
216
+ const classValues = rawClassValues;
217
+ for(let i = 0; i < operands.length; i++){
218
+ const opType = operands[i];
219
+ const [sizeBytes, _reader, writer] = OPERAND_SPEC.get(opType);
220
+ const buf = Buffer.alloc(sizeBytes);
221
+ writer.call(buf, classValues[i]);
222
+ chunks.push(buf);
223
+ }
224
+ return Buffer.concat(chunks);
225
+ }
@@ -1,15 +1,17 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type ContractClassPublic, type ContractInstanceWithAddress, Fr } from '@aztec/circuits.js';
4
- import { type WorldStateDB } from '../public/public_db_sources.js';
5
- import { type PublicSideEffectTraceInterface } from '../public/side_effect_trace_interface.js';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { type ContractClassPublic, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
5
+ import type { WorldStateDB } from '../../public/public_db_sources.js';
6
+ import type { PublicSideEffectTraceInterface } from '../side_effect_trace_interface.js';
6
7
  export declare function mockGetBytecode(worldStateDB: WorldStateDB, bytecode: Buffer): Promise<void>;
7
8
  export declare function mockTraceFork(trace: PublicSideEffectTraceInterface, nestedTrace?: PublicSideEffectTraceInterface): void;
8
9
  export declare function mockStorageRead(worldStateDB: WorldStateDB, value: Fr): void;
9
10
  export declare function mockNoteHashCount(mockedTrace: PublicSideEffectTraceInterface, count: number): void;
10
11
  export declare function mockStorageReadWithMap(worldStateDB: WorldStateDB, mockedStorage: Map<bigint, Fr>): void;
12
+ export declare function mockGetBytecodeCommitment(worldStateDB: WorldStateDB, commitment: Fr): void;
11
13
  export declare function mockNoteHashExists(worldStateDB: WorldStateDB, _leafIndex: Fr, value?: Fr): void;
12
- export declare function mockNullifierExists(worldStateDB: WorldStateDB, leafIndex: Fr, _value?: Fr): void;
14
+ export declare function mockGetNullifierIndex(worldStateDB: WorldStateDB, leafIndex: Fr, _ignoredValue?: Fr): void;
13
15
  export declare function mockL1ToL2MessageExists(worldStateDB: WorldStateDB, leafIndex: Fr, value: Fr, valueAtOtherIndices?: Fr): void;
14
16
  export declare function mockGetContractInstance(worldStateDB: WorldStateDB, contractInstance: ContractInstanceWithAddress): void;
15
17
  export declare function mockGetContractClass(worldStateDB: WorldStateDB, contractClass: ContractClassPublic): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/test_utils.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAC;AAKhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,wBAAsB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAGjF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAE,WAAW,CAAC,EAAE,8BAA8B,QAIhH;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,QAEpE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,MAAM,QAE3F;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAIhG;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAEnF;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QASxF;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,QAElG;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,EAAE,EACb,KAAK,EAAE,EAAE,EACT,mBAAmB,CAAC,EAAE,EAAE,QAWzB;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,QAEhH;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,QAElG"}
@@ -0,0 +1,52 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { computePublicBytecodeCommitment } from '@aztec/stdlib/contract';
3
+ import { mock } from 'jest-mock-extended';
4
+ export async function mockGetBytecode(worldStateDB, bytecode) {
5
+ const commitment = await computePublicBytecodeCommitment(bytecode);
6
+ worldStateDB.getBytecodeCommitment.mockResolvedValue(commitment);
7
+ }
8
+ export function mockTraceFork(trace, nestedTrace) {
9
+ trace.fork.mockReturnValue(nestedTrace ?? mock());
10
+ }
11
+ export function mockStorageRead(worldStateDB, value) {
12
+ worldStateDB.storageRead.mockResolvedValue(value);
13
+ }
14
+ export function mockNoteHashCount(mockedTrace, count) {
15
+ mockedTrace.getNoteHashCount.mockReturnValue(count);
16
+ }
17
+ export function mockStorageReadWithMap(worldStateDB, mockedStorage) {
18
+ worldStateDB.storageRead.mockImplementation((_address, slot)=>Promise.resolve(mockedStorage.get(slot.toBigInt()) ?? Fr.ZERO));
19
+ }
20
+ export function mockGetBytecodeCommitment(worldStateDB, commitment) {
21
+ worldStateDB.getBytecodeCommitment.mockResolvedValue(commitment);
22
+ }
23
+ export function mockNoteHashExists(worldStateDB, _leafIndex, value) {
24
+ worldStateDB.getCommitmentValue.mockImplementation((index)=>{
25
+ if (index == _leafIndex.toBigInt()) {
26
+ return Promise.resolve(value);
27
+ } else {
28
+ // This is ok for now since the traceing functions handle it
29
+ return Promise.resolve(undefined);
30
+ }
31
+ });
32
+ }
33
+ export function mockGetNullifierIndex(worldStateDB, leafIndex, _ignoredValue) {
34
+ worldStateDB.getNullifierIndex.mockResolvedValue(leafIndex.toBigInt());
35
+ }
36
+ export function mockL1ToL2MessageExists(worldStateDB, leafIndex, value, valueAtOtherIndices) {
37
+ worldStateDB.getL1ToL2LeafValue.mockImplementation((index)=>{
38
+ if (index == leafIndex.toBigInt()) {
39
+ return Promise.resolve(value);
40
+ } else {
41
+ // any indices other than mockAtLeafIndex will return a different value
42
+ // (or undefined if no value is specified for other indices)
43
+ return Promise.resolve(valueAtOtherIndices);
44
+ }
45
+ });
46
+ }
47
+ export function mockGetContractInstance(worldStateDB, contractInstance) {
48
+ worldStateDB.getContractInstance.mockResolvedValue(contractInstance);
49
+ }
50
+ export function mockGetContractClass(worldStateDB, contractClass) {
51
+ worldStateDB.getContractClass.mockResolvedValue(contractClass);
52
+ }
@@ -1,7 +1,6 @@
1
1
  export class ContractClassBytecodeError extends Error {
2
- constructor(contractAddress) {
2
+ constructor(contractAddress){
3
3
  super(`Failed to get bytecode for contract at address ${contractAddress}`);
4
4
  this.name = 'ContractClassBytecodeError';
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZWNvZGVfZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9ieXRlY29kZV9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEyQixTQUFRLEtBQUs7SUFDbkQsWUFBWSxlQUF1QjtRQUNqQyxLQUFLLENBQUMsa0RBQWtELGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQztJQUMzQyxDQUFDO0NBQ0YifQ==
@@ -1,7 +1,13 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type PublicExecutionRequest, type SimulationError } from '@aztec/circuit-types';
4
- import { type AvmExecutionHints, type ContractStorageRead, type ContractStorageUpdateRequest, type Fr, Gas, type L2ToL1Message, type NoteHash, type Nullifier, type PublicDataUpdateRequest, PublicInnerCallRequest, type PublicLog, type ReadRequest, type ScopedL2ToL1Message, type TreeLeafReadRequest } from '@aztec/circuits.js';
3
+ import type { Fr } from '@aztec/foundation/fields';
4
+ import { type AvmExecutionHints, type ContractStorageRead, type ContractStorageUpdateRequest, type PublicDataUpdateRequest, PublicInnerCallRequest } from '@aztec/stdlib/avm';
5
+ import type { SimulationError } from '@aztec/stdlib/errors';
6
+ import { Gas } from '@aztec/stdlib/gas';
7
+ import type { NoteHash, Nullifier, ReadRequest, TreeLeafReadRequest } from '@aztec/stdlib/kernel';
8
+ import type { PublicLog } from '@aztec/stdlib/logs';
9
+ import type { L2ToL1Message, ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
10
+ import type { PublicExecutionRequest } from '@aztec/stdlib/tx';
5
11
  export interface PublicSideEffects {
6
12
  /** The contract storage update requests performed. */
7
13
  publicDataWrites: PublicDataUpdateRequest[];