@aztec/simulator 0.0.1-commit.24de95ac → 0.0.1-commit.2e2504e2

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 (364) hide show
  1. package/README.md +2 -0
  2. package/dest/client.d.ts +1 -1
  3. package/dest/common/errors.d.ts +2 -2
  4. package/dest/common/errors.d.ts.map +1 -1
  5. package/dest/common/index.d.ts +1 -1
  6. package/dest/common/stats/index.d.ts +1 -1
  7. package/dest/common/stats/stats.d.ts +1 -1
  8. package/dest/private/acvm/acvm.d.ts +4 -2
  9. package/dest/private/acvm/acvm.d.ts.map +1 -1
  10. package/dest/private/acvm/acvm.js +4 -3
  11. package/dest/private/acvm/acvm_types.d.ts +1 -1
  12. package/dest/private/acvm/deserialize.d.ts +2 -2
  13. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  14. package/dest/private/acvm/deserialize.js +1 -1
  15. package/dest/private/acvm/index.d.ts +1 -1
  16. package/dest/private/acvm/serialize.d.ts +2 -2
  17. package/dest/private/acvm/serialize.d.ts.map +1 -1
  18. package/dest/private/acvm/serialize.js +1 -1
  19. package/dest/private/acvm_native.d.ts +5 -3
  20. package/dest/private/acvm_native.d.ts.map +1 -1
  21. package/dest/private/acvm_native.js +8 -6
  22. package/dest/private/acvm_wasm.d.ts +4 -3
  23. package/dest/private/acvm_wasm.d.ts.map +1 -1
  24. package/dest/private/acvm_wasm.js +4 -4
  25. package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
  26. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
  27. package/dest/private/circuit_recording/circuit_recorder.d.ts +4 -3
  28. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  29. package/dest/private/circuit_recording/circuit_recorder.js +21 -18
  30. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +3 -2
  31. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  32. package/dest/private/circuit_recording/file_circuit_recorder.js +2 -2
  33. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +7 -2
  34. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  35. package/dest/private/circuit_recording/memory_circuit_recorder.js +4 -4
  36. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  37. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  38. package/dest/private/circuit_simulator.d.ts +1 -1
  39. package/dest/private/factory.d.ts +3 -3
  40. package/dest/private/factory.d.ts.map +1 -1
  41. package/dest/private/factory.js +7 -4
  42. package/dest/public/avm/avm_context.d.ts +3 -3
  43. package/dest/public/avm/avm_context.d.ts.map +1 -1
  44. package/dest/public/avm/avm_contract_call_result.d.ts +6 -6
  45. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  46. package/dest/public/avm/avm_contract_call_result.js +3 -3
  47. package/dest/public/avm/avm_execution_environment.d.ts +9 -8
  48. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  49. package/dest/public/avm/avm_execution_environment.js +5 -8
  50. package/dest/public/avm/avm_gas.d.ts +2 -2
  51. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  52. package/dest/public/avm/avm_machine_state.d.ts +7 -6
  53. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  54. package/dest/public/avm/avm_machine_state.js +3 -2
  55. package/dest/public/avm/avm_memory_types.d.ts +14 -14
  56. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  57. package/dest/public/avm/avm_memory_types.js +4 -1
  58. package/dest/public/avm/avm_simulator.d.ts +5 -3
  59. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  60. package/dest/public/avm/avm_simulator.js +13 -11
  61. package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
  62. package/dest/public/avm/calldata.d.ts +51 -0
  63. package/dest/public/avm/calldata.d.ts.map +1 -0
  64. package/dest/public/avm/calldata.js +63 -0
  65. package/dest/public/avm/errors.d.ts +8 -2
  66. package/dest/public/avm/errors.d.ts.map +1 -1
  67. package/dest/public/avm/errors.js +14 -2
  68. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
  69. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  70. package/dest/public/avm/fixtures/avm_simulation_tester.js +15 -5
  71. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +2 -2
  72. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  73. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +1 -1
  74. package/dest/public/avm/fixtures/initializers.d.ts +2 -3
  75. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  76. package/dest/public/avm/fixtures/initializers.js +8 -5
  77. package/dest/public/avm/fixtures/utils.d.ts +4 -3
  78. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  79. package/dest/public/avm/fixtures/utils.js +3 -2
  80. package/dest/public/avm/index.d.ts +1 -1
  81. package/dest/public/avm/opcodes/accrued_substate.d.ts +16 -17
  82. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  83. package/dest/public/avm/opcodes/accrued_substate.js +39 -39
  84. package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
  85. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  86. package/dest/public/avm/opcodes/addressing_mode.js +2 -2
  87. package/dest/public/avm/opcodes/arithmetic.d.ts +3 -1
  88. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  89. package/dest/public/avm/opcodes/arithmetic.js +12 -2
  90. package/dest/public/avm/opcodes/bitwise.d.ts +3 -3
  91. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  92. package/dest/public/avm/opcodes/bitwise.js +5 -5
  93. package/dest/public/avm/opcodes/comparators.d.ts +1 -1
  94. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  95. package/dest/public/avm/opcodes/comparators.js +1 -1
  96. package/dest/public/avm/opcodes/contract.d.ts +3 -3
  97. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  98. package/dest/public/avm/opcodes/contract.js +8 -8
  99. package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
  100. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  101. package/dest/public/avm/opcodes/control_flow.js +4 -4
  102. package/dest/public/avm/opcodes/conversion.d.ts +3 -3
  103. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  104. package/dest/public/avm/opcodes/conversion.js +4 -4
  105. package/dest/public/avm/opcodes/ec_add.d.ts +3 -3
  106. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  107. package/dest/public/avm/opcodes/ec_add.js +17 -8
  108. package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
  109. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  110. package/dest/public/avm/opcodes/environment_getters.js +6 -6
  111. package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
  112. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  113. package/dest/public/avm/opcodes/external_calls.js +23 -22
  114. package/dest/public/avm/opcodes/hashing.d.ts +7 -7
  115. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  116. package/dest/public/avm/opcodes/hashing.js +21 -16
  117. package/dest/public/avm/opcodes/index.d.ts +1 -1
  118. package/dest/public/avm/opcodes/instruction.d.ts +2 -2
  119. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  120. package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
  121. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  122. package/dest/public/avm/opcodes/instruction_impl.js +4 -4
  123. package/dest/public/avm/opcodes/memory.d.ts +13 -13
  124. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  125. package/dest/public/avm/opcodes/memory.js +26 -26
  126. package/dest/public/avm/opcodes/misc.d.ts +3 -3
  127. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  128. package/dest/public/avm/opcodes/misc.js +8 -8
  129. package/dest/public/avm/opcodes/storage.d.ts +14 -13
  130. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  131. package/dest/public/avm/opcodes/storage.js +34 -24
  132. package/dest/public/avm/revert_reason.d.ts +2 -2
  133. package/dest/public/avm/revert_reason.d.ts.map +1 -1
  134. package/dest/public/avm/revert_reason.js +3 -2
  135. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
  136. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  137. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  138. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  139. package/dest/public/avm/serialization/bytecode_serialization.js +9 -6
  140. package/dest/public/avm/serialization/instruction_serialization.d.ts +1 -1
  141. package/dest/public/avm/serialization/instruction_serialization.js +1 -1
  142. package/dest/public/avm/test_utils.d.ts +2 -2
  143. package/dest/public/avm/test_utils.d.ts.map +1 -1
  144. package/dest/public/avm/test_utils.js +1 -1
  145. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  146. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  147. package/dest/public/contracts_db_checkpoint.js +30 -0
  148. package/dest/public/db_interfaces.d.ts +14 -2
  149. package/dest/public/db_interfaces.d.ts.map +1 -1
  150. package/dest/public/debug_fn_name.d.ts +16 -3
  151. package/dest/public/debug_fn_name.d.ts.map +1 -1
  152. package/dest/public/debug_fn_name.js +31 -3
  153. package/dest/public/executor_metrics.d.ts +3 -2
  154. package/dest/public/executor_metrics.d.ts.map +1 -1
  155. package/dest/public/executor_metrics.js +13 -34
  156. package/dest/public/executor_metrics_interface.d.ts +3 -2
  157. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  158. package/dest/public/fixtures/amm_test.d.ts +1 -1
  159. package/dest/public/fixtures/amm_test.js +2 -2
  160. package/dest/public/fixtures/bulk_test.d.ts +3 -3
  161. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  162. package/dest/public/fixtures/bulk_test.js +5 -69
  163. package/dest/public/fixtures/custom_bytecode_tester.d.ts +29 -7
  164. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  165. package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
  166. package/dest/public/fixtures/custom_bytecode_tests.d.ts +11 -8
  167. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  168. package/dest/public/fixtures/custom_bytecode_tests.js +83 -18
  169. package/dest/public/fixtures/index.d.ts +4 -2
  170. package/dest/public/fixtures/index.d.ts.map +1 -1
  171. package/dest/public/fixtures/index.js +3 -1
  172. package/dest/public/fixtures/minimal_public_tx.d.ts +2 -8
  173. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  174. package/dest/public/fixtures/minimal_public_tx.js +6 -16
  175. package/dest/public/fixtures/opcode_spammer.d.ts +122 -0
  176. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  177. package/dest/public/fixtures/opcode_spammer.js +1653 -0
  178. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +24 -6
  179. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  180. package/dest/public/fixtures/public_tx_simulation_tester.js +62 -21
  181. package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
  182. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  183. package/dest/public/fixtures/simple_contract_data_source.js +4 -4
  184. package/dest/public/fixtures/token_test.d.ts +6 -2
  185. package/dest/public/fixtures/token_test.d.ts.map +1 -1
  186. package/dest/public/fixtures/token_test.js +13 -12
  187. package/dest/public/fixtures/utils.d.ts +2 -2
  188. package/dest/public/fixtures/utils.d.ts.map +1 -1
  189. package/dest/public/fixtures/utils.js +4 -3
  190. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +60 -0
  191. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  192. package/dest/public/fuzzing/avm_fuzzer_simulator.js +171 -0
  193. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  194. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  195. package/dest/public/fuzzing/avm_simulator_bin.js +118 -0
  196. package/dest/public/hinting_db_sources.d.ts +14 -4
  197. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  198. package/dest/public/hinting_db_sources.js +71 -13
  199. package/dest/public/index.d.ts +3 -2
  200. package/dest/public/index.d.ts.map +1 -1
  201. package/dest/public/index.js +1 -1
  202. package/dest/public/public_db_sources.d.ts +25 -65
  203. package/dest/public/public_db_sources.d.ts.map +1 -1
  204. package/dest/public/public_db_sources.js +78 -135
  205. package/dest/public/public_errors.d.ts +1 -1
  206. package/dest/public/public_errors.d.ts.map +1 -1
  207. package/dest/public/public_processor/guarded_merkle_tree.d.ts +6 -4
  208. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  209. package/dest/public/public_processor/guarded_merkle_tree.js +5 -0
  210. package/dest/public/public_processor/public_processor.d.ts +15 -20
  211. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  212. package/dest/public/public_processor/public_processor.js +463 -68
  213. package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
  214. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  215. package/dest/public/public_processor/public_processor_metrics.js +28 -45
  216. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +19 -0
  217. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  218. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +98 -0
  219. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +35 -23
  220. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  221. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +97 -54
  222. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  223. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  224. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  225. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  226. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  227. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  228. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +23 -0
  229. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  230. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  231. package/dest/public/public_tx_simulator/factories.d.ts +14 -0
  232. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  233. package/dest/public/public_tx_simulator/factories.js +28 -0
  234. package/dest/public/public_tx_simulator/index.d.ts +5 -1
  235. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  236. package/dest/public/public_tx_simulator/index.js +3 -0
  237. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +14 -7
  238. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  239. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +5 -5
  240. package/dest/public/public_tx_simulator/public_tx_context.d.ts +8 -4
  241. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  242. package/dest/public/public_tx_simulator/public_tx_context.js +17 -9
  243. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +15 -33
  244. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  245. package/dest/public/public_tx_simulator/public_tx_simulator.js +118 -130
  246. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +25 -2
  247. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
  248. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +4 -4
  249. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  250. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
  251. package/dest/public/side_effect_errors.d.ts +1 -1
  252. package/dest/public/side_effect_errors.d.ts.map +1 -1
  253. package/dest/public/side_effect_trace.d.ts +5 -5
  254. package/dest/public/side_effect_trace.d.ts.map +1 -1
  255. package/dest/public/side_effect_trace.js +4 -4
  256. package/dest/public/side_effect_trace_interface.d.ts +3 -4
  257. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  258. package/dest/public/state_manager/index.d.ts +1 -1
  259. package/dest/public/state_manager/nullifiers.d.ts +2 -2
  260. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  261. package/dest/public/state_manager/public_storage.d.ts +2 -2
  262. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  263. package/dest/public/state_manager/public_storage.js +1 -1
  264. package/dest/public/state_manager/state_manager.d.ts +16 -12
  265. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  266. package/dest/public/state_manager/state_manager.js +21 -10
  267. package/dest/public/test_executor_metrics.d.ts +6 -4
  268. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  269. package/dest/public/test_executor_metrics.js +7 -6
  270. package/dest/public/unique_class_ids.d.ts +1 -1
  271. package/dest/public/unique_class_ids.d.ts.map +1 -1
  272. package/dest/public/utils.d.ts +1 -1
  273. package/dest/server.d.ts +1 -1
  274. package/dest/testing.d.ts +1 -1
  275. package/package.json +21 -20
  276. package/src/common/errors.ts +1 -1
  277. package/src/private/acvm/acvm.ts +4 -3
  278. package/src/private/acvm/deserialize.ts +1 -1
  279. package/src/private/acvm/serialize.ts +1 -1
  280. package/src/private/acvm_native.ts +11 -5
  281. package/src/private/acvm_wasm.ts +7 -3
  282. package/src/private/circuit_recording/circuit_recorder.ts +22 -19
  283. package/src/private/circuit_recording/file_circuit_recorder.ts +7 -2
  284. package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
  285. package/src/private/factory.ts +7 -4
  286. package/src/public/avm/avm_context.ts +2 -2
  287. package/src/public/avm/avm_contract_call_result.ts +8 -6
  288. package/src/public/avm/avm_execution_environment.ts +13 -10
  289. package/src/public/avm/avm_gas.ts +3 -3
  290. package/src/public/avm/avm_machine_state.ts +7 -6
  291. package/src/public/avm/avm_memory_types.ts +5 -1
  292. package/src/public/avm/avm_simulator.ts +19 -14
  293. package/src/public/avm/calldata.ts +100 -0
  294. package/src/public/avm/errors.ts +17 -3
  295. package/src/public/avm/fixtures/avm_simulation_tester.ts +18 -4
  296. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +1 -1
  297. package/src/public/avm/fixtures/initializers.ts +10 -11
  298. package/src/public/avm/fixtures/utils.ts +3 -2
  299. package/src/public/avm/opcodes/accrued_substate.ts +28 -30
  300. package/src/public/avm/opcodes/addressing_mode.ts +2 -2
  301. package/src/public/avm/opcodes/arithmetic.ts +14 -2
  302. package/src/public/avm/opcodes/bitwise.ts +3 -3
  303. package/src/public/avm/opcodes/comparators.ts +1 -1
  304. package/src/public/avm/opcodes/contract.ts +4 -7
  305. package/src/public/avm/opcodes/control_flow.ts +2 -2
  306. package/src/public/avm/opcodes/conversion.ts +3 -3
  307. package/src/public/avm/opcodes/ec_add.ts +15 -6
  308. package/src/public/avm/opcodes/environment_getters.ts +7 -7
  309. package/src/public/avm/opcodes/external_calls.ts +17 -15
  310. package/src/public/avm/opcodes/hashing.ts +16 -10
  311. package/src/public/avm/opcodes/instruction_impl.ts +2 -2
  312. package/src/public/avm/opcodes/memory.ts +20 -20
  313. package/src/public/avm/opcodes/misc.ts +6 -6
  314. package/src/public/avm/opcodes/storage.ts +30 -22
  315. package/src/public/avm/revert_reason.ts +6 -3
  316. package/src/public/avm/serialization/bytecode_serialization.ts +17 -6
  317. package/src/public/avm/serialization/instruction_serialization.ts +1 -1
  318. package/src/public/avm/test_utils.ts +1 -1
  319. package/src/public/contracts_db_checkpoint.ts +41 -0
  320. package/src/public/db_interfaces.ts +16 -1
  321. package/src/public/debug_fn_name.ts +39 -5
  322. package/src/public/executor_metrics.ts +11 -34
  323. package/src/public/executor_metrics_interface.ts +2 -1
  324. package/src/public/fixtures/amm_test.ts +2 -2
  325. package/src/public/fixtures/bulk_test.ts +9 -9
  326. package/src/public/fixtures/custom_bytecode_tester.ts +54 -20
  327. package/src/public/fixtures/custom_bytecode_tests.ts +111 -18
  328. package/src/public/fixtures/index.ts +7 -1
  329. package/src/public/fixtures/minimal_public_tx.ts +7 -17
  330. package/src/public/fixtures/opcode_spammer.ts +1721 -0
  331. package/src/public/fixtures/public_tx_simulation_tester.ts +85 -21
  332. package/src/public/fixtures/simple_contract_data_source.ts +8 -9
  333. package/src/public/fixtures/token_test.ts +18 -10
  334. package/src/public/fixtures/utils.ts +2 -3
  335. package/src/public/fuzzing/avm_fuzzer_simulator.ts +288 -0
  336. package/src/public/fuzzing/avm_simulator_bin.ts +175 -0
  337. package/src/public/hinting_db_sources.ts +112 -10
  338. package/src/public/index.ts +6 -4
  339. package/src/public/public_db_sources.ts +107 -176
  340. package/src/public/public_processor/guarded_merkle_tree.ts +8 -3
  341. package/src/public/public_processor/public_processor.ts +103 -63
  342. package/src/public/public_processor/public_processor_metrics.ts +16 -44
  343. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +124 -0
  344. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +142 -59
  345. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +134 -0
  346. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +239 -0
  347. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +83 -0
  348. package/src/public/public_tx_simulator/factories.ts +43 -0
  349. package/src/public/public_tx_simulator/index.ts +4 -0
  350. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +10 -14
  351. package/src/public/public_tx_simulator/public_tx_context.ts +22 -9
  352. package/src/public/public_tx_simulator/public_tx_simulator.ts +177 -198
  353. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +24 -2
  354. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +3 -3
  355. package/src/public/side_effect_trace.ts +6 -3
  356. package/src/public/side_effect_trace_interface.ts +1 -1
  357. package/src/public/state_manager/nullifiers.ts +1 -1
  358. package/src/public/state_manager/public_storage.ts +1 -1
  359. package/src/public/state_manager/state_manager.ts +35 -26
  360. package/src/public/test_executor_metrics.ts +10 -8
  361. package/dest/public/tx_contract_cache.d.ts +0 -41
  362. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  363. package/dest/public/tx_contract_cache.js +0 -49
  364. package/src/public/tx_contract_cache.ts +0 -69
