@aztec/simulator 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065

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 (317) hide show
  1. package/dest/client.d.ts +1 -3
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +0 -2
  4. package/dest/private/circuit_recording/circuit_recorder.d.ts +36 -23
  5. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  6. package/dest/private/circuit_recording/circuit_recorder.js +65 -69
  7. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +7 -19
  8. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  9. package/dest/private/circuit_recording/file_circuit_recorder.js +38 -42
  10. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  11. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  12. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
  13. package/dest/public/avm/avm_context.d.ts +41 -0
  14. package/dest/public/avm/avm_context.d.ts.map +1 -0
  15. package/dest/public/avm/avm_context.js +44 -0
  16. package/dest/public/avm/avm_contract_call_result.d.ts +32 -0
  17. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -0
  18. package/dest/public/avm/avm_contract_call_result.js +54 -0
  19. package/dest/public/avm/avm_execution_environment.d.ts +24 -0
  20. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -0
  21. package/dest/public/avm/avm_execution_environment.js +33 -0
  22. package/dest/public/avm/avm_gas.d.ts +44 -0
  23. package/dest/public/avm/avm_gas.d.ts.map +1 -0
  24. package/dest/public/avm/avm_gas.js +195 -0
  25. package/dest/public/avm/avm_machine_state.d.ts +98 -0
  26. package/dest/public/avm/avm_machine_state.d.ts.map +1 -0
  27. package/dest/public/avm/avm_machine_state.js +110 -0
  28. package/dest/public/avm/avm_memory_types.d.ts +275 -0
  29. package/dest/public/avm/avm_memory_types.d.ts.map +1 -0
  30. package/dest/public/avm/avm_memory_types.js +354 -0
  31. package/dest/public/avm/avm_simulator.d.ts +41 -0
  32. package/dest/public/avm/avm_simulator.d.ts.map +1 -0
  33. package/dest/public/avm/avm_simulator.js +192 -0
  34. package/dest/public/avm/avm_simulator_interface.d.ts +9 -0
  35. package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -0
  36. package/dest/public/avm/avm_simulator_interface.js +3 -0
  37. package/dest/public/avm/calldata.d.ts +51 -0
  38. package/dest/public/avm/calldata.d.ts.map +1 -0
  39. package/dest/public/avm/calldata.js +64 -0
  40. package/dest/public/avm/errors.d.ts +104 -0
  41. package/dest/public/avm/errors.d.ts.map +1 -0
  42. package/dest/public/avm/errors.js +141 -0
  43. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +2 -0
  44. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +1 -0
  45. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +22 -0
  46. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -0
  47. package/dest/public/avm/fixtures/avm_simulation_tester.js +84 -0
  48. package/dest/public/avm/{testing → fixtures}/base_avm_simulation_tester.d.ts +1 -1
  49. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -0
  50. package/dest/public/avm/{testing → fixtures}/base_avm_simulation_tester.js +1 -1
  51. package/dest/public/avm/fixtures/initializers.d.ts +42 -0
  52. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
  53. package/dest/public/avm/fixtures/initializers.js +45 -0
  54. package/dest/public/avm/fixtures/utils.d.ts +39 -0
  55. package/dest/public/avm/fixtures/utils.d.ts.map +1 -0
  56. package/dest/public/avm/{testing → fixtures}/utils.js +34 -1
  57. package/dest/public/avm/index.d.ts +2 -0
  58. package/dest/public/avm/index.d.ts.map +1 -0
  59. package/dest/public/avm/index.js +1 -0
  60. package/dest/public/avm/opcodes/accrued_substate.d.ts +74 -0
  61. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -0
  62. package/dest/public/avm/opcodes/accrued_substate.js +254 -0
  63. package/dest/public/avm/opcodes/addressing_mode.d.ts +31 -0
  64. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -0
  65. package/dest/public/avm/opcodes/addressing_mode.js +94 -0
  66. package/dest/public/avm/opcodes/arithmetic.d.ts +49 -0
  67. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -0
  68. package/dest/public/avm/opcodes/arithmetic.js +97 -0
  69. package/dest/public/avm/opcodes/bitwise.d.ts +42 -0
  70. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -0
  71. package/dest/public/avm/opcodes/bitwise.js +99 -0
  72. package/dest/public/avm/opcodes/comparators.d.ts +25 -0
  73. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -0
  74. package/dest/public/avm/opcodes/comparators.js +43 -0
  75. package/dest/public/avm/opcodes/contract.d.ts +21 -0
  76. package/dest/public/avm/opcodes/contract.d.ts.map +1 -0
  77. package/dest/public/avm/opcodes/contract.js +69 -0
  78. package/dest/public/avm/opcodes/control_flow.d.ts +41 -0
  79. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -0
  80. package/dest/public/avm/opcodes/control_flow.js +107 -0
  81. package/dest/public/avm/opcodes/conversion.d.ts +18 -0
  82. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -0
  83. package/dest/public/avm/opcodes/conversion.js +333 -0
  84. package/dest/public/avm/opcodes/ec_add.d.ts +17 -0
  85. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -0
  86. package/dest/public/avm/opcodes/ec_add.js +79 -0
  87. package/dest/public/avm/opcodes/environment_getters.d.ts +28 -0
  88. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -0
  89. package/dest/public/avm/opcodes/environment_getters.js +77 -0
  90. package/dest/public/avm/opcodes/external_calls.d.ts +59 -0
  91. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -0
  92. package/dest/public/avm/opcodes/external_calls.js +210 -0
  93. package/dest/public/avm/opcodes/hashing.d.ts +36 -0
  94. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -0
  95. package/dest/public/avm/opcodes/hashing.js +119 -0
  96. package/dest/public/avm/opcodes/index.d.ts +16 -0
  97. package/dest/public/avm/opcodes/index.d.ts.map +1 -0
  98. package/dest/public/avm/opcodes/index.js +15 -0
  99. package/dest/public/avm/opcodes/instruction.d.ts +74 -0
  100. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -0
  101. package/dest/public/avm/opcodes/instruction.js +95 -0
  102. package/dest/public/avm/opcodes/instruction_impl.d.ts +19 -0
  103. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -0
  104. package/dest/public/avm/opcodes/instruction_impl.js +30 -0
  105. package/dest/public/avm/opcodes/memory.d.ts +74 -0
  106. package/dest/public/avm/opcodes/memory.d.ts.map +1 -0
  107. package/dest/public/avm/opcodes/memory.js +257 -0
  108. package/dest/public/avm/opcodes/misc.d.ts +18 -0
  109. package/dest/public/avm/opcodes/misc.d.ts.map +1 -0
  110. package/dest/public/avm/opcodes/misc.js +73 -0
  111. package/dest/public/avm/opcodes/storage.d.ts +25 -0
  112. package/dest/public/avm/opcodes/storage.d.ts.map +1 -0
  113. package/dest/public/avm/opcodes/storage.js +78 -0
  114. package/dest/public/avm/revert_reason.d.ts +18 -0
  115. package/dest/public/avm/revert_reason.d.ts.map +1 -0
  116. package/dest/public/avm/revert_reason.js +39 -0
  117. package/dest/public/avm/serialization/buffer_cursor.d.ts +26 -0
  118. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -0
  119. package/dest/public/avm/serialization/buffer_cursor.js +99 -0
  120. package/dest/public/avm/serialization/bytecode_serialization.d.ts +17 -0
  121. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -0
  122. package/dest/public/avm/serialization/bytecode_serialization.js +336 -0
  123. package/dest/public/avm/serialization/instruction_serialization.d.ts +114 -0
  124. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -0
  125. package/dest/public/avm/serialization/instruction_serialization.js +261 -0
  126. package/dest/public/avm/test_utils.d.ts +15 -0
  127. package/dest/public/avm/test_utils.d.ts.map +1 -0
  128. package/dest/public/avm/test_utils.js +44 -0
  129. package/dest/public/debug_fn_name.d.ts +18 -0
  130. package/dest/public/debug_fn_name.d.ts.map +1 -0
  131. package/dest/public/debug_fn_name.js +37 -0
  132. package/dest/public/fixtures/amm_test.js +2 -2
  133. package/dest/public/fixtures/bulk_test.js +2 -2
  134. package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
  135. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  136. package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
  137. package/dest/public/fixtures/custom_bytecode_tests.d.ts +19 -0
  138. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
  139. package/dest/public/fixtures/custom_bytecode_tests.js +263 -0
  140. package/dest/public/fixtures/index.d.ts +4 -1
  141. package/dest/public/fixtures/index.d.ts.map +1 -1
  142. package/dest/public/fixtures/index.js +3 -0
  143. package/dest/public/fixtures/minimal_public_tx.d.ts +4 -0
  144. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
  145. package/dest/public/fixtures/minimal_public_tx.js +19 -0
  146. package/dest/public/fixtures/opcode_spammer.d.ts +122 -0
  147. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  148. package/dest/public/fixtures/opcode_spammer.js +1645 -0
  149. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +3 -3
  150. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  151. package/dest/public/fixtures/public_tx_simulation_tester.js +38 -8
  152. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  153. package/dest/public/fixtures/token_test.js +3 -3
  154. package/dest/public/fixtures/utils.d.ts +1 -1
  155. package/dest/public/fixtures/utils.d.ts.map +1 -1
  156. package/dest/public/fixtures/utils.js +5 -3
  157. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +4 -6
  158. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  159. package/dest/public/fuzzing/avm_fuzzer_simulator.js +7 -12
  160. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  161. package/dest/public/hinting_db_sources.d.ts +80 -0
  162. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  163. package/dest/public/hinting_db_sources.js +356 -0
  164. package/dest/public/index.d.ts +2 -2
  165. package/dest/public/index.d.ts.map +1 -1
  166. package/dest/public/index.js +1 -1
  167. package/dest/public/public_processor/guarded_merkle_tree.d.ts +3 -4
  168. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  169. package/dest/public/public_processor/guarded_merkle_tree.js +0 -3
  170. package/dest/public/public_processor/public_processor.d.ts +1 -1
  171. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  172. package/dest/public/public_processor/public_processor.js +22 -3
  173. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +2 -2
  174. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +53 -0
  175. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
  176. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +131 -0
  177. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  178. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  179. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  180. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  181. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  182. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  183. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +23 -0
  184. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  185. package/dest/public/public_tx_simulator/{dumping_public_tx_simulator.js → dumping_cpp_public_tx_simulator.js} +2 -2
  186. package/dest/public/public_tx_simulator/factories.d.ts +6 -6
  187. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  188. package/dest/public/public_tx_simulator/factories.js +6 -6
  189. package/dest/public/public_tx_simulator/index.d.ts +5 -3
  190. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  191. package/dest/public/public_tx_simulator/index.js +4 -2
  192. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +31 -0
  193. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
  194. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +51 -0
  195. package/dest/public/public_tx_simulator/public_tx_context.d.ts +135 -0
  196. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -0
  197. package/dest/public/public_tx_simulator/public_tx_context.js +298 -0
  198. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +74 -41
  199. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  200. package/dest/public/public_tx_simulator/public_tx_simulator.js +324 -98
  201. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +21 -0
  202. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
  203. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +415 -0
  204. package/dest/public/side_effect_trace.d.ts +87 -0
  205. package/dest/public/side_effect_trace.d.ts.map +1 -0
  206. package/dest/public/side_effect_trace.js +199 -0
  207. package/dest/public/side_effect_trace_interface.d.ts +22 -0
  208. package/dest/public/side_effect_trace_interface.d.ts.map +1 -0
  209. package/dest/public/side_effect_trace_interface.js +1 -0
  210. package/dest/public/state_manager/index.d.ts +2 -0
  211. package/dest/public/state_manager/index.d.ts.map +1 -0
  212. package/dest/public/state_manager/index.js +1 -0
  213. package/dest/public/state_manager/nullifiers.d.ts +61 -0
  214. package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
  215. package/dest/public/state_manager/nullifiers.js +92 -0
  216. package/dest/public/state_manager/public_storage.d.ts +66 -0
  217. package/dest/public/state_manager/public_storage.d.ts.map +1 -0
  218. package/dest/public/state_manager/public_storage.js +145 -0
  219. package/dest/public/state_manager/state_manager.d.ts +170 -0
  220. package/dest/public/state_manager/state_manager.d.ts.map +1 -0
  221. package/dest/public/state_manager/state_manager.js +402 -0
  222. package/dest/public/test_executor_metrics.d.ts +6 -1
  223. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  224. package/dest/public/test_executor_metrics.js +22 -0
  225. package/package.json +18 -17
  226. package/src/client.ts +0 -2
  227. package/src/private/circuit_recording/circuit_recorder.ts +84 -78
  228. package/src/private/circuit_recording/file_circuit_recorder.ts +38 -48
  229. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
  230. package/src/public/avm/avm_context.ts +61 -0
  231. package/src/public/avm/avm_contract_call_result.ts +69 -0
  232. package/src/public/avm/avm_execution_environment.ts +51 -0
  233. package/src/public/avm/avm_gas.ts +183 -0
  234. package/src/public/avm/avm_machine_state.ts +170 -0
  235. package/src/public/avm/avm_memory_types.ts +440 -0
  236. package/src/public/avm/avm_simulator.ts +279 -0
  237. package/src/public/avm/avm_simulator_interface.ts +8 -0
  238. package/src/public/avm/calldata.ts +101 -0
  239. package/src/public/avm/errors.ts +177 -0
  240. package/src/public/avm/fixtures/avm_simulation_tester.ts +122 -0
  241. package/src/public/avm/{testing → fixtures}/base_avm_simulation_tester.ts +1 -1
  242. package/src/public/avm/fixtures/initializers.ts +103 -0
  243. package/src/public/avm/{testing → fixtures}/utils.ts +40 -1
  244. package/src/public/avm/index.ts +1 -0
  245. package/src/public/avm/opcodes/accrued_substate.ts +285 -0
  246. package/src/public/avm/opcodes/addressing_mode.ts +111 -0
  247. package/src/public/avm/opcodes/arithmetic.ts +129 -0
  248. package/src/public/avm/opcodes/bitwise.ts +113 -0
  249. package/src/public/avm/opcodes/comparators.ts +55 -0
  250. package/src/public/avm/opcodes/contract.ts +76 -0
  251. package/src/public/avm/opcodes/control_flow.ts +123 -0
  252. package/src/public/avm/opcodes/conversion.ts +104 -0
  253. package/src/public/avm/opcodes/ec_add.ts +86 -0
  254. package/src/public/avm/opcodes/environment_getters.ts +87 -0
  255. package/src/public/avm/opcodes/external_calls.ts +262 -0
  256. package/src/public/avm/opcodes/hashing.ts +151 -0
  257. package/src/public/avm/opcodes/index.ts +15 -0
  258. package/src/public/avm/opcodes/instruction.ts +136 -0
  259. package/src/public/avm/opcodes/instruction_impl.ts +36 -0
  260. package/src/public/avm/opcodes/memory.ts +293 -0
  261. package/src/public/avm/opcodes/misc.ts +102 -0
  262. package/src/public/avm/opcodes/storage.ts +95 -0
  263. package/src/public/avm/revert_reason.ts +58 -0
  264. package/src/public/avm/serialization/buffer_cursor.ts +118 -0
  265. package/src/public/avm/serialization/bytecode_serialization.ts +215 -0
  266. package/src/public/avm/serialization/instruction_serialization.ts +249 -0
  267. package/src/public/avm/test_utils.ts +64 -0
  268. package/src/public/debug_fn_name.ts +52 -0
  269. package/src/public/fixtures/amm_test.ts +2 -2
  270. package/src/public/fixtures/bulk_test.ts +2 -2
  271. package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
  272. package/src/public/fixtures/custom_bytecode_tests.ts +435 -0
  273. package/src/public/fixtures/index.ts +3 -0
  274. package/src/public/fixtures/minimal_public_tx.ts +26 -0
  275. package/src/public/fixtures/opcode_spammer.ts +1713 -0
  276. package/src/public/fixtures/public_tx_simulation_tester.ts +36 -11
  277. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  278. package/src/public/fixtures/token_test.ts +3 -3
  279. package/src/public/fixtures/utils.ts +6 -11
  280. package/src/public/fuzzing/avm_fuzzer_simulator.ts +18 -15
  281. package/src/public/fuzzing/avm_simulator_bin.ts +5 -3
  282. package/src/public/hinting_db_sources.ts +610 -0
  283. package/src/public/index.ts +3 -3
  284. package/src/public/public_processor/guarded_merkle_tree.ts +2 -5
  285. package/src/public/public_processor/public_processor.ts +24 -3
  286. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +2 -2
  287. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +210 -0
  288. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +134 -0
  289. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +239 -0
  290. package/src/public/public_tx_simulator/{dumping_public_tx_simulator.ts → dumping_cpp_public_tx_simulator.ts} +2 -2
  291. package/src/public/public_tx_simulator/factories.ts +6 -6
  292. package/src/public/public_tx_simulator/index.ts +4 -2
  293. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +105 -0
  294. package/src/public/public_tx_simulator/public_tx_context.ts +482 -0
  295. package/src/public/public_tx_simulator/public_tx_simulator.ts +480 -150
  296. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +63 -0
  297. package/src/public/side_effect_trace.ts +293 -0
  298. package/src/public/side_effect_trace_interface.ts +28 -0
  299. package/src/public/state_manager/index.ts +1 -0
  300. package/src/public/state_manager/nullifiers.ts +103 -0
  301. package/src/public/state_manager/public_storage.ts +174 -0
  302. package/src/public/state_manager/state_manager.ts +569 -0
  303. package/src/public/test_executor_metrics.ts +24 -0
  304. package/dest/public/avm/testing/account_proof_fetcher.d.ts +0 -2
  305. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +0 -1
  306. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +0 -1
  307. package/dest/public/avm/testing/utils.d.ts +0 -32
  308. package/dest/public/avm/testing/utils.d.ts.map +0 -1
  309. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +0 -23
  310. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +0 -1
  311. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +0 -22
  312. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +0 -1
  313. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +0 -28
  314. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +0 -35
  315. /package/dest/public/avm/{testing → fixtures}/account_proof_fetcher.js +0 -0
  316. /package/src/public/avm/{testing → fixtures}/account_proof.json +0 -0
  317. /package/src/public/avm/{testing → fixtures}/account_proof_fetcher.ts +0 -0