@@ -2,74 +2,73 @@ import type { AvmContext } from '../avm_context.js';
2
2
  import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
3
3
  import { Instruction } from './instruction.js';
4
4
  export declare class NoteHashExists extends Instruction {
5
- private indirect;
5
+ private addressingMode;
6
6
  private noteHashOffset;
7
7
  private leafIndexOffset;
8
8
  private existsOffset;
9
9
  static type: string;
10
10
  static readonly opcode: Opcode;
11
11
  static readonly wireFormat: OperandType[];
12
- constructor(indirect: number, noteHashOffset: number, leafIndexOffset: number, existsOffset: number);
12
+ constructor(addressingMode: number, noteHashOffset: number, leafIndexOffset: number, existsOffset: number);
13
13
  execute(context: AvmContext): Promise<void>;
14
14
  }
15
15
  export declare class EmitNoteHash extends Instruction {
16
- private indirect;
16
+ private addressingMode;
17
17
  private noteHashOffset;
18
18
  static type: string;
19
19
  static readonly opcode: Opcode;
20
20
  static readonly wireFormat: OperandType[];
21
- constructor(indirect: number, noteHashOffset: number);
21
+ constructor(addressingMode: number, noteHashOffset: number);
22
22
  execute(context: AvmContext): Promise<void>;
23
23
  }
24
24
  export declare class NullifierExists extends Instruction {
25
- private indirect;
26
- private nullifierOffset;
27
- private addressOffset;
25
+ private addressingMode;
26
+ private siloedNullifierOffset;
28
27
  private existsOffset;
29
28
  static type: string;
30
29
  static readonly opcode: Opcode;
31
30
  static readonly wireFormat: OperandType[];
32
- constructor(indirect: number, nullifierOffset: number, addressOffset: number, existsOffset: number);
31
+ constructor(addressingMode: number, siloedNullifierOffset: number, existsOffset: number);
33
32
  execute(context: AvmContext): Promise<void>;
34
33
  }
35
34
  export declare class EmitNullifier extends Instruction {
36
- private indirect;
35
+ private addressingMode;
37
36
  private nullifierOffset;
38
37
  static type: string;
39
38
  static readonly opcode: Opcode;
40
39
  static readonly wireFormat: OperandType[];
41
- constructor(indirect: number, nullifierOffset: number);
40
+ constructor(addressingMode: number, nullifierOffset: number);
42
41
  execute(context: AvmContext): Promise<void>;
43
42
  }
44
43
  export declare class L1ToL2MessageExists extends Instruction {
45
- private indirect;
44
+ private addressingMode;
46
45
  private msgHashOffset;
47
46
  private msgLeafIndexOffset;
48
47
  private existsOffset;
49
48
  static type: string;
50
49
  static readonly opcode: Opcode;
51
50
  static readonly wireFormat: OperandType[];
52
- constructor(indirect: number, msgHashOffset: number, msgLeafIndexOffset: number, existsOffset: number);
51
+ constructor(addressingMode: number, msgHashOffset: number, msgLeafIndexOffset: number, existsOffset: number);
53
52
  execute(context: AvmContext): Promise<void>;
54
53
  }