@@ -0,0 +1,356 @@
1
+ var _computedKey;
2
+ import { sha256Trunc } from '@aztec/foundation/crypto/sha256';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { createLogger } from '@aztec/foundation/log';
5
+ import { AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractDbCommitCheckpointHint, AvmContractDbCreateCheckpointHint, AvmContractDbRevertCheckpointHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmDebugFunctionNameHint, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree } from '@aztec/stdlib/avm';
6
+ import { AppendOnlyTreeSnapshot, MerkleTreeId, NullifierLeaf, PublicDataTreeLeaf, getTreeName, merkleTreeIds } from '@aztec/stdlib/trees';
7
+ import { TreeSnapshots } from '@aztec/stdlib/tx';
8
+ import { strict as assert } from 'assert';
9
+ /**
10
+ * A public contracts database that forwards requests and collects AVM hints.
11
+ */ export class HintingPublicContractsDB {
12
+ db;
13
+ hints;
14
+ static log = createLogger('simulator:hinting-public-contracts-db');
15
+ checkpointActionCounter;
16
+ nextCheckpointId;
17
+ checkpointStack;
18
+ constructor(db, hints){
19
+ this.db = db;
20
+ this.hints = hints;
21
+ this.checkpointActionCounter = 0;
22
+ this.nextCheckpointId = 1;
23
+ this.checkpointStack = [
24
+ 0
25
+ ];
26
+ }
27
+ async getContractInstance(address, timestamp) {
28
+ const instance = await this.db.getContractInstance(address, timestamp);
29
+ if (instance) {
30
+ const hintKey = this.getHintKey();
31
+ this.hints.contractInstances.push(new AvmContractInstanceHint(hintKey, instance.address, instance.salt, instance.deployer, instance.currentContractClassId, instance.originalContractClassId, instance.initializationHash, instance.immutablesHash, instance.publicKeys));
32
+ HintingPublicContractsDB.log.trace(`[getContractInstance:${hintKey}] Added contract instance ${instance.address.toString()} to hints.`);
33
+ }
34
+ return instance;
35
+ }
36
+ async getContractClass(contractClassId) {
37
+ const contractClass = await this.db.getContractClass(contractClassId);
38
+ if (contractClass) {
39
+ const hintKey = this.getHintKey();
40
+ this.hints.contractClasses.push(new AvmContractClassHint(hintKey, contractClass.id, contractClass.artifactHash, contractClass.privateFunctionsRoot, contractClass.packedBytecode));
41
+ HintingPublicContractsDB.log.trace(`[getContractClass:${hintKey}] Added contract class ${contractClassId.toString()} to hints.`);
42
+ }
43
+ return contractClass;
44
+ }
45
+ async getBytecodeCommitment(contractClassId) {
46
+ const commitment = await this.db.getBytecodeCommitment(contractClassId);
47
+ if (commitment) {
48
+ const hintKey = this.getHintKey();
49
+ this.hints.bytecodeCommitments.push(new AvmBytecodeCommitmentHint(hintKey, contractClassId, commitment));
50
+ HintingPublicContractsDB.log.trace(`[getBytecodeCommitment:${hintKey}] Added bytecode commitment ${commitment.toString()} to hints for contract class ${contractClassId.toString()}.`);
51
+ }
52
+ return commitment;
53
+ }
54
+ async getDebugFunctionName(contractAddress, selector) {
55
+ const name = await this.db.getDebugFunctionName(contractAddress, selector);
56
+ if (name) {
57
+ HintingPublicContractsDB.log.debug(`[getDebugFunctionName] Adding debug function name ${name} to hints for contract ${contractAddress.toString()} and selector ${selector.toString()}.`);
58
+ // We hint selector as a field to make things way simpler in C++.
59
+ this.hints.debugFunctionNames.push(new AvmDebugFunctionNameHint(contractAddress, selector.toField(), name));
60
+ }
61
+ return name;
62
+ }
63
+ createCheckpoint() {
64
+ const hintKey = this.getHintKey();
65
+ this.checkpointActionCounter++;
66
+ const oldCheckpointId = this.getCurrentCheckpointId();
67
+ this.db.createCheckpoint();
68
+ const newCheckpointId = this.nextCheckpointId++;
69
+ this.checkpointStack.push(newCheckpointId);
70
+ this.hints.contractDbCreateCheckpointHints.push(new AvmContractDbCreateCheckpointHint(hintKey, oldCheckpointId, newCheckpointId));
71
+ HintingPublicContractsDB.log.trace(`[createCheckpoint:${hintKey}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId}.`);
72
+ }
73
+ commitCheckpoint() {
74
+ const hintKey = this.getHintKey();
75
+ this.checkpointActionCounter++;
76
+ const oldCheckpointId = this.getCurrentCheckpointId();
77
+ this.db.commitCheckpoint();
78
+ this.checkpointStack.pop();
79
+ const newCheckpointId = this.getCurrentCheckpointId();
80
+ this.hints.contractDbCommitCheckpointHints.push(new AvmContractDbCommitCheckpointHint(hintKey, oldCheckpointId, newCheckpointId));
81
+ HintingPublicContractsDB.log.trace(`[commitCheckpoint:${hintKey}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId}.`);
82
+ }
83
+ revertCheckpoint() {
84
+ const hintKey = this.getHintKey();
85
+ this.checkpointActionCounter++;
86
+ const oldCheckpointId = this.getCurrentCheckpointId();
87
+ this.db.revertCheckpoint();
88
+ this.checkpointStack.pop();
89
+ const newCheckpointId = this.getCurrentCheckpointId();
90
+ this.hints.contractDbRevertCheckpointHints.push(new AvmContractDbRevertCheckpointHint(hintKey, oldCheckpointId, newCheckpointId));
91
+ HintingPublicContractsDB.log.trace(`[revertCheckpoint:${hintKey}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId}.`);
92
+ }
93
+ // Private methods.
94
+ getHintKey() {
95
+ return this.checkpointActionCounter;
96
+ }
97
+ getCurrentCheckpointId() {
98
+ return this.checkpointStack[this.checkpointStack.length - 1];
99
+ }
100
+ }
101
+ _computedKey = Symbol.asyncDispose;
102
+ /**
103
+ * A low-level merkle DB that collects hints.
104
+ */ export class HintingMerkleWriteOperations {
105
+ db;
106
+ hints;
107
+ static log = createLogger('simulator:hinting-merkle-db');
108
+ // This stack is only for debugging purposes.
109
+ // The top of the stack is the current checkpoint id.
110
+ // We need the stack to be non-empty and use 0 as an arbitrary initial checkpoint id.
111
+ // This is not necessarily a checkpoint that happened, but whatever tree state we start with.
112
+ checkpointStack;
113
+ nextCheckpointId;
114
+ checkpointActionCounter;
115
+ static async create(db, hints) {
116
+ const hintingTreesDB = new HintingMerkleWriteOperations(db, hints);
117
+ const startStateReference = await db.getStateReference();
118
+ hints.startingTreeRoots = new TreeSnapshots(startStateReference.l1ToL2MessageTree, startStateReference.partial.noteHashTree, startStateReference.partial.nullifierTree, startStateReference.partial.publicDataTree);
119
+ return hintingTreesDB;
120
+ }
121
+ // Use create() to instantiate.
122
+ constructor(db, hints){
123
+ this.db = db;
124
+ this.hints = hints;
125
+ this.checkpointStack = [
126
+ 0
127
+ ];
128
+ this.nextCheckpointId = 1;
129
+ this.checkpointActionCounter = 0;
130
+ }
131
+ // Getters.
132
+ async getSiblingPath(treeId, index) {
133
+ const path = await this.db.getSiblingPath(treeId, index);
134
+ const key = await this.getHintKey(treeId);
135
+ this.hints.getSiblingPathHints.push(new AvmGetSiblingPathHint(key, treeId, index, path.toFields()));
136
+ return Promise.resolve(path);
137
+ }
138
+ async getPreviousValueIndex(treeId, value) {
139
+ const result = await this.db.getPreviousValueIndex(treeId, value);
140
+ if (result === undefined) {
141
+ throw new Error(`getPreviousValueIndex(${getTreeName(treeId)}, ${value}}) returned undefined. Possible wrong tree setup or corrupted state.`);
142
+ }
143
+ const key = await this.getHintKey(treeId);
144
+ this.hints.getPreviousValueIndexHints.push(new AvmGetPreviousValueIndexHint(key, treeId, new Fr(value), result.index, result.alreadyPresent));
145
+ return result;
146
+ }
147
+ async getLeafPreimage(treeId, index) {
148
+ const preimage = await this.db.getLeafPreimage(treeId, index);
149
+ if (preimage) {
150
+ const key = await this.getHintKey(treeId);
151
+ switch(treeId){
152
+ case MerkleTreeId.PUBLIC_DATA_TREE:
153
+ this.hints.getLeafPreimageHintsPublicDataTree.push(new AvmGetLeafPreimageHintPublicDataTree(key, index, preimage));
154
+ break;
155
+ case MerkleTreeId.NULLIFIER_TREE:
156
+ this.hints.getLeafPreimageHintsNullifierTree.push(new AvmGetLeafPreimageHintNullifierTree(key, index, preimage));
157
+ break;
158
+ default:
159
+ // Use getLeafValue for the other trees.
160
+ throw new Error('getLeafPreimage only supported for PublicDataTree and NullifierTree!');
161
+ break;
162
+ }
163
+ }
164
+ return preimage;
165
+ }
166
+ async getLeafValue(treeId, index) {
167
+ // Use getLeafPreimage for PublicDataTree and NullifierTree.
168
+ assert(treeId == MerkleTreeId.NOTE_HASH_TREE || treeId == MerkleTreeId.L1_TO_L2_MESSAGE_TREE);
169
+ const value = await this.db.getLeafValue(treeId, index);
170
+ if (value) {
171
+ const key = await this.getHintKey(treeId);
172
+ // We can cast to Fr because we know the type of the tree.
173
+ this.hints.getLeafValueHints.push(new AvmGetLeafValueHint(key, treeId, index, value));
174
+ }
175
+ return value;
176
+ }
177
+ // State modification.
178
+ // FIXME(fcarreiro): This is a horrible interface (in the merkle ops). It's receiving the leaves as buffers,
179
+ // from a leaf class that is NOT the one that will be used to write. Make this type safe.
180
+ async sequentialInsert(treeId, leaves) {
181
+ // Use appendLeaf for NoteHashTree and L1ToL2MessageTree.
182
+ assert(treeId == MerkleTreeId.PUBLIC_DATA_TREE || treeId == MerkleTreeId.NULLIFIER_TREE);
183
+ // We only support 1 leaf at a time for now. Can easily be extended.
184
+ assert(leaves.length === 1, 'sequentialInsert supports only one leaf at a time!');
185
+ const beforeState = await this.getHintKey(treeId);
186
+ const result = await this.db.sequentialInsert(treeId, leaves);
187
+ const afterState = await this.getHintKey(treeId);
188
+ HintingMerkleWriteOperations.logTreeChange('sequentialInsert', beforeState, afterState, treeId);
189
+ switch(treeId){
190
+ case MerkleTreeId.PUBLIC_DATA_TREE:
191
+ this.hints.sequentialInsertHintsPublicDataTree.push(new AvmSequentialInsertHintPublicDataTree(beforeState, afterState, treeId, PublicDataTreeLeaf.fromBuffer(leaves[0]), {
192
+ leaf: result.lowLeavesWitnessData[0].leafPreimage,
193
+ index: result.lowLeavesWitnessData[0].index,
194
+ path: result.lowLeavesWitnessData[0].siblingPath.toFields()
195
+ }, {
196
+ leaf: result.insertionWitnessData[0].leafPreimage,
197
+ index: result.insertionWitnessData[0].index,
198
+ path: result.insertionWitnessData[0].siblingPath.toFields()
199
+ }));
200
+ break;
201
+ case MerkleTreeId.NULLIFIER_TREE:
202
+ this.hints.sequentialInsertHintsNullifierTree.push(new AvmSequentialInsertHintNullifierTree(beforeState, afterState, treeId, NullifierLeaf.fromBuffer(leaves[0]), {
203
+ leaf: result.lowLeavesWitnessData[0].leafPreimage,
204
+ index: result.lowLeavesWitnessData[0].index,
205
+ path: result.lowLeavesWitnessData[0].siblingPath.toFields()
206
+ }, {
207
+ leaf: result.insertionWitnessData[0].leafPreimage,
208
+ index: result.insertionWitnessData[0].index,
209
+ path: result.insertionWitnessData[0].siblingPath.toFields()
210
+ }));
211
+ break;
212
+ default:
213
+ throw new Error('sequentialInsert only supported for PublicDataTree and NullifierTree!');
214
+ break;
215
+ }
216
+ return result;
217
+ }
218
+ async appendLeaves(treeId, leaves) {
219
+ // Use sequentialInsert for PublicDataTree and NullifierTree.
220
+ assert(treeId == MerkleTreeId.NOTE_HASH_TREE || treeId == MerkleTreeId.L1_TO_L2_MESSAGE_TREE);
221
+ // We need to process each leaf individually because we need the sibling path after insertion, to be able to constraint the insertion.
222
+ // TODO(https://github.com/AztecProtocol/aztec-packages/issues/13380): This can be changed if the world state appendLeaves returns the sibling paths.
223
+ if (leaves.length === 1) {
224
+ await this.appendLeafInternal(treeId, leaves[0]);
225
+ return;
226
+ } else {
227
+ // TODO(dbanks12): NON-HINTING! We skip hinting here for now because:
228
+ // 1. We only ever append multiple leaves (for now) when padding (all empty leaves).
229
+ // 2. We don't need hints per-item when padding.
230
+ // 3. In order to get per-item hints today, you need to append one-at-a-time (mentioned above), which is VERY slow.
231
+ await this.db.appendLeaves(treeId, leaves);
232
+ }
233
+ }
234
+ async createCheckpoint() {
235
+ const actionCounter = this.checkpointActionCounter++;
236
+ const oldCheckpointId = this.getCurrentCheckpointId();
237
+ const treesStateHash = await this.getTreesStateHash();
238
+ const depth = await this.db.createCheckpoint();
239
+ this.checkpointStack.push(this.nextCheckpointId++);
240
+ const newCheckpointId = this.getCurrentCheckpointId();
241
+ this.hints.createCheckpointHints.push(new AvmCreateCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId));
242
+ HintingMerkleWriteOperations.log.trace(`[createCheckpoint:${actionCounter}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId} at trees state ${treesStateHash}.`);
243
+ return depth;
244
+ }
245
+ commitAllCheckpointsTo(_depth) {
246
+ throw new Error('commitAllCheckpointsTo is not supported in HintingMerkleWriteOperations.');
247
+ }
248
+ revertAllCheckpointsTo(_depth) {
249
+ throw new Error('revertAllCheckpointsTo is not supported in HintingMerkleWriteOperations.');
250
+ }
251
+ async commitCheckpoint() {
252
+ const actionCounter = this.checkpointActionCounter++;
253
+ const oldCheckpointId = this.getCurrentCheckpointId();
254
+ const treesStateHash = await this.getTreesStateHash();
255
+ await this.db.commitCheckpoint();
256
+ this.checkpointStack.pop();
257
+ const newCheckpointId = this.getCurrentCheckpointId();
258
+ this.hints.commitCheckpointHints.push(new AvmCommitCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId));
259
+ HintingMerkleWriteOperations.log.trace(`[commitCheckpoint:${actionCounter}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId} at trees state ${treesStateHash}.`);
260
+ }
261
+ async revertCheckpoint() {
262
+ const actionCounter = this.checkpointActionCounter++;
263
+ const oldCheckpointId = this.getCurrentCheckpointId();
264
+ const treesStateHash = await this.getTreesStateHash();
265
+ const beforeState = {
266
+ [MerkleTreeId.PUBLIC_DATA_TREE]: await this.getHintKey(MerkleTreeId.PUBLIC_DATA_TREE),
267
+ [MerkleTreeId.NULLIFIER_TREE]: await this.getHintKey(MerkleTreeId.NULLIFIER_TREE),
268
+ [MerkleTreeId.NOTE_HASH_TREE]: await this.getHintKey(MerkleTreeId.NOTE_HASH_TREE),
269
+ [MerkleTreeId.L1_TO_L2_MESSAGE_TREE]: await this.getHintKey(MerkleTreeId.L1_TO_L2_MESSAGE_TREE),
270
+ [MerkleTreeId.ARCHIVE]: await this.getHintKey(MerkleTreeId.ARCHIVE)
271
+ };
272
+ await this.db.revertCheckpoint();
273
+ this.checkpointStack.pop();
274
+ const newCheckpointId = this.getCurrentCheckpointId();
275
+ const afterState = {
276
+ [MerkleTreeId.PUBLIC_DATA_TREE]: await this.getHintKey(MerkleTreeId.PUBLIC_DATA_TREE),
277
+ [MerkleTreeId.NULLIFIER_TREE]: await this.getHintKey(MerkleTreeId.NULLIFIER_TREE),
278
+ [MerkleTreeId.NOTE_HASH_TREE]: await this.getHintKey(MerkleTreeId.NOTE_HASH_TREE),
279
+ [MerkleTreeId.L1_TO_L2_MESSAGE_TREE]: await this.getHintKey(MerkleTreeId.L1_TO_L2_MESSAGE_TREE),
280
+ [MerkleTreeId.ARCHIVE]: await this.getHintKey(MerkleTreeId.ARCHIVE)
281
+ };
282
+ this.hints.revertCheckpointHints.push(AvmRevertCheckpointHint.create(actionCounter, oldCheckpointId, newCheckpointId, beforeState, afterState));
283
+ HintingMerkleWriteOperations.log.trace(`[revertCheckpoint:${actionCounter}] Checkpoint evolved ${oldCheckpointId} -> ${newCheckpointId} at trees state ${treesStateHash}.`);
284
+ for (const treeId of merkleTreeIds()){
285
+ HintingMerkleWriteOperations.logTreeChange('revertCheckpoint', beforeState[treeId], afterState[treeId], treeId);
286
+ }
287
+ }
288
+ // Private methods.
289
+ async getHintKey(treeId) {
290
+ const treeInfo = await this.db.getTreeInfo(treeId);
291
+ return new AppendOnlyTreeSnapshot(Fr.fromBuffer(treeInfo.root), Number(treeInfo.size));
292
+ }
293
+ getCurrentCheckpointId() {
294
+ return this.checkpointStack[this.checkpointStack.length - 1];
295
+ }
296
+ // For logging/debugging purposes.
297
+ async getTreesStateHash() {
298
+ const stateReferenceFields = (await this.db.getStateReference()).toFields();
299
+ return Fr.fromBuffer(sha256Trunc(Buffer.concat(stateReferenceFields.map((field)=>field.toBuffer()))));
300
+ }
301
+ static logTreeChange(action, beforeState, afterState, treeId) {
302
+ const treeName = getTreeName(treeId);
303
+ HintingMerkleWriteOperations.log.trace(`[${action}] ${treeName} tree state: ${beforeState.root}, ${beforeState.nextAvailableLeafIndex} -> ${afterState.root}, ${afterState.nextAvailableLeafIndex}.`);
304
+ }
305
+ async appendLeafInternal(treeId, leaf) {
306
+ // Use sequentialInsert for PublicDataTree and NullifierTree.
307
+ assert(treeId == MerkleTreeId.NOTE_HASH_TREE || treeId == MerkleTreeId.L1_TO_L2_MESSAGE_TREE);
308
+ const beforeState = await this.getHintKey(treeId);
309
+ await this.db.appendLeaves(treeId, [
310
+ leaf
311
+ ]);
312
+ const afterState = await this.getHintKey(treeId);
313
+ HintingMerkleWriteOperations.logTreeChange('appendLeaves', beforeState, afterState, treeId);
314
+ this.hints.appendLeavesHints.push(new AvmAppendLeavesHint(beforeState, afterState, treeId, [
315
+ leaf
316
+ ]));
317
+ return await this.getSiblingPath(treeId, BigInt(beforeState.nextAvailableLeafIndex));
318
+ }
319
+ // Non-hinted required methods from MerkleTreeWriteOperations interface
320
+ async getTreeInfo(treeId) {
321
+ return await this.db.getTreeInfo(treeId);
322
+ }
323
+ async getStateReference() {
324
+ return await this.db.getStateReference();
325
+ }
326
+ getInitialHeader() {
327
+ return this.db.getInitialHeader();
328
+ }
329
+ getRevision() {
330
+ return this.db.getRevision();
331
+ }
332
+ async updateArchive(header) {
333
+ return await this.db.updateArchive(header);
334
+ }
335
+ async batchInsert(treeId, leaves, subtreeHeight) {
336
+ return await this.db.batchInsert(treeId, leaves, subtreeHeight);
337
+ }
338
+ async close() {
339
+ return await this.db.close();
340
+ }
341
+ async [_computedKey]() {
342
+ await this.close();
343
+ }
344
+ async findLeafIndices(treeId, values) {
345
+ return await this.db.findLeafIndices(treeId, values);
346
+ }
347
+ findSiblingPaths(treeId, values) {
348
+ return this.db.findSiblingPaths(treeId, values);
349
+ }
350
+ async findLeafIndicesAfter(treeId, values, startIndex) {
351
+ return await this.db.findLeafIndicesAfter(treeId, values, startIndex);
352
+ }
353
+ async getBlockNumbersForLeafIndices(treeId, leafIndices) {
354
+ return await this.db.getBlockNumbersForLeafIndices(treeId, leafIndices);
355
+ }
356
+ }
@@ -1,7 +1,7 @@
1
1
  export { PublicContractsDB } from './public_db_sources.js';
2
2
  export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
3
3
  export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
4
- export { PublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, type PublicTxSimulatorInterface, TelemetryPublicTxSimulator, } from './public_tx_simulator/index.js';
4
+ export { CppPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingCppPublicTxSimulator, type PublicTxSimulatorInterface, TelemetryCppPublicTxSimulator, } from './public_tx_simulator/index.js';
5
5
  export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
6
6
  export { getCallRequestsWithCalldataByPhase } from './utils.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUNBQXVDLEVBQ3ZDLHdCQUF3QixFQUN4QixLQUFLLDBCQUEwQixFQUMvQiwwQkFBMEIsR0FDM0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxZQUFZLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDIn0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pHLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixLQUFLLDBCQUEwQixFQUMvQiw2QkFBNkIsR0FDOUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxZQUFZLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EACL,iBAAiB,EACjB,uCAAuC,EACvC,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EACL,oBAAoB,EACpB,uCAAuC,EACvC,2BAA2B,EAC3B,KAAK,0BAA0B,EAC/B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { PublicContractsDB } from './public_db_sources.js';
2
2
  export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
3
3
  export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
4
- export { PublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator/index.js';
4
+ export { CppPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingCppPublicTxSimulator, TelemetryCppPublicTxSimulator } from './public_tx_simulator/index.js';
5
5
  export { getCallRequestsWithCalldataByPhase } from './utils.js';
@@ -2,7 +2,7 @@ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import type { IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
3
3
  import type { BatchInsertionResult, IndexedTreeId, MerkleTreeId, MerkleTreeLeafType, MerkleTreeWriteOperations, SequentialInsertionResult, TreeHeights, TreeInfo } from '@aztec/stdlib/trees';
4
4
  import type { BlockHeader, StateReference } from '@aztec/stdlib/tx';
5
- import type { WorldStateRevision } from '@aztec/stdlib/world-state';
5
+ import type { WorldStateRevision, WorldStateRevisionWithHandle } from '@aztec/stdlib/world-state';
6
6
  /**
7
7
  * Wraps an instance of `MerkleTreeWriteOperations` to allow the sequencer to gate access.
8
8
  * If transactions execution goes past the deadline, the simulator will continue to execute and update the world state
@@ -27,8 +27,7 @@ export declare class GuardedMerkleTreeOperations implements MerkleTreeWriteOpera
27
27
  getTreeInfo(treeId: MerkleTreeId): Promise<TreeInfo>;
28
28
  getStateReference(): Promise<StateReference>;
29
29
  getInitialHeader(): BlockHeader;
30
- getRevision(): WorldStateRevision;
31
- getIpcPath(): string;
30
+ getRevision(): WorldStateRevision | WorldStateRevisionWithHandle;
32
31
  getSiblingPath<ID extends MerkleTreeId>(treeId: ID, index: bigint): Promise<SiblingPath<TreeHeights[ID]>>;
33
32
  getPreviousValueIndex<ID extends IndexedTreeId>(treeId: ID, value: bigint): Promise<{
34
33
  index: bigint;
@@ -49,4 +48,4 @@ export declare class GuardedMerkleTreeOperations implements MerkleTreeWriteOpera
49
48
  index: bigint;
50
49
  } | undefined)[]>;
51
50
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL2d1YXJkZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQ1Ysb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFOzs7OztHQUtHO0FBRUgscUJBQWEsMkJBQTRCLFlBQVcseUJBQXlCO0lBSS9ELE9BQU8sQ0FBQyxNQUFNO0lBSDFCLE9BQU8sQ0FBQyxTQUFTLENBQVM7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBcUI7SUFFeEMsWUFBb0IsTUFBTSxFQUFFLHlCQUF5QixFQUVwRDtJQUVELE9BQU8sQ0FBQyxLQUFLO0lBT2IsT0FBTyxDQUFDLFlBQVk7SUFRYixpQkFBaUIsSUFBSSx5QkFBeUIsQ0FFcEQ7SUFHSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0xQjtJQUdELFlBQVksQ0FBQyxFQUFFLFNBQVMsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVqRztJQUVELGFB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
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL2d1YXJkZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQ1Ysb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxHOzs7OztHQUtHO0FBRUgscUJBQWEsMkJBQTRCLFlBQVcseUJBQXlCO0lBSS9ELE9BQU8sQ0FBQyxNQUFNO0lBSDFCLE9BQU8sQ0FBQyxTQUFTLENBQVM7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBcUI7SUFFeEMsWUFBb0IsTUFBTSxFQUFFLHlCQUF5QixFQUVwRDtJQUVELE9BQU8sQ0FBQyxLQUFLO0lBT2IsT0FBTyxDQUFDLFlBQVk7SUFRYixpQkFBaUIsSUFBSSx5QkFBeUIsQ0FFcEQ7SUFHSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0xQjtJQUdELFlBQVksQ0FBQyxFQUFFLFNBQVMsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxD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
@@ -1 +1 @@
1
- {"version":3,"file":"guarded_merkle_tree.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/guarded_merkle_tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guarded_merkle_tree.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/guarded_merkle_tree.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,6 @@ _computedKey = Symbol.asyncDispose;
71
71
  getRevision() {
72
72
  return this.target.getRevision();
73
73
  }
74
- getIpcPath() {
75
- return this.target.getIpcPath();
76
- }
77
74
  getSiblingPath(treeId, index) {
78
75
  return this.guardAndPush(()=>this.target.getSiblingPath(treeId, index));
79
76
  }
@@ -64,4 +64,4 @@ export declare class PublicProcessor implements Traceable {
64
64
  */
65
65
  private static generateProvingRequest;
66
66
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFJdkYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7R0FFRztBQUNILHFCQUFhLHNCQUFzQjtJQUcvQixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUo1QyxPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLFlBQ1Usa0JBQWtCLEVBQUUsa0JBQWtCLEVBQ3RDLFlBQVksR0FBRSxZQUFpQyxFQUM3QyxlQUFlLEdBQUUsZUFBc0MsRUFDakUsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUcxQjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUNYLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxFQUFFLHFCQUFxQixFQUM3QixXQUFXLEdBQUUsaUJBQTBGLEdBQ3RHLGVBQWUsQ0FhakI7SUFFRCxTQUFTLENBQUMsdUJBQXVCLENBQy9CLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsV0FBVyxFQUFFLGlCQUFpQixFQUM5QixlQUFlLEVBQUUsZUFBZSxFQUNoQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FDeEMsMEJBQTBCLENBUzVCO0NBQ0Y7QUFvQkQ7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxTQUFTO0lBRzdDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUMxQyxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDdkQsT0FBTyxDQUFDLFlBQVk7SUFFcEIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxhQUFhO0lBVnZCLE9BQU8sQ0FBQyxPQUFPLENBQXlCO0lBQ3hDLFlBQ1ksZUFBZSxFQUFFLGVBQWUsRUFDbEMsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQzVDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQy9DLFlBQVksRUFBRSxZQUFZLEVBQ2xDLGVBQWUsNkJBQXdDLEVBQy9DLEdBQUcsRUFBRSxNQUFNLEVBQ1gsSUFBSSxHQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsNEJBQTRCLEdBQUcsaUNBQWlDLENBQU0sRUFDbEcsYUFBYSxHQUFFLGFBQXVDLEVBRy9EO0lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUVuQjtJQUVEOzs7Ozs7T0FNRztJQUNVLE9BQU8sQ0FDbEIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ3JDLE1BQU0sR0FBRSxxQkFBMEIsRUFDbEMsU0FBUyxHQUFFLHdCQUE2QixHQUN2QyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FtT3JGO1lBRWEsd0JBQXdCO1lBaUJ4QixTQUFTO1lBaUNULGdDQUFnQztZQTRCaEMsdUJBQXVCO0lBaUNyQyxPQUFPLENBQUMsbUJBQW1CO1lBMEJiLGdDQUFnQztZQTBCaEMsb0JBQW9CO1lBK0JwQix3QkFBd0I7SUF5Q3RDOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7Q0FTdEMifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFJdkYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7R0FFRztBQUNILHFCQUFhLHNCQUFzQjtJQUcvQixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUo1QyxPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLFlBQ1Usa0JBQWtCLEVBQUUsa0JBQWtCLEVBQ3RDLFlBQVksR0FBRSxZQUFpQyxFQUM3QyxlQUFlLEdBQUUsZUFBc0MsRUFDakUsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUcxQjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUNYLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxFQUFFLHFCQUFxQixFQUM3QixXQUFXLEdBQUUsaUJBQTBGLEdBQ3RHLGVBQWUsQ0FhakI7SUFFRCxTQUFTLENBQUMsdUJBQXVCLENBQy9CLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsV0FBVyxFQUFFLGlCQUFpQixFQUM5QixlQUFlLEVBQUUsZUFBZSxFQUNoQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FDeEMsMEJBQTBCLENBUzVCO0NBQ0Y7QUFvQkQ7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxTQUFTO0lBRzdDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUMxQyxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDdkQsT0FBTyxDQUFDLFlBQVk7SUFFcEIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxhQUFhO0lBVnZCLE9BQU8sQ0FBQyxPQUFPLENBQXlCO0lBQ3hDLFlBQ1ksZUFBZSxFQUFFLGVBQWUsRUFDbEMsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQzVDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQy9DLFlBQVksRUFBRSxZQUFZLEVBQ2xDLGVBQWUsNkJBQXdDLEVBQy9DLEdBQUcsRUFBRSxNQUFNLEVBQ1gsSUFBSSxHQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsNEJBQTRCLEdBQUcsaUNBQWlDLENBQU0sRUFDbEcsYUFBYSxHQUFFLGFBQXVDLEVBRy9EO0lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUVuQjtJQUVEOzs7Ozs7T0FNRztJQUNVLE9BQU8sQ0FDbEIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ3JDLE1BQU0sR0FBRSxxQkFBMEIsRUFDbEMsU0FBUyxHQUFFLHdCQUE2QixHQUN2QyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FtUHJGO1lBRWEsd0JBQXdCO1lBaUJ4QixTQUFTO1lBaUNULGdDQUFnQztZQTRCaEMsdUJBQXVCO0lBaUNyQyxPQUFPLENBQUMsbUJBQW1CO1lBMEJiLGdDQUFnQztZQTBCaEMsb0JBQW9CO1lBK0JwQix3QkFBd0I7SUF5Q3RDOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7Q0FTdEMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
@@ -371,7 +371,7 @@ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
371
371
  return (_apply_decs_2203_r = applyDecs2203RFactory())(targetClass, memberDecs, classDecs, parentClass);
372
372
  }
373
373
  var _dec, _dec1, _dec2, _initProto;
374
- import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT } from '@aztec/constants';
374
+ import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TX_BLOB_DATA_SIZE_IN_FIELDS, NULLIFIER_SUBTREE_HEIGHT } from '@aztec/constants';
375
375
  import { padArrayEnd } from '@aztec/foundation/collection';