55
54
  export declare class EmitUnencryptedLog extends Instruction {
56
- private indirect;
55
+ private addressingMode;
57
56
  private logSizeOffset;
58
57
  private logOffset;
59
58
  static type: string;
60
59
  static readonly opcode: Opcode;
61
60
  static readonly wireFormat: OperandType[];
62
- constructor(indirect: number, logSizeOffset: number, logOffset: number);
61
+ constructor(addressingMode: number, logSizeOffset: number, logOffset: number);
63
62
  execute(context: AvmContext): Promise<void>;
64
63
  }
65
64
  export declare class SendL2ToL1Message extends Instruction {
66
- private indirect;
65
+ private addressingMode;
67
66
  private recipientOffset;
68
67
  private contentOffset;
69
68
  static type: string;
70
69
  static readonly opcode: Opcode;
71
70
  static readonly wireFormat: OperandType[];
72
- constructor(indirect: number, recipientOffset: number, contentOffset: number);
71
+ constructor(addressingMode: number, recipientOffset: number, contentOffset: number);
73
72
  execute(context: AvmContext): Promise<void>;
74
73
  }
75
- //# sourceMappingURL=accrued_substate.d.ts.map
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjcnVlZF9zdWJzdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9hY2NydWVkX3N1YnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHFCQUFhLGNBQWUsU0FBUSxXQUFXO0lBYTNDLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxlQUFlO0lBQ3ZCLE9BQU8sQ0FBQyxZQUFZO0lBZnRCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFvQjtJQUN2QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQXlCO0lBRXZELE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxnQkFNeEI7SUFFRixZQUNVLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLFlBQVksRUFBRSxNQUFNLEVBRzdCO0lBRVksT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWtCdkQ7Q0FDRjtBQUVELHFCQUFhLFlBQWEsU0FBUSxXQUFXO0lBT3pDLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxjQUFjO0lBUHhCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFrQjtJQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQXVCO0lBRXJELE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxnQkFBOEQ7SUFFeEYsWUFDVSxjQUFjLEVBQUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accrued_substate.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/accrued_substate.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { MAX_ETH_ADDRESS_VALUE } from '@aztec/constants';
1
2
  import { NullifierCollisionError } from '../../side_effect_errors.js';
2
3
  import { TypeTag, Uint1 } from '../avm_memory_types.js';
3
4
  import { InstructionExecutionError, StaticCallAlterationError } from '../errors.js';
@@ -5,7 +6,7 @@ import { Opcode, OperandType } from '../serialization/instruction_serialization.
5
6
  import { Addressing } from './addressing_mode.js';
6
7
  import { Instruction } from './instruction.js';