376
376
  import { Fr } from '@aztec/foundation/curves/bn254';
377
377
  import { createLogger } from '@aztec/foundation/log';
@@ -391,7 +391,7 @@ import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-clie
391
391
  import { ForkCheckpoint } from '@aztec/world-state/native';
392
392
  import { AssertionError } from 'assert';
393
393
  import { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
394
- import { TelemetryPublicTxSimulator } from '../public_tx_simulator/index.js';
394
+ import { TelemetryCppPublicTxSimulator } from '../public_tx_simulator/index.js';
395
395
  import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
396
396
  import { PublicProcessorMetrics } from './public_processor_metrics.js';
397
397
  /**
@@ -418,7 +418,7 @@ import { PublicProcessorMetrics } from './public_processor_metrics.js';
418
418
  return new PublicProcessor(globalVariables, guardedFork, contractsDB, publicTxSimulator, this.dateProvider, this.telemetryClient, createLogger('simulator:public-processor', this.log.getBindings()));
419
419
  }
420
420
  createPublicTxSimulator(merkleTree, contractsDB, globalVariables, config) {
421
- return new TelemetryPublicTxSimulator(merkleTree, contractsDB, globalVariables, this.telemetryClient, config, this.log.getBindings());
421
+ return new TelemetryCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, this.telemetryClient, config, this.log.getBindings());
422
422
  }
423
423
  }
424
424
  class PublicProcessorTimeoutError extends Error {
@@ -585,6 +585,25 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
585
585
  }
586
586
  const txBlobFields = processedTx.txEffect.getNumBlobFields();
587
587
  const txSize = txBlobFields * Fr.SIZE_IN_BYTES;
588
+ // A single tx's effects must fit within the per-tx blob encoding: the rollup circuit encodes each
589
+ // tx into a fixed [Field; MAX_TX_BLOB_DATA_SIZE_IN_FIELDS] array, so a larger tx effect cannot be
590
+ // proven. The per-category side-effect limits already guarantee this upstream, so reaching here means
591
+ // the tx is malformed; reject it as invalid rather than letting it poison proving.
592
+ if (txBlobFields > MAX_TX_BLOB_DATA_SIZE_IN_FIELDS) {
593
+ const error = new Error(`Tx ${txHash} produced ${txBlobFields} blob fields, exceeding the per-tx maximum of ${MAX_TX_BLOB_DATA_SIZE_IN_FIELDS}`);
594
+ this.log.error(error.message, {
595
+ txHash,
596
+ txBlobFields
597
+ });
598
+ await checkpoint.revert();
599
+ this.contractsDB.revertCheckpoint();
600
+ failed.push({
601
+ tx,
602
+ error
603
+ });
604
+ returns.push(new NestedProcessReturnValues([]));
605
+ continue;
606
+ }
588
607
  // If the actual blob fields of this tx would exceed the limit, skip it.
589
608
  // Note: maxBlobFields already accounts for block end blob fields and previous blocks in checkpoint.
590
609
  if (maxBlobFields !== undefined && totalBlobFields + txBlobFields > maxBlobFields) {
@@ -13,7 +13,7 @@ export class ContractProviderForCpp {
13
13
  this.globalVariables = globalVariables;
14
14
  this.getContractInstance = async (address)=>{
15
15
  this.log.trace(`Contract provider callback: getContractInstance(${address})`);
16
- const aztecAddr = AztecAddress.fromString(address);
16
+ const aztecAddr = AztecAddress.fromStringUnsafe(address);
17
17
  const instance = await this.contractsDB.getContractInstance(aztecAddr, this.globalVariables.timestamp);
18
18
  if (!instance) {
19
19
  this.log.debug(`Contract instance not found: ${address}`);
@@ -58,7 +58,7 @@ export class ContractProviderForCpp {
58
58
  this.getDebugFunctionName = async (address, selector)=>{
59
59
  this.log.trace(`Contract provider callback: getDebugFunctionName(${address}, ${selector})`);
60
60
  // Parse address and selector strings
61
- const aztecAddr = AztecAddress.fromString(address);
61
+ const aztecAddr = AztecAddress.fromStringUnsafe(address);
62
62
  const selectorFr = Fr.fromString(selector);
63
63
  const functionSelector = FunctionSelector.fromFieldOrUndefined(selectorFr);
64
64
  if (!functionSelector) {
@@ -0,0 +1,53 @@
1
+ import { type Logger, type LoggerBindings } from '@aztec/foundation/log';
2
+ import { type PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
3
+ import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
4
+ import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
5
+ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
6
+ import type { ExecutorMetricsInterface } from '../executor_metrics_interface.js';
7
+ import type { PublicContractsDB } from '../public_db_sources.js';
8
+ import { PublicTxSimulator } from './public_tx_simulator.js';
9
+ import type { MeasuredPublicTxSimulatorInterface, PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
10
+ /**
11
+ * C++ implementation of PublicTxSimulator using the C++ simulator.
12
+ * The C++ simulator accesses the world state directly/natively within C++.
13
+ * For contract DB accesses, it makes callbacks through NAPI back to the TS PublicContractsDB cache.
14
+ */
15
+ export declare class CppPublicTxSimulator extends PublicTxSimulator implements PublicTxSimulatorInterface {
16
+ protected log: Logger;
17
+ /** Current cancellation token for in-flight simulation. */
18
+ private cancellationToken?;
19
+ /** Current simulation promise, used to wait for completion after cancellation. */
20
+ private simulationPromise?;
21
+ constructor(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
22
+ /**
23
+ * Simulate a transaction's public portion using the C++ avvm simulator.
24
+ *
25
+ * @param tx - The transaction to simulate.
26
+ * @returns The result of the transaction's public execution.
27
+ */
28
+ simulate(tx: Tx): Promise<PublicTxResult>;
29
+ /**
30
+ * Cancel the current simulation if one is in progress.
31
+ * This signals the C++ simulator to stop at the next opcode or before the next WorldState write.
32
+ * Safe to call even if no simulation is in progress.
33
+ *
34
+ * @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
35
+ * This is important because C++ might be in the middle of a slow operation
36
+ * (e.g., pad_trees) and won't check the cancellation flag until it completes.
37
+ * Default timeout of 100ms after cancellation.
38
+ */
39
+ cancel(waitTimeoutMs?: number): Promise<void>;
40
+ }
41
+ export declare class MeasuredCppPublicTxSimulator extends CppPublicTxSimulator implements MeasuredPublicTxSimulatorInterface {
42
+ protected readonly metrics: ExecutorMetricsInterface;
43
+ constructor(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, metrics: ExecutorMetricsInterface, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
44
+ simulate(tx: Tx, txLabel?: string): Promise<PublicTxResult>;
45
+ }
46
+ /**
47
+ * A C++ public tx simulator that tracks runtime/production metrics with telemetry.
48
+ */
49
+ export declare class TelemetryCppPublicTxSimulator extends MeasuredCppPublicTxSimulator {
50
+ readonly tracer: Tracer;
51
+ constructor(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, telemetryClient?: TelemetryClient, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BwX3B1YmxpY190eF9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3R4X3NpbXVsYXRvci9jcHBfcHVibGljX3R4X3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJdkYsT0FBTyxFQUdMLEtBQUsscUJBQXFCLEVBQzFCLGNBQWMsRUFFZixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUtoRyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQ1Ysa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMzQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDOzs7O0dBSUc7QUFDSCxxQkFBYSxvQkFBcUIsU0FBUSxpQkFBa0IsWUFBVywwQkFBMEI7SUFDL0YsVUFBbUIsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUMvQiwyREFBMkQ7SUFDM0QsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQW9CO0lBQzlDLGtGQUFrRjtJQUNsRixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBa0I7SUFFNUMsWUFDRSxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3ZDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFJMUI7SUFFRDs7Ozs7T0FLRztJQUNtQixRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBOEU5RDtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNVLE1BQU0sQ0FBQyxhQUFhLEdBQUUsTUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FlOUQ7Q0FDRjtBQUVELHFCQUFhLDRCQUE2QixTQUFRLG9CQUFxQixZQUFXLGtDQUFrQztJQUtoSCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSx3QkFBd0I7SUFKdEQsWUFDRSxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQ3BELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sR0FBRSxNQUFzQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTL0Y7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsNkJBQThCLFNBQVEsNEJBQTRCO0lBRTdFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsWUFDRSxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsZUFBZSxHQUFFLGVBQXNDLEVBQ3ZELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBSzFCO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp_public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/cpp_public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAIvF,OAAO,EAGL,KAAK,qBAAqB,EAC1B,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAKhG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,kCAAkC,EAClC,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,iBAAkB,YAAW,0BAA0B;IAC/F,UAAmB,GAAG,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,kFAAkF;IAClF,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAE5C,YACE,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAED;;;;;OAKG;IACmB,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CA8E9D;IAED;;;;;;;;;OASG;IACU,MAAM,CAAC,aAAa,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9D;CACF;AAED,qBAAa,4BAA6B,SAAQ,oBAAqB,YAAW,kCAAkC;IAKhH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB;IAJtD,YACE,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EACb,OAAO,EAAE,wBAAwB,EACpD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAEqB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS/F;CACF;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,4BAA4B;IAE7E,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACE,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAChC,eAAe,GAAE,eAAsC,EACvD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAK1B;CACF"}