7
8
  export class NoteHashExists extends Instruction {
8
- indirect;
9
+ addressingMode;
9
10
  noteHashOffset;
10
11
  leafIndexOffset;
11
12
  existsOffset;
@@ -19,12 +20,12 @@ export class NoteHashExists extends Instruction {
19
20
  OperandType.UINT16,
20
21
  OperandType.UINT16
21
22
  ];
22
- constructor(indirect, noteHashOffset, leafIndexOffset, existsOffset){
23
- super(), this.indirect = indirect, this.noteHashOffset = noteHashOffset, this.leafIndexOffset = leafIndexOffset, this.existsOffset = existsOffset;
23
+ constructor(addressingMode, noteHashOffset, leafIndexOffset, existsOffset){
24
+ super(), this.addressingMode = addressingMode, this.noteHashOffset = noteHashOffset, this.leafIndexOffset = leafIndexOffset, this.existsOffset = existsOffset;
24
25
  }
25
26
  async execute(context) {
26
27
  const memory = context.machineState.memory;
27
- const addressing = Addressing.fromWire(this.indirect);
28
+ const addressing = Addressing.fromWire(this.addressingMode);
28
29
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
29
30
  const operands = [
30
31
  this.noteHashOffset,
@@ -42,7 +43,7 @@ export class NoteHashExists extends Instruction {
42
43
  }
43
44
  }
44
45
  export class EmitNoteHash extends Instruction {
45
- indirect;
46
+ addressingMode;
46
47
  noteHashOffset;
47
48
  static type = 'EMITNOTEHASH';
48
49
  static opcode = Opcode.EMITNOTEHASH;
@@ -52,12 +53,12 @@ export class EmitNoteHash extends Instruction {
52
53
  OperandType.UINT8,
53
54
  OperandType.UINT16
54
55
  ];
55
- constructor(indirect, noteHashOffset){
56
- super(), this.indirect = indirect, this.noteHashOffset = noteHashOffset;
56
+ constructor(addressingMode, noteHashOffset){
57
+ super(), this.addressingMode = addressingMode, this.noteHashOffset = noteHashOffset;
57
58
  }
58
59
  async execute(context) {
59
60
  const memory = context.machineState.memory;
60
- const addressing = Addressing.fromWire(this.indirect);
61
+ const addressing = Addressing.fromWire(this.addressingMode);
61
62
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
62
63
  const operands = [
63
64
  this.noteHashOffset
@@ -72,9 +73,8 @@ export class EmitNoteHash extends Instruction {
72
73
  }
73
74
  }
74
75
  export class NullifierExists extends Instruction {
75
- indirect;
76
- nullifierOffset;
77
- addressOffset;
76
+ addressingMode;
77
+ siloedNullifierOffset;
78
78
  existsOffset;
79
79
  static type = 'NULLIFIEREXISTS';
80
80
  static opcode = Opcode.NULLIFIEREXISTS;
@@ -83,31 +83,28 @@ export class NullifierExists extends Instruction {
83
83
  OperandType.UINT8,
84
84
  OperandType.UINT8,
85
85
  OperandType.UINT16,
86
- OperandType.UINT16,
87
86
  OperandType.UINT16
88
87
  ];
89
- constructor(indirect, nullifierOffset, addressOffset, existsOffset){
90
- super(), this.indirect = indirect, this.nullifierOffset = nullifierOffset, this.addressOffset = addressOffset, this.existsOffset = existsOffset;
88
+ constructor(addressingMode, siloedNullifierOffset, existsOffset){
89
+ super(), this.addressingMode = addressingMode, this.siloedNullifierOffset = siloedNullifierOffset, this.existsOffset = existsOffset;
91
90
  }
92
91
  async execute(context) {
93
92
  const memory = context.machineState.memory;
94
- const addressing = Addressing.fromWire(this.indirect);
93
+ const addressing = Addressing.fromWire(this.addressingMode);
95
94
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
96
95
  const operands = [
97
- this.nullifierOffset,
98
- this.addressOffset,
96
+ this.siloedNullifierOffset,
99
97
  this.existsOffset
100
98
  ];
101
- const [nullifierOffset, addressOffset, existsOffset] = addressing.resolve(operands, memory);
102
- memory.checkTags(TypeTag.FIELD, nullifierOffset, addressOffset);
103
- const nullifier = memory.get(nullifierOffset).toFr();
104
- const address = memory.get(addressOffset).toAztecAddress();
105
- const exists = await context.persistableState.checkNullifierExists(address, nullifier);
99
+ const [siloedNullifierOffset, existsOffset] = addressing.resolve(operands, memory);
100
+ memory.checkTag(TypeTag.FIELD, siloedNullifierOffset);
101
+ const siloedNullifier = memory.get(siloedNullifierOffset).toFr();
102
+ const exists = await context.persistableState.checkSiloedNullifierExists(siloedNullifier);
106
103
  memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
107
104
  }
108
105
  }
109
106
  export class EmitNullifier extends Instruction {
110
- indirect;
107
+ addressingMode;
111
108
  nullifierOffset;
112
109
  static type = 'EMITNULLIFIER';
113
110
  static opcode = Opcode.EMITNULLIFIER;
@@ -117,15 +114,15 @@ export class EmitNullifier extends Instruction {
117
114
  OperandType.UINT8,
118
115
  OperandType.UINT16
119
116
  ];
120
- constructor(indirect, nullifierOffset){
121
- super(), this.indirect = indirect, this.nullifierOffset = nullifierOffset;
117
+ constructor(addressingMode, nullifierOffset){
118
+ super(), this.addressingMode = addressingMode, this.nullifierOffset = nullifierOffset;
122
119
  }
123
120
  async execute(context) {
124
121
  if (context.environment.isStaticCall) {
125
122
  throw new StaticCallAlterationError();
126
123
  }
127
124
  const memory = context.machineState.memory;
128
- const addressing = Addressing.fromWire(this.indirect);
125
+ const addressing = Addressing.fromWire(this.addressingMode);
129
126
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
130
127
  const operands = [
131
128
  this.nullifierOffset
@@ -146,7 +143,7 @@ export class EmitNullifier extends Instruction {
146
143
  }
147
144
  }
148
145
  export class L1ToL2MessageExists extends Instruction {
149
- indirect;
146
+ addressingMode;
150
147
  msgHashOffset;
151
148
  msgLeafIndexOffset;
152
149
  existsOffset;
@@ -160,12 +157,12 @@ export class L1ToL2MessageExists extends Instruction {
160
157
  OperandType.UINT16,
161
158
  OperandType.UINT16
162
159
  ];
163
- constructor(indirect, msgHashOffset, msgLeafIndexOffset, existsOffset){
164
- super(), this.indirect = indirect, this.msgHashOffset = msgHashOffset, this.msgLeafIndexOffset = msgLeafIndexOffset, this.existsOffset = existsOffset;
160
+ constructor(addressingMode, msgHashOffset, msgLeafIndexOffset, existsOffset){
161
+ super(), this.addressingMode = addressingMode, this.msgHashOffset = msgHashOffset, this.msgLeafIndexOffset = msgLeafIndexOffset, this.existsOffset = existsOffset;
165
162
  }
166
163
  async execute(context) {
167
164
  const memory = context.machineState.memory;
168
- const addressing = Addressing.fromWire(this.indirect);
165
+ const addressing = Addressing.fromWire(this.addressingMode);
169
166
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
170
167
  const operands = [
171
168
  this.msgHashOffset,
@@ -182,7 +179,7 @@ export class L1ToL2MessageExists extends Instruction {
182
179
  }
183
180
  }
184
181
  export class EmitUnencryptedLog extends Instruction {
185
- indirect;
182
+ addressingMode;
186
183
  logSizeOffset;
187
184
  logOffset;
188
185
  // TODO(#11124): rename unencrypted -> public
@@ -195,15 +192,15 @@ export class EmitUnencryptedLog extends Instruction {
195
192
  OperandType.UINT16,
196
193
  OperandType.UINT16
197
194
  ];
198
- constructor(indirect, logSizeOffset, logOffset){
199
- super(), this.indirect = indirect, this.logSizeOffset = logSizeOffset, this.logOffset = logOffset;
195
+ constructor(addressingMode, logSizeOffset, logOffset){
196
+ super(), this.addressingMode = addressingMode, this.logSizeOffset = logSizeOffset, this.logOffset = logOffset;
200
197
  }
201
198
  async execute(context) {
202
199
  if (context.environment.isStaticCall) {
203
200
  throw new StaticCallAlterationError();
204
201
  }
205
202
  const memory = context.machineState.memory;
206
- const addressing = Addressing.fromWire(this.indirect);
203
+ const addressing = Addressing.fromWire(this.addressingMode);
207
204
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
208
205
  const operands = [
209
206
  this.logSizeOffset,
@@ -212,15 +209,15 @@ export class EmitUnencryptedLog extends Instruction {
212
209
  const [logSizeOffset, logOffset] = addressing.resolve(operands, memory);
213
210
  memory.checkTag(TypeTag.UINT32, logSizeOffset);
214
211
  const logSize = memory.get(logSizeOffset).toNumber();
215
- memory.checkTagsRange(TypeTag.FIELD, logOffset, logSize);
216
212
  const contractAddress = context.environment.address;
217
213
  context.machineState.consumeGas(this.dynamicGasCost(logSize));
214
+ memory.checkTagsRange(TypeTag.FIELD, logOffset, logSize);
218
215
  const log = memory.getSlice(logOffset, logSize).map((f)=>f.toFr());
219
216
  context.persistableState.writePublicLog(contractAddress, log);
220
217
  }
221
218
  }
222
219
  export class SendL2ToL1Message extends Instruction {
223
- indirect;
220
+ addressingMode;
224
221
  recipientOffset;
225
222
  contentOffset;
226
223
  static type = 'SENDL2TOL1MSG';
@@ -232,15 +229,15 @@ export class SendL2ToL1Message extends Instruction {
232
229
  OperandType.UINT16,
233
230
  OperandType.UINT16
234
231
  ];
235
- constructor(indirect, recipientOffset, contentOffset){
236
- super(), this.indirect = indirect, this.recipientOffset = recipientOffset, this.contentOffset = contentOffset;
232
+ constructor(addressingMode, recipientOffset, contentOffset){
233
+ super(), this.addressingMode = addressingMode, this.recipientOffset = recipientOffset, this.contentOffset = contentOffset;
237
234
  }
238
235
  async execute(context) {
239
236
  if (context.environment.isStaticCall) {
240
237
  throw new StaticCallAlterationError();
241
238
  }
242
239
  const memory = context.machineState.memory;
243
- const addressing = Addressing.fromWire(this.indirect);
240
+ const addressing = Addressing.fromWire(this.addressingMode);
244
241
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
245
242
  const operands = [
246
243
  this.recipientOffset,
@@ -249,6 +246,9 @@ export class SendL2ToL1Message extends Instruction {
249
246
  const [recipientOffset, contentOffset] = addressing.resolve(operands, memory);
250
247
  memory.checkTags(TypeTag.FIELD, recipientOffset, contentOffset);
251
248
  const recipient = memory.get(recipientOffset).toFr();
249
+ if (recipient.toBigInt() > MAX_ETH_ADDRESS_VALUE) {
250
+ throw new InstructionExecutionError(`SENDL2TOL1MSG: Recipient address is too large`);
251
+ }
252
252
  const content = memory.get(contentOffset).toFr();
253
253
  context.persistableState.writeL2ToL1Message(context.environment.address, recipient, content);
254
254
  }
@@ -28,4 +28,4 @@ export declare class Addressing {
28
28
  */
29
29
  resolve(offsets: number[], mem: TaggedMemoryInterface): number[];
30
30
  }
31
- //# sourceMappingURL=addressing_mode.d.ts.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc2luZ19tb2RlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2F2bS9vcGNvZGVzL2FkZHJlc3NpbmdfbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUl6RCxPQUFPLEVBQTZCLEtBQUsscUJBQXFCLEVBQVcsTUFBTSx3QkFBd0IsQ0FBQztBQUd4RyxvQkFBWSxjQUFjO0lBQ3hCLE1BQU0sSUFBSTtJQUNWLFFBQVEsSUFBSTtJQUNaLFFBQVEsSUFBSTtJQUNaLGlCQUFpQixJQUFJO0NBQ3RCO0FBRUQsa0VBQWtFO0FBQ2xFLHFCQUFhLFVBQVU7SUFFbkIscURBQXFEO0lBQ3JELE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYztJQUZqQztJQUNFLHFEQUFxRDtJQUNwQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEVBQzdFO0lBRUosT0FBYyxTQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxHQUFHLFVBQVUsQ0FHM0Q7SUFFRCxPQUFjLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FXcEQ7SUFFTSxNQUFNLElBQUksTUFBTSxDQWF0QjtJQUVNLHFCQUFxQixJQUFJLE1BQU0sQ0FFckM7SUFFTSxxQkFBcUIsSUFBSSxNQUFNLENBRXJDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEdBQUcsTUFBTSxFQUFFLENBc0N0RTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"addressing_mode.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/addressing_mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAIzD,OAAO,EAA6B,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAGxG,oBAAY,cAAc;IACxB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,iBAAiB,IAAI;CACtB;AAED,kEAAkE;AAClE,qBAAa,UAAU;IAEnB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc;;IAD/B,qDAAqD;IACpC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC;WAGnE,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,UAAU;WAK9C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAa9C,MAAM,IAAI,MAAM;IAehB,qBAAqB,IAAI,MAAM;IAI/B,qBAAqB,IAAI,MAAM;IAItC;;;;;;OAMG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE;CAuCxE"}
1
+ {"version":3,"file":"addressing_mode.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/addressing_mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAIzD,OAAO,EAA6B,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAGxG,oBAAY,cAAc;IACxB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,iBAAiB,IAAI;CACtB;AAED,kEAAkE;AAClE,qBAAa,UAAU;IAEnB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFjC;IACE,qDAAqD;IACpC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC,EAC7E;IAEJ,OAAc,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,UAAU,CAG3D;IAED,OAAc,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAWpD;IAEM,MAAM,IAAI,MAAM,CAatB;IAEM,qBAAqB,IAAI,MAAM,CAErC;IAEM,qBAAqB,IAAI,MAAM,CAErC;IAED;;;;;;OAMG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAsCtE;CACF"}
@@ -68,7 +68,7 @@ export var AddressingMode = /*#__PURE__*/ function(AddressingMode) {
68
68
  baseAddr = mem.get(0);
69
69
  const baseAddrTag = baseAddr.getTag();
70
70
  if (!TaggedMemory.isValidMemoryAddressTag(baseAddrTag)) {
71
- throw TagCheckError.forOffset(0, TypeTag[baseAddrTag], TypeTag[TypeTag.UINT32]);
71
+ throw TagCheckError.forBaseAddress(TypeTag[baseAddrTag]);
72
72
  }
73
73
  }
74
74
  // Here we know that resolved[i] is at most 32 bits and baseAddr is at most 32 bits.
@@ -84,7 +84,7 @@ export var AddressingMode = /*#__PURE__*/ function(AddressingMode) {
84
84
  const resolvedTag = resolvedValue.getTag();
85
85
  // Final check.
86
86
  if (!TaggedMemory.isValidMemoryAddressTag(resolvedTag)) {
87
- throw TagCheckError.forOffset(resolved[i], TypeTag[resolvedTag], TypeTag[TypeTag.UINT32]);
87
+ throw TagCheckError.forIndirectAddress(resolved[i], TypeTag[resolvedTag]);
88
88
  }
89
89
  resolved[i] = Number(resolvedValue.toBigInt());
90
90
  }
@@ -38,10 +38,12 @@ export declare class Shl extends ThreeOperandArithmeticInstruction {
38
38
  static readonly type: string;
39
39
  static readonly opcode = Opcode.SHL_8;
40
40
  protected compute(a: IntegralValue, b: IntegralValue): IntegralValue;
41
+ protected checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number): void;
41
42
  }
42
43
  export declare class Shr extends ThreeOperandArithmeticInstruction {
43
44
  static readonly type: string;
44
45
  static readonly opcode = Opcode.SHR_8;
45
46
  protected compute(a: IntegralValue, b: IntegralValue): IntegralValue;
47
+ protected checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number): void;
46
48
  }
47
- //# sourceMappingURL=arithmetic.d.ts.map
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpdGhtZXRpYy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9hcml0aG1ldGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLGFBQWEsRUFDbEIsS0FBSyxXQUFXLEVBRWhCLEtBQUsscUJBQXFCLEVBRTNCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLDhCQUFzQixpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDeEUsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWlCdkQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ3hFLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFFbEY7Q0FDRjtBQUVELHFCQUFhLEdBQUksU0FBUSxpQ0FBaUM7SUFDeEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFTO0lBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxnQkFBZ0I7SUFFdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUU3RDtDQUNGO0FBRUQscUJBQWEsR0FBSSxTQUFRLGlDQUFpQztJQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQVM7SUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLGdCQUFnQjtJQUV0QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFdBQVcsR0FBRyxXQUFXLENBRTdEO0NBQ0Y7QUFFRCxxQkFBYSxHQUFJLFNBQVEsaUNBQWlDO0lBQ3hELE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFTO0lBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxnQkFBZ0I7SUFFdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUU3RDtDQUNGO0FBRUQscUJBQWEsR0FBSSxTQUFRLGlDQUFpQztJQUN4RCxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUztJQUM1QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0FNN0Q7SUFFRCxVQUFtQixTQUFTLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFHM0Y7Q0FDRjtBQUVELHFCQUFhLFFBQVMsU0FBUSxpQ0FBaUM7SUFDN0QsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQVU7SUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLGlCQUFpQjtJQUV2QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBSzNDO0lBRUQsVUFBbUIsU0FBUyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBRzNGO0NBQ0Y7QUFFRCxxQkFBYSxHQUFJLFNBQVEsaUNBQWlDO0lBQ3hELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUztJQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLFVBQW1CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUU1RTtJQUVELFVBQW1CLFNBQVMsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUczRjtDQUNGO0FBRUQscUJBQWEsR0FBSSxTQUFRLGlDQUFpQztJQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQVM7SUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLGdCQUFnQjtJQUV0QyxVQUFtQixPQUFPLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FFNUU7SUFFRCxVQUFtQixTQUFTLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFHM0Y7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,8BAAsB,iCAAkC,SAAQ,uBAAuB;IACxE,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;IACvE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGpF;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;CAG/D;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;cAQ3C,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,QAAS,SAAQ,iCAAiC;IAC7D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,MAAM,iBAAiB;IAEvC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;cAKzB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,GAAI,SAAQ,iCAAiC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E"}
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/arithmetic.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
6
6
  export class ThreeOperandArithmeticInstruction extends ThreeOperandInstruction {
7
7
  async execute(context) {
8
8
  const memory = context.machineState.memory;
9
- const addressing = Addressing.fromWire(this.indirect);
9
+ const addressing = Addressing.fromWire(this.addressingMode);
10
10
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
11
11
  const operands = [
12
12
  this.aOffset,
@@ -63,7 +63,9 @@ export class FieldDiv extends ThreeOperandArithmeticInstruction {
63
63
  static type = 'FDIV';
64
64
  static opcode = Opcode.FDIV_8;
65
65
  compute(a, b) {
66
- // return (a as Field).fdiv(b as Field);
66
+ if (b.toBigInt() === 0n) {
67
+ throw new ArithmeticError('Division by zero');
68
+ }
67
69
  return a.fdiv(b);
68
70
  }
69
71
  checkTags(memory, aOffset, bOffset) {
@@ -77,6 +79,10 @@ export class Shl extends ThreeOperandArithmeticInstruction {
77
79
  compute(a, b) {
78
80
  return a.shl(b);
79
81
  }
82
+ checkTags(memory, aOffset, bOffset) {
83
+ memory.checkTagsAreSame(aOffset, bOffset);
84
+ TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset)); // Follows that bOffset tag is also of integral type
85
+ }
80
86
  }
81
87
  export class Shr extends ThreeOperandArithmeticInstruction {
82
88
  static type = 'SHR';
@@ -84,4 +90,8 @@ export class Shr extends ThreeOperandArithmeticInstruction {
84
90
  compute(a, b) {
85
91
  return a.shr(b);
86
92
  }
93
+ checkTags(memory, aOffset, bOffset) {
94
+ memory.checkTagsAreSame(aOffset, bOffset);
95
+ TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset)); // Follows that bOffset tag is also of integral type
96
+ }
87
97
  }
@@ -28,15 +28,15 @@ export declare class Xor extends ThreeOperandBitwiseInstruction {
28
28
  protected getDynamicMultiplier(lhsTag: TypeTag): number;
29
29
  }
30
30
  export declare class Not extends Instruction {
31
- private indirect;
31
+ private addressingMode;
32
32
  private srcOffset;
33
33
  private dstOffset;
34
34
  static readonly type: string;
35
35
  static readonly opcode = Opcode.NOT_8;
36
36
  static readonly wireFormat8: OperandType[];
37
37
  static readonly wireFormat16: OperandType[];
38
- constructor(indirect: number, srcOffset: number, dstOffset: number);
38
+ constructor(addressingMode: number, srcOffset: number, dstOffset: number);
39
39
  execute(context: AvmContext): Promise<void>;
40
40
  }
41
41
  export {};
42
- //# sourceMappingURL=bitwise.d.ts.map
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0d2lzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9iaXR3aXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBZ0IsS0FBSyxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRSx1QkFBZSw4QkFBK0IsU0FBUSx1QkFBdUI7SUFDOUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9CdkQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQzlFLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFHbEY7SUFFRCxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBRXZEO0NBQ0Y7QUFFRCxxQkFBYSxHQUFJLFNBQVEsOEJBQThCO0lBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUztJQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLFVBQW1CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUU1RTtJQUVELFVBQW1CLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLEdBQUcsTUFBTSxDQUUvRDtDQUNGO0FBRUQscUJBQWEsRUFBRyxTQUFRLDhCQUE4QjtJQUNwRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQVE7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLGVBQWU7SUFFckMsVUFBbUIsT0FBTyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBRTVFO0lBRUQsVUFBbUIsb0JBQW9CLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxNQUFNLENBRS9EO0NBQ0Y7QUFFRCxxQkFBYSxHQUFJLFNBQVEsOEJBQThCO0lBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUztJQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLFVBQW1CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUU1RTtJQUVELFVBQW1CLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLEdBQUcsTUFBTSxDQUUvRDtDQUNGO0FBRUQscUJBQWEsR0FBSSxTQUFRLFdBQVc7SUFRaEMsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFNBQVM7SUFUbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFTO0lBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxnQkFBZ0I7SUFFdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLGdCQUFnRjtJQUMzRyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksZ0JBQWtGO0lBRTlHLFlBQ1UsY0FBYyxFQUFFLE1BQU0sRUFDdEIsU0FBUyxFQUFFLE1BQU0sRUFDakIsU0FBUyxFQUFFLE1BQU0sRUFHMUI7SUFFWSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZXZEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;IAC7E,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKnF,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAGzD;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAI1D,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;CAGjE;AAED,qBAAa,EAAG,SAAQ,8BAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;cAElB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAI1D,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;CAGjE;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAI1D,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;CAGjE;AAED,qBAAa,GAAI,SAAQ,WAAW;IAQhC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IATnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgF;IAC3G,MAAM,CAAC,QAAQ,CAAC,YAAY,gBAAkF;gBAGpG,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAKd,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBzD"}
1
+ {"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvD;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC9E,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAGlF;IAED,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEvD;CACF;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,UAAmB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa,CAE5E;IAED,UAAmB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAE/D;CACF;AAED,qBAAa,EAAG,SAAQ,8BAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,UAAmB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa,CAE5E;IAED,UAAmB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAE/D;CACF;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,UAAmB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa,CAE5E;IAED,UAAmB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAE/D;CACF;AAED,qBAAa,GAAI,SAAQ,WAAW;IAQhC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IATnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgF;IAC3G,MAAM,CAAC,QAAQ,CAAC,YAAY,gBAAkF;IAE9G,YACU,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAG1B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAevD;CACF"}
@@ -7,7 +7,7 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
7
7
  class ThreeOperandBitwiseInstruction extends ThreeOperandInstruction {
8
8
  async execute(context) {
9
9
  const memory = context.machineState.memory;
10
- const addressing = Addressing.fromWire(this.indirect);
10
+ const addressing = Addressing.fromWire(this.addressingMode);
11
11
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
12
12
  const operands = [
13
13
  this.aOffset,
@@ -62,7 +62,7 @@ export class Xor extends ThreeOperandBitwiseInstruction {
62
62
  }
63
63
  }
64
64
  export class Not extends Instruction {
65
- indirect;
65
+ addressingMode;
66
66
  srcOffset;
67
67
  dstOffset;
68
68
  static type = 'NOT';
@@ -79,12 +79,12 @@ export class Not extends Instruction {
79
79
  OperandType.UINT16,
80
80
  OperandType.UINT16
81
81
  ];
82
- constructor(indirect, srcOffset, dstOffset){
83
- super(), this.indirect = indirect, this.srcOffset = srcOffset, this.dstOffset = dstOffset;
82
+ constructor(addressingMode, srcOffset, dstOffset){
83
+ super(), this.addressingMode = addressingMode, this.srcOffset = srcOffset, this.dstOffset = dstOffset;
84
84
  }
85
85
  async execute(context) {
86
86
  const memory = context.machineState.memory;
87
- const addressing = Addressing.fromWire(this.indirect);
87
+ const addressing = Addressing.fromWire(this.addressingMode);
88
88
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
89
89
  const operands = [
90
90
  this.srcOffset,
@@ -22,4 +22,4 @@ export declare class Lte extends ComparatorInstruction {
22
22
  protected compare(a: MemoryValue, b: MemoryValue): boolean;
23
23
  }
24
24
  export {};
25
- //# sourceMappingURL=comparators.d.ts.map
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYXRvcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL29wY29kZXMvY29tcGFyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFTLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLHVCQUFlLHFCQUFzQixTQUFRLHVCQUF1QjtJQUNyRCxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBaUJ2RDtJQUVELFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUM7Q0FDckU7QUFFRCxxQkFBYSxFQUFHLFNBQVEscUJBQXFCO0lBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUTtJQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZUFBZTtJQUVyQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBRXpEO0NBQ0Y7QUFFRCxxQkFBYSxFQUFHLFNBQVEscUJBQXFCO0lBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUTtJQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZUFBZTtJQUVyQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBRXpEO0NBQ0Y7QUFFRCxxQkFBYSxHQUFJLFNBQVEscUJBQXFCO0lBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBUztJQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FFekQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/comparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,qBAAsB,SAAQ,uBAAuB;IACrD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CACpE;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D;AAED,qBAAa,GAAI,SAAQ,qBAAqB;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO;CAG3D"}
1
+ {"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/comparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,qBAAsB,SAAQ,uBAAuB;IACrD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvD;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;CACrE;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEzD;CACF;AAED,qBAAa,EAAG,SAAQ,qBAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;IAErC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEzD;CACF;AAED,qBAAa,GAAI,SAAQ,qBAAqB;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEzD;CACF"}
@@ -5,7 +5,7 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
5
5
  class ComparatorInstruction extends ThreeOperandInstruction {
6
6
  async execute(context) {
7
7
  const memory = context.machineState.memory;
8
- const addressing = Addressing.fromWire(this.indirect);
8
+ const addressing = Addressing.fromWire(this.addressingMode);
9
9
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
10
10
  const operands = [
11
11
  this.aOffset,
@@ -7,14 +7,14 @@ export declare enum ContractInstanceMember {
7
7
  INIT_HASH = 2
8
8
  }
9
9
  export declare class GetContractInstance extends Instruction {
10
- private indirect;
10
+ private addressingMode;
11
11
  private addressOffset;
12
12
  private dstOffset;
13
13
  private memberEnum;
14
14
  static readonly type: string;
15
15
  static readonly opcode: Opcode;
16
16
  static readonly wireFormat: OperandType[];
17
- constructor(indirect: number, addressOffset: number, dstOffset: number, memberEnum: number);
17
+ constructor(addressingMode: number, addressOffset: number, dstOffset: number, memberEnum: number);
18
18
  execute(context: AvmContext): Promise<void>;
19
19
  }
20
- //# sourceMappingURL=contract.d.ts.map
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL29wY29kZXMvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0Msb0JBQVksc0JBQXNCO0lBQ2hDLFFBQVEsSUFBQTtJQUNSLFFBQVEsSUFBQTtJQUNSLFNBQVMsSUFBQTtDQUNWO0FBRUQscUJBQWEsbUJBQW9CLFNBQVEsV0FBVztJQWFoRCxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsVUFBVTtJQWZwQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQXlCO0lBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBOEI7SUFFNUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBTXZDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixhQUFhLEVBQUUsTUFBTSxFQUNyQixTQUFTLEVBQUUsTUFBTSxFQUNqQixVQUFVLEVBQUUsTUFBTSxFQUczQjtJQUVLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FvQ2hEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,oBAAY,sBAAsB;IAChC,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,SAAS,IAAA;CACV;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IAahD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAfpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA8B;IAE5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAMvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAKtB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAwClD"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,oBAAY,sBAAsB;IAChC,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,SAAS,IAAA;CACV;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IAahD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAfpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA8B;IAE5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAMvC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAG3B;IAEK,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChD;CACF"}
@@ -10,7 +10,7 @@ export var ContractInstanceMember = /*#__PURE__*/ function(ContractInstanceMembe
10
10
  return ContractInstanceMember;
11
11
  }({});
12
12
  export class GetContractInstance extends Instruction {
13
- indirect;
13
+ addressingMode;
14
14
  addressOffset;
15
15
  dstOffset;
16
16
  memberEnum;
@@ -24,12 +24,12 @@ export class GetContractInstance extends Instruction {
24
24
  OperandType.UINT16,
25
25
  OperandType.UINT8
26
26
  ];
27
- constructor(indirect, addressOffset, dstOffset, memberEnum){
28
- super(), this.indirect = indirect, this.addressOffset = addressOffset, this.dstOffset = dstOffset, this.memberEnum = memberEnum;
27
+ constructor(addressingMode, addressOffset, dstOffset, memberEnum){
28
+ super(), this.addressingMode = addressingMode, this.addressOffset = addressOffset, this.dstOffset = dstOffset, this.memberEnum = memberEnum;
29
29
  }
30
30
  async execute(context) {
31
31
  const memory = context.machineState.memory;
32
- const addressing = Addressing.fromWire(this.indirect);
32
+ const addressing = Addressing.fromWire(this.addressingMode);
33
33
  context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
34
34
  if (!(this.memberEnum in ContractInstanceMember)) {
35
35
  throw new InstructionExecutionError(`Invalid GETCONSTRACTINSTANCE member enum ${this.memberEnum}`);
@@ -57,9 +57,9 @@ export class GetContractInstance extends Instruction {
57
57
  break;
58
58
  }
59
59
  }
60
- const existsOffset = dstOffset;
61
- const memberValueOffset = dstOffset + 1;
62
- memory.set(existsOffset, new Uint1(exists ? 1 : 0));
63
- memory.set(memberValueOffset, memberValue);
60
+ memory.setSlice(dstOffset, [
61
+ new Uint1(exists ? 1 : 0),
62
+ memberValue
63
+ ]);
64
64
  }
65
65
  }