@aztec/simulator 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f

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 (219) hide show
  1. package/dest/client.d.ts +1 -1
  2. package/dest/common/errors.d.ts +1 -7
  3. package/dest/common/errors.d.ts.map +1 -1
  4. package/dest/common/index.d.ts +1 -1
  5. package/dest/common/stats/index.d.ts +1 -1
  6. package/dest/common/stats/stats.d.ts +1 -1
  7. package/dest/private/acvm/acvm.d.ts +1 -1
  8. package/dest/private/acvm/acvm_types.d.ts +1 -1
  9. package/dest/private/acvm/deserialize.d.ts +1 -1
  10. package/dest/private/acvm/index.d.ts +1 -1
  11. package/dest/private/acvm/serialize.d.ts +1 -1
  12. package/dest/private/acvm_native.d.ts +1 -1
  13. package/dest/private/acvm_native.d.ts.map +1 -1
  14. package/dest/private/acvm_wasm.d.ts +1 -1
  15. package/dest/private/acvm_wasm.d.ts.map +1 -1
  16. package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
  17. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
  18. package/dest/private/circuit_recording/circuit_recorder.d.ts +1 -1
  19. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  20. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +1 -1
  21. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  22. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +1 -1
  23. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  24. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  25. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  26. package/dest/private/circuit_simulator.d.ts +1 -1
  27. package/dest/private/factory.d.ts +1 -1
  28. package/dest/public/avm/avm_context.d.ts +1 -1
  29. package/dest/public/avm/avm_context.d.ts.map +1 -1
  30. package/dest/public/avm/avm_contract_call_result.d.ts +1 -1
  31. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  32. package/dest/public/avm/avm_execution_environment.d.ts +4 -4
  33. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  34. package/dest/public/avm/avm_execution_environment.js +4 -7
  35. package/dest/public/avm/avm_gas.d.ts +2 -2
  36. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  37. package/dest/public/avm/avm_machine_state.d.ts +1 -1
  38. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  39. package/dest/public/avm/avm_memory_types.d.ts +13 -13
  40. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  41. package/dest/public/avm/avm_simulator.d.ts +3 -2
  42. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  43. package/dest/public/avm/avm_simulator.js +2 -2
  44. package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
  45. package/dest/public/avm/errors.d.ts +1 -1
  46. package/dest/public/avm/errors.d.ts.map +1 -1
  47. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
  48. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  49. package/dest/public/avm/fixtures/avm_simulation_tester.js +11 -2
  50. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +1 -1
  51. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  52. package/dest/public/avm/fixtures/initializers.d.ts +1 -2
  53. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  54. package/dest/public/avm/fixtures/initializers.js +6 -4
  55. package/dest/public/avm/fixtures/utils.d.ts +1 -1
  56. package/dest/public/avm/index.d.ts +1 -1
  57. package/dest/public/avm/opcodes/accrued_substate.d.ts +1 -1
  58. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  59. package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
  60. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  61. package/dest/public/avm/opcodes/arithmetic.d.ts +8 -8
  62. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  63. package/dest/public/avm/opcodes/bitwise.d.ts +5 -5
  64. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  65. package/dest/public/avm/opcodes/comparators.d.ts +4 -4
  66. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  67. package/dest/public/avm/opcodes/contract.d.ts +1 -1
  68. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  69. package/dest/public/avm/opcodes/control_flow.d.ts +1 -1
  70. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  71. package/dest/public/avm/opcodes/conversion.d.ts +1 -1
  72. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  73. package/dest/public/avm/opcodes/ec_add.d.ts +2 -2
  74. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  75. package/dest/public/avm/opcodes/environment_getters.d.ts +1 -1
  76. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  77. package/dest/public/avm/opcodes/external_calls.d.ts +1 -1
  78. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  79. package/dest/public/avm/opcodes/hashing.d.ts +2 -2
  80. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  81. package/dest/public/avm/opcodes/index.d.ts +1 -1
  82. package/dest/public/avm/opcodes/instruction.d.ts +2 -2
  83. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  84. package/dest/public/avm/opcodes/instruction_impl.d.ts +1 -1
  85. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  86. package/dest/public/avm/opcodes/memory.d.ts +2 -2
  87. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  88. package/dest/public/avm/opcodes/misc.d.ts +1 -1
  89. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  90. package/dest/public/avm/opcodes/misc.js +4 -4
  91. package/dest/public/avm/opcodes/storage.d.ts +3 -3
  92. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  93. package/dest/public/avm/revert_reason.d.ts +1 -1
  94. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
  95. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  96. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  97. package/dest/public/avm/serialization/instruction_serialization.d.ts +1 -1
  98. package/dest/public/avm/test_utils.d.ts +1 -1
  99. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  100. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  101. package/dest/public/contracts_db_checkpoint.js +30 -0
  102. package/dest/public/db_interfaces.d.ts +13 -1
  103. package/dest/public/db_interfaces.d.ts.map +1 -1
  104. package/dest/public/debug_fn_name.d.ts +1 -1
  105. package/dest/public/executor_metrics.d.ts +3 -2
  106. package/dest/public/executor_metrics.d.ts.map +1 -1
  107. package/dest/public/executor_metrics.js +1 -1
  108. package/dest/public/executor_metrics_interface.d.ts +3 -2
  109. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  110. package/dest/public/fixtures/amm_test.d.ts +1 -1
  111. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  112. package/dest/public/fixtures/custom_bytecode_tester.d.ts +2 -2
  113. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  114. package/dest/public/fixtures/custom_bytecode_tests.d.ts +1 -1
  115. package/dest/public/fixtures/index.d.ts +1 -1
  116. package/dest/public/fixtures/minimal_public_tx.d.ts +2 -3
  117. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  118. package/dest/public/fixtures/minimal_public_tx.js +2 -2
  119. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +4 -5
  120. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  121. package/dest/public/fixtures/public_tx_simulation_tester.js +15 -11
  122. package/dest/public/fixtures/simple_contract_data_source.d.ts +1 -1
  123. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  124. package/dest/public/fixtures/token_test.d.ts +1 -1
  125. package/dest/public/fixtures/token_test.js +3 -4
  126. package/dest/public/fixtures/utils.d.ts +1 -1
  127. package/dest/public/hinting_db_sources.d.ts +10 -2
  128. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  129. package/dest/public/hinting_db_sources.js +64 -11
  130. package/dest/public/index.d.ts +3 -2
  131. package/dest/public/index.d.ts.map +1 -1
  132. package/dest/public/public_db_sources.d.ts +21 -62
  133. package/dest/public/public_db_sources.d.ts.map +1 -1
  134. package/dest/public/public_db_sources.js +73 -130
  135. package/dest/public/public_errors.d.ts +1 -1
  136. package/dest/public/public_errors.d.ts.map +1 -1
  137. package/dest/public/public_processor/guarded_merkle_tree.d.ts +3 -3
  138. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  139. package/dest/public/public_processor/public_processor.d.ts +7 -14
  140. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  141. package/dest/public/public_processor/public_processor.js +27 -29
  142. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  143. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  144. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +30 -0
  145. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  146. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +133 -0
  147. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +29 -4
  148. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  149. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +138 -17
  150. package/dest/public/public_tx_simulator/index.d.ts +2 -1
  151. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  152. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +13 -6
  153. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  154. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +5 -5
  155. package/dest/public/public_tx_simulator/public_tx_context.d.ts +5 -2
  156. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  157. package/dest/public/public_tx_simulator/public_tx_context.js +12 -4
  158. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +10 -30
  159. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  160. package/dest/public/public_tx_simulator/public_tx_simulator.js +102 -125
  161. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +2 -2
  162. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
  163. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +3 -3
  164. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  165. package/dest/public/side_effect_errors.d.ts +1 -1
  166. package/dest/public/side_effect_errors.d.ts.map +1 -1
  167. package/dest/public/side_effect_trace.d.ts +1 -2
  168. package/dest/public/side_effect_trace.d.ts.map +1 -1
  169. package/dest/public/side_effect_trace_interface.d.ts +2 -3
  170. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  171. package/dest/public/state_manager/index.d.ts +1 -1
  172. package/dest/public/state_manager/nullifiers.d.ts +1 -1
  173. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  174. package/dest/public/state_manager/public_storage.d.ts +1 -1
  175. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  176. package/dest/public/state_manager/state_manager.d.ts +3 -10
  177. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  178. package/dest/public/state_manager/state_manager.js +5 -4
  179. package/dest/public/test_executor_metrics.d.ts +4 -3
  180. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  181. package/dest/public/test_executor_metrics.js +5 -4
  182. package/dest/public/unique_class_ids.d.ts +1 -1
  183. package/dest/public/unique_class_ids.d.ts.map +1 -1
  184. package/dest/public/utils.d.ts +1 -1
  185. package/dest/server.d.ts +1 -1
  186. package/dest/testing.d.ts +1 -1
  187. package/package.json +21 -20
  188. package/src/public/avm/avm_execution_environment.ts +3 -5
  189. package/src/public/avm/avm_simulator.ts +3 -4
  190. package/src/public/avm/fixtures/avm_simulation_tester.ts +9 -1
  191. package/src/public/avm/fixtures/initializers.ts +6 -8
  192. package/src/public/avm/opcodes/misc.ts +4 -4
  193. package/src/public/contracts_db_checkpoint.ts +41 -0
  194. package/src/public/db_interfaces.ts +15 -0
  195. package/src/public/executor_metrics.ts +2 -1
  196. package/src/public/executor_metrics_interface.ts +2 -1
  197. package/src/public/fixtures/custom_bytecode_tester.ts +1 -1
  198. package/src/public/fixtures/minimal_public_tx.ts +3 -4
  199. package/src/public/fixtures/public_tx_simulation_tester.ts +18 -10
  200. package/src/public/fixtures/token_test.ts +3 -4
  201. package/src/public/hinting_db_sources.ts +104 -7
  202. package/src/public/index.ts +2 -6
  203. package/src/public/public_db_sources.ts +92 -171
  204. package/src/public/public_processor/guarded_merkle_tree.ts +2 -2
  205. package/src/public/public_processor/public_processor.ts +46 -36
  206. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +162 -0
  207. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +199 -21
  208. package/src/public/public_tx_simulator/index.ts +1 -0
  209. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +9 -13
  210. package/src/public/public_tx_simulator/public_tx_context.ts +8 -2
  211. package/src/public/public_tx_simulator/public_tx_simulator.ts +145 -192
  212. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +1 -2
  213. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +2 -2
  214. package/src/public/state_manager/state_manager.ts +4 -11
  215. package/src/public/test_executor_metrics.ts +7 -5
  216. package/dest/public/tx_contract_cache.d.ts +0 -41
  217. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  218. package/dest/public/tx_contract_cache.js +0 -49
  219. package/src/public/tx_contract_cache.ts +0 -69
@@ -34,13 +34,11 @@ export declare class PublicPersistableStateManager {
34
34
  private readonly log;
35
35
  /** Make sure a forked state is never merged twice. */
36
36
  private alreadyMergedIntoParent;
37
- constructor(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, // Needed for note hashes.
38
- timestamp: UInt64, // Needed for contract updates.
39
- doMerkleOperations?: boolean, publicStorage?: PublicStorage, nullifiers?: NullifierManager);
37
+ constructor(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, timestamp: UInt64, doMerkleOperations?: boolean, publicStorage?: PublicStorage, nullifiers?: NullifierManager);
40
38
  /**
41
39
  * Create a new state manager
42
40
  */
43
- static create(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, doMerkleOperations: boolean | undefined, firstNullifier: Fr, timestamp: UInt64): PublicPersistableStateManager;
41
+ static create(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, timestamp: UInt64): PublicPersistableStateManager;
44
42
  /**
45
43
  * Create a new state manager forked from this one
46
44
  */
@@ -149,11 +147,6 @@ export declare class PublicPersistableStateManager {
149
147
  */
150
148
  getContractInstance(contractAddress: AztecAddress): Promise<SerializableContractInstance | undefined>;
151
149
  private checkContractUpdateInformation;
152
- /**
153
- * Get a contract class.
154
- * @param classId - class id to retrieve.
155
- * @returns the contract class or undefined if it does not exist.
156
- */
157
150
  private getContractClass;
158
151
  /**
159
152
  * Get a contract's bytecode from the contracts DB, also trace the contract class and instance indirectly.
@@ -163,4 +156,4 @@ export declare class PublicPersistableStateManager {
163
156
  padTree(treeId: MerkleTreeId, leavesToInsert: number): Promise<void>;
164
157
  getTreeSnapshots(): Promise<TreeSnapshots>;
165
158
  }
166
- //# sourceMappingURL=state_manager.d.ts.map
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfbWFuYWdlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9zdGF0ZV9tYW5hZ2VyL3N0YXRlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWxELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RCxPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLDZCQUE2QjtJQU90QyxPQUFPLENBQUMsUUFBUSxD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
@@ -1 +1 @@
1
- {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,qBAAa,6BAA6B;IAOtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAb7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA2C;IAE/D,sDAAsD;IACtD,OAAO,CAAC,uBAAuB,CAAS;gBAGrB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,0BAA0B,EACvC,KAAK,EAAE,8BAA8B,EACrC,cAAc,EAAE,EAAE,EAAE,0BAA0B;IAC9C,SAAS,EAAE,MAAM,EAAE,+BAA+B;IAClD,kBAAkB,GAAE,OAAe,EACnC,aAAa,GAAE,aAA0C,EACzD,UAAU,GAAE,gBAAgD;IAG/E;;OAEG;WACW,MAAM,CAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,0BAA0B,EACvC,KAAK,EAAE,8BAA8B,EACrC,kBAAkB,EAAE,OAAO,YAAQ,EACnC,cAAc,EAAE,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,6BAA6B;IAWhC;;OAEG;IACU,IAAI;IAcjB;;OAEG;IACU,KAAK,CAAC,WAAW,EAAE,6BAA6B;IAI7D;;OAEG;IACU,MAAM,CAAC,WAAW,EAAE,6BAA6B;YAIhD,MAAM;IAmBpB;;;;;;OAMG;IACU,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5G,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO;IAItE;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAc9E;;;;;;;OAOG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBlH;;;OAGG;IACU,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtF;;;OAGG;IACU,mBAAmB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE;;;OAGG;IACU,mBAAmB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;;OAKG;IACU,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAejG;;;;OAIG;IACU,cAAc,CAAC,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;IAMxE;;;OAGG;IACU,oBAAoB,CAAC,eAAe,EAAE,EAAE;IAsBrD;;;;;OAKG;IACU,wBAAwB,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBtF;;;;;OAKG;IACI,kBAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAKnF;;;OAGG;IACI,wBAAwB,CAAC,aAAa,EAAE,mBAAmB;IAQ3D,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;IAI3F,wBAAwB,CAAC,WAAW,EAAE,MAAM;IAI5C,sBAAsB;IAItB,OAAO,IAAI,QAAQ,EAAE;IAI5B;;;;OAIG;IACI,cAAc,CAAC,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE;IAK9D;;;;OAIG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;YAyCpG,8BAA8B;IA0D5C;;;;OAIG;YACW,gBAAgB;IA6B9B;;OAEG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwBvE,0BAA0B,CAAC,cAAc,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpF,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;CAGxD"}
1
+ {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ import { PublicStorage } from './public_storage.js';
31
31
  nullifiers;
32
32
  log;
33
33
  /** Make sure a forked state is never merged twice. */ alreadyMergedIntoParent;
34
- constructor(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations = false, publicStorage = new PublicStorage(treesDB), nullifiers = new NullifierManager(treesDB)){
34
+ constructor(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations = true, publicStorage = new PublicStorage(treesDB), nullifiers = new NullifierManager(treesDB)){
35
35
  this.treesDB = treesDB;
36
36
  this.contractsDB = contractsDB;
37
37
  this.trace = trace;
@@ -45,8 +45,8 @@ import { PublicStorage } from './public_storage.js';
45
45
  }
46
46
  /**
47
47
  * Create a new state manager
48
- */ static create(treesDB, contractsDB, trace, doMerkleOperations = false, firstNullifier, timestamp) {
49
- return new PublicPersistableStateManager(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations);
48
+ */ static create(treesDB, contractsDB, trace, firstNullifier, timestamp) {
49
+ return new PublicPersistableStateManager(treesDB, contractsDB, trace, firstNullifier, timestamp);
50
50
  }
51
51
  /**
52
52
  * Create a new state manager forked from this one
@@ -109,7 +109,6 @@ import { PublicStorage } from './public_storage.js';
109
109
  if (this.doMerkleOperations) {
110
110
  return await this.treesDB.storageRead(contractAddress, slot);
111
111
  } else {
112
- // TODO(fcarreiro): I don't get this. PublicStorage CAN end up reading the tree. Why is it in the "dont do merkle operations" branch?
113
112
  const read = await this.publicStorage.read(contractAddress, slot);
114
113
  this.log.trace(`Storage read results (address=${contractAddress}, slot=${slot}): value=${read.value}, cached=${read.cached}`);
115
114
  return read.value;
@@ -311,6 +310,8 @@ import { PublicStorage } from './public_storage.js';
311
310
  const { delayedPublicMutableSlot, delayedPublicMutableHashSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(instance.address);
312
311
  const readDeployerStorage = async (storageSlot)=>await this.readStorage(ProtocolContractAddress.ContractInstanceRegistry, storageSlot);
313
312
  const hash = await readDeployerStorage(delayedPublicMutableHashSlot);
313
+ // NOTE: The below reads are either not performed (if hash.isZero()) or only performed in unconstrained in c++ simulation.
314
+ // See UpdateCheck::check_current_class_id documentation - this means if we generate hints from the merkle db, they are unused:
314
315
  const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, readDeployerStorage);
315
316
  const preImage = delayedPublicMutableValues.toFields();
316
317
  // 1) update never scheduled: hash == 0 and preimage should be empty (but poseidon2hash(preimage) will not be 0s)
@@ -1,4 +1,5 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  import type { ExecutorMetricsInterface } from './executor_metrics_interface.js';
3
4
  export interface PublicEnqueuedCallMetrics {
4
5
  fnName: string;
@@ -9,7 +10,7 @@ export interface PublicEnqueuedCallMetrics {
9
10
  }
10
11
  export interface PublicTxMetrics {
11
12
  totalDurationMs: number;
12
- manaUsed: number;
13
+ manaUsed: number | undefined;
13
14
  totalInstructionsExecuted: number;
14
15
  nonRevertiblePrivateInsertionsUs: number | undefined;
15
16
  revertiblePrivateInsertionsUs: number | undefined;
@@ -41,7 +42,7 @@ export declare class TestExecutorMetrics implements ExecutorMetricsInterface {
41
42
  private txTimer;
42
43
  constructor();
43
44
  startRecordingTxSimulation(txLabel: string): void;
44
- stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
45
+ stopRecordingTxSimulation(txLabel: string, gasUsed?: GasUsed, revertedCode?: RevertCode): void;
45
46
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
46
47
  recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
47
48
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
@@ -51,4 +52,4 @@ export declare class TestExecutorMetrics implements ExecutorMetricsInterface {
51
52
  toJSON(indent?: number): string;
52
53
  toGithubActionBenchmarkJSON(indent?: number): string;
53
54
  }
54
- //# sourceMappingURL=test_executor_metrics.d.ts.map
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9leGVjdXRvcl9tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3Rlc3RfZXhlY3V0b3JfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE1BQU0sV0FBVyx5QkFBeUI7SUFDeEMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQix5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxlQUFlO0lBRTlCLGVBQWUsRUFBRSxNQUFNLENBQUM7SUFDeEIsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDN0IseUJBQXlCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLGdDQUFnQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDckQsNkJBQTZCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNsRCxhQUFhLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUMzQyxZQUFZLEVBQUUsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUVyQyxzQkFBc0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzNDLG1CQUFtQixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDeEMsMkJBQTJCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUVoRCw2QkFBNkIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2xELHVCQUF1QixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUMsaUJBQWlCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN0QyxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNqQyw2QkFBNkIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2xELHdDQUF3QyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDN0Qsd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztDQUM5QztBQVdELG9CQUFZLHFCQUFxQjtJQUMvQixHQUFHLElBQUE7SUFDSCxNQUFNLElBQUE7SUFDTixTQUFTLElBQUE7SUFDVCxZQUFZLElBQUE7SUFDWixPQUFPLElBQUE7Q0FDUjtBQTJCRCxxQkFBYSxtQkFBb0IsWUFBVyx3QkFBd0I7O0lBQ2xFLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsT0FBTyxDQUFDLFNBQVMsQ0FBMkM7SUFDNUQsT0FBTyxDQUFDLGNBQWMsQ0FBcUI7SUFDM0MsT0FBTyxDQUFDLE9BQU8sQ0FBb0I7SUFFbkMsY0FFQztJQUVELDBCQUEwQixDQUFDLE9BQU8sRUFBRSxNQUFNLFFBTXpDO0lBRUQseUJBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsVUFBVSxRQWdCdEY7SUFFRCw0QkFBNEIsQ0FDMUIsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsTUFBTSxFQUNsQixRQUFRLEVBQUUsTUFBTSxFQUNoQix5QkFBeUIsRUFBRSxNQUFNLFFBR2xDO0lBRUQsbUNBQW1DLENBQ2pDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIseUJBQXlCLEVBQUUsTUFBTSxRQUdsQztJQW9CRCw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUcsZ0JBQWdCLFFBZ0J0RjtJQUVELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFVckU7SUFFRCxXQUFXLENBQUMsTUFBTSxHQUFFLHFCQUFpRCxRQUVwRTtJQUVELGNBQWMsQ0FBQyxNQUFNLEdBQUUscUJBQWlELFVBK0V2RTtJQTBCRCxNQUFNLENBQUMsTUFBTSxTQUFJLFVBRWhCO0lBRUQsMkJBQTJCLENBQUMsTUFBTSxTQUFJLFVBNEZyQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"test_executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/test_executor_metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAE9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAErC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,wCAAwC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7D,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAWD,oBAAY,qBAAqB;IAC/B,GAAG,IAAA;IACH,MAAM,IAAA;IACN,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AA2BD,qBAAa,mBAAoB,YAAW,wBAAwB;;IAClE,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,OAAO,CAAoB;;IAMnC,0BAA0B,CAAC,OAAO,EAAE,MAAM;IAQ1C,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU;IAkBpE,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAKnC,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAuBnC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;IAkBvF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;IAYtE,WAAW,CAAC,MAAM,GAAE,qBAAiD;IAIrE,cAAc,CAAC,MAAM,GAAE,qBAAiD;IAwGxE,MAAM,CAAC,MAAM,SAAI;IAIjB,2BAA2B,CAAC,MAAM,SAAI;CA6FvC"}
1
+ {"version":3,"file":"test_executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/test_executor_metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAE9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAErC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,wCAAwC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7D,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAWD,oBAAY,qBAAqB;IAC/B,GAAG,IAAA;IACH,MAAM,IAAA;IACN,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AA2BD,qBAAa,mBAAoB,YAAW,wBAAwB;;IAClE,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,OAAO,CAAoB;IAEnC,cAEC;IAED,0BAA0B,CAAC,OAAO,EAAE,MAAM,QAMzC;IAED,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,QAgBtF;IAED,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAGlC;IAED,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAGlC;IAoBD,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,QAgBtF;IAED,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAUrE;IAED,WAAW,CAAC,MAAM,GAAE,qBAAiD,QAEpE;IAED,cAAc,CAAC,MAAM,GAAE,qBAAiD,UA+EvE;IA0BD,MAAM,CAAC,MAAM,SAAI,UAEhB;IAED,2BAA2B,CAAC,MAAM,SAAI,UA4FrC;CACF"}
@@ -58,14 +58,14 @@ export class TestExecutorMetrics {
58
58
  this.currentTxLabel = txLabel;
59
59
  this.txTimer = new Timer();
60
60
  }
61
- stopRecordingTxSimulation(txLabel, revertedCode) {
61
+ stopRecordingTxSimulation(txLabel, gasUsed, revertedCode) {
62
62
  assert(this.currentTxLabel === txLabel, 'Cannot stop recording metrics for tx when another is live');
63
63
  const txMetrics = this.txMetrics.get(txLabel);
64
64
  // total duration of tx
65
65
  txMetrics.totalDurationMs = this.txTimer.ms();
66
66
  this.logger.debug(`Public TX simulation of ${txLabel} took ${txMetrics.totalDurationMs}ms`);
67
67
  // add manaUsed across all enqueued calls
68
- txMetrics.manaUsed = sum(txMetrics.enqueuedCalls.map((call)=>call.manaUsed));
68
+ txMetrics.manaUsed = gasUsed?.publicGas.l2Gas;
69
69
  // add totalInstructionsExecuted across all enqueued calls
70
70
  txMetrics.totalInstructionsExecuted = sum(txMetrics.enqueuedCalls.map((call)=>call.totalInstructionsExecuted));
71
71
  txMetrics.revertedCode = revertedCode;
@@ -124,8 +124,9 @@ export class TestExecutorMetrics {
124
124
  pretty += `${INDENT0}Total duration: ${fmtNum(txMetrics.totalDurationMs, 'ms')}\n`;
125
125
  }
126
126
  if (filter === 1 || filter === 0) {
127
- pretty += `${INDENT0}Total mana used: ${fmtNum(txMetrics.manaUsed)}\n`;
128
- const manaPerSecond = Math.round(txMetrics.manaUsed * 1000 / txMetrics.totalDurationMs);
127
+ const manaUsed = txMetrics.manaUsed || 0;
128
+ pretty += `${INDENT0}Total mana used: ${fmtNum(manaUsed)}\n`;
129
+ const manaPerSecond = Math.round(manaUsed * 1000 / txMetrics.totalDurationMs);
129
130
  pretty += `${INDENT0}Mana per second: ${fmtNum(manaPerSecond)}\n`;
130
131
  }
131
132
  if (filter === 3 || filter === 1 || filter === 0) {
@@ -34,4 +34,4 @@ export declare class UniqueClassIds {
34
34
  */
35
35
  acceptAndMerge(incoming: UniqueClassIds): void;
36
36
  }
37
- //# sourceMappingURL=unique_class_ids.d.ts.map
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlX2NsYXNzX2lkcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy91bmlxdWVfY2xhc3NfaWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7R0FHRztBQUNILHFCQUFhLGNBQWM7SUFHYixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUZwQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBMEI7SUFFbkQsWUFBNkIsTUFBTSxDQUFDLDRCQUFnQixFQUFJO0lBRXhEOztPQUVHO0lBQ0ksSUFBSSxtQkFFVjtJQUVEOzs7OztPQUtHO0lBQ0ksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQVNuQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxJQUFJLE1BQU0sQ0FFcEI7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLFFBU3pCO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsY0FBYyxRQWE3QztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"unique_class_ids.d.ts","sourceRoot":"","sources":["../../src/public/unique_class_ids.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEtB,MAAM,CAAC,EAAE,cAAc,YAAA;IAEpD;;OAEG;IACI,IAAI;IAIX;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWpC;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;OAIG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM;IAW1B;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,cAAc;CAc/C"}
1
+ {"version":3,"file":"unique_class_ids.d.ts","sourceRoot":"","sources":["../../src/public/unique_class_ids.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,YAA6B,MAAM,CAAC,4BAAgB,EAAI;IAExD;;OAEG;IACI,IAAI,mBAEV;IAED;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASnC;IAED;;OAEG;IACI,IAAI,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,QASzB;IAED;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,cAAc,QAa7C;CACF"}
@@ -1,3 +1,3 @@
1
1
  import { PublicCallRequestWithCalldata, type Tx, TxExecutionPhase } from '@aztec/stdlib/tx';
2
2
  export declare function getCallRequestsWithCalldataByPhase(tx: Tx, phase: TxExecutionPhase): PublicCallRequestWithCalldata[];
3
- //# sourceMappingURL=utils.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUYsd0JBQWdCLGtDQUFrQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixHQUFHLDZCQUE2QixFQUFFLENBYW5IIn0=
package/dest/server.d.ts CHANGED
@@ -6,4 +6,4 @@ export { SimulatorRecorderWrapper } from './private/circuit_recording/simulator_
6
6
  export { MemoryCircuitRecorder } from './private/circuit_recording/memory_circuit_recorder.js';
7
7
  export { type CircuitSimulator, type DecodedError } from './private/circuit_simulator.js';
8
8
  export * from './common/index.js';
9
- //# sourceMappingURL=server.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLGNBQWMsbUJBQW1CLENBQUMifQ==
package/dest/testing.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { FileCircuitRecorder } from './private/circuit_recording/file_circuit_recorder.js';
2
- //# sourceMappingURL=testing.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/simulator",
3
- "version": "0.0.1-commit.b655e406",
3
+ "version": "0.0.1-commit.fce3e4f",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./server": "./dest/server.js",
@@ -17,11 +17,11 @@
17
17
  "tsconfig": "./tsconfig.json"
18
18
  },
19
19
  "scripts": {
20
- "build": "yarn clean && tsc -b",
21
- "build:dev": "tsc -b --watch",
20
+ "build": "yarn clean && tsgo -b",
21
+ "build:dev": "tsgo -b --watch",
22
22
  "clean": "rm -rf ./dest .tsbuildinfo",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
24
- "build:fuzzer": "tsc scripts/fuzzing/avm_simulator_bin.ts --outDir dest/scripts/fuzzing --module commonjs --target es2022 --esModuleInterop --allowSyntheticDefaultImports --resolveJsonModule --skipLibCheck"
24
+ "build:fuzzer": "tsgo scripts/fuzzing/avm_simulator_bin.ts --outDir dest/scripts/fuzzing --module commonjs --target es2022 --esModuleInterop --allowSyntheticDefaultImports --resolveJsonModule --skipLibCheck"
25
25
  },
26
26
  "inherits": [
27
27
  "../package.common.json"
@@ -64,38 +64,39 @@
64
64
  ]
65
65
  },
66
66
  "dependencies": {
67
- "@aztec/constants": "0.0.1-commit.b655e406",
68
- "@aztec/foundation": "0.0.1-commit.b655e406",
69
- "@aztec/native": "0.0.1-commit.b655e406",
70
- "@aztec/noir-acvm_js": "0.0.1-commit.b655e406",
71
- "@aztec/noir-noirc_abi": "0.0.1-commit.b655e406",
72
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b655e406",
73
- "@aztec/noir-types": "0.0.1-commit.b655e406",
74
- "@aztec/protocol-contracts": "0.0.1-commit.b655e406",
75
- "@aztec/stdlib": "0.0.1-commit.b655e406",
76
- "@aztec/telemetry-client": "0.0.1-commit.b655e406",
77
- "@aztec/world-state": "0.0.1-commit.b655e406",
67
+ "@aztec/constants": "0.0.1-commit.fce3e4f",
68
+ "@aztec/foundation": "0.0.1-commit.fce3e4f",
69
+ "@aztec/native": "0.0.1-commit.fce3e4f",
70
+ "@aztec/noir-acvm_js": "0.0.1-commit.fce3e4f",
71
+ "@aztec/noir-noirc_abi": "0.0.1-commit.fce3e4f",
72
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.fce3e4f",
73
+ "@aztec/noir-types": "0.0.1-commit.fce3e4f",
74
+ "@aztec/protocol-contracts": "0.0.1-commit.fce3e4f",
75
+ "@aztec/stdlib": "0.0.1-commit.fce3e4f",
76
+ "@aztec/telemetry-client": "0.0.1-commit.fce3e4f",
77
+ "@aztec/world-state": "0.0.1-commit.fce3e4f",
78
78
  "lodash.clonedeep": "^4.5.0",
79
79
  "lodash.merge": "^4.6.2",
80
80
  "tslib": "^2.4.0"
81
81
  },
82
82
  "devDependencies": {
83
- "@aztec/kv-store": "0.0.1-commit.b655e406",
84
- "@aztec/merkle-tree": "0.0.1-commit.b655e406",
85
- "@aztec/noir-contracts.js": "0.0.1-commit.b655e406",
86
- "@aztec/noir-test-contracts.js": "0.0.1-commit.b655e406",
83
+ "@aztec/kv-store": "0.0.1-commit.fce3e4f",
84
+ "@aztec/merkle-tree": "0.0.1-commit.fce3e4f",
85
+ "@aztec/noir-contracts.js": "0.0.1-commit.fce3e4f",
86
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.fce3e4f",
87
87
  "@jest/globals": "^30.0.0",
88
88
  "@types/jest": "^30.0.0",
89
89
  "@types/lodash.clonedeep": "^4.5.7",
90
90
  "@types/lodash.merge": "^4.6.9",
91
91
  "@types/node": "^22.15.17",
92
+ "@typescript/native-preview": "7.0.0-dev.20251126.1",
92
93
  "istanbul-lib-hook": "^3.0.0",
93
94
  "istanbul-lib-instrument": "^6.0.3",
94
95
  "jest": "^30.0.0",
95
96
  "jest-mock-extended": "^4.0.0",
96
97
  "ts-node": "^10.9.1",
97
98
  "typescript": "^5.3.3",
98
- "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
99
+ "viem": "npm:@aztec/viem@2.38.2"
99
100
  },
100
101
  "files": [
101
102
  "dest",
@@ -1,5 +1,5 @@
1
- import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
2
1
  import { Fr } from '@aztec/foundation/fields';
2
+ import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { GlobalVariables } from '@aztec/stdlib/tx';
5
5
 
@@ -16,8 +16,7 @@ export class AvmExecutionEnvironment {
16
16
  public readonly globals: GlobalVariables,
17
17
  public readonly isStaticCall: boolean,
18
18
  public readonly calldata: Fr[],
19
- public readonly clientInitiatedSimulation: boolean = false,
20
- public readonly maxDebugLogMemoryReads: number = DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
19
+ public readonly config: PublicSimulatorConfig,
21
20
  ) {}
22
21
 
23
22
  private deriveEnvironmentForNestedCallInternal(
@@ -33,8 +32,7 @@ export class AvmExecutionEnvironment {
33
32
  this.globals,
34
33
  isStaticCall,
35
34
  calldata,
36
- this.clientInitiatedSimulation,
37
- this.maxDebugLogMemoryReads,
35
+ this.config,
38
36
  );
39
37
  }
40
38
 
@@ -1,6 +1,7 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
3
  import { Timer } from '@aztec/foundation/timer';
4
+ import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
6
  import type { GlobalVariables } from '@aztec/stdlib/tx';
6
7
 
@@ -75,8 +76,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
75
76
  isStaticCall: boolean,
76
77
  calldata: Fr[],
77
78
  allocatedGas: Gas,
78
- clientInitiatedSimulation: boolean = false,
79
- maxDebugLogMemoryReads?: number,
79
+ config: PublicSimulatorConfig,
80
80
  ) {
81
81
  const avmExecutionEnv = new AvmExecutionEnvironment(
82
82
  address,
@@ -86,8 +86,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
86
86
  globals,
87
87
  isStaticCall,
88
88
  calldata,
89
- clientInitiatedSimulation,
90
- maxDebugLogMemoryReads,
89
+ config,
91
90
  );
92
91
 
93
92
  const avmMachineState = new AvmMachineState(allocatedGas);
@@ -1,5 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { encodeArguments } from '@aztec/stdlib/abi';
3
+ import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
5
  import { GasFees } from '@aztec/stdlib/gas';
5
6
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
@@ -51,7 +52,6 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
51
52
  treesDB,
52
53
  contractsDB,
53
54
  trace,
54
- /*doMerkleOperations=*/ false,
55
55
  firstNullifier,
56
56
  DEFAULT_TIMESTAMP,
57
57
  );
@@ -81,12 +81,20 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
81
81
  globals.timestamp = DEFAULT_TIMESTAMP;
82
82
  globals.gasFees = DEFAULT_GAS_FEES;
83
83
 
84
+ const config = PublicSimulatorConfig.from({
85
+ skipFeeEnforcement: false,
86
+ collectDebugLogs: true,
87
+ collectHints: false,
88
+ collectStatistics: false,
89
+ collectCallMetadata: true,
90
+ });
84
91
  const environment = initExecutionEnvironment({
85
92
  calldata,
86
93
  globals,
87
94
  address,
88
95
  sender,
89
96
  isStaticCall,
97
+ config,
90
98
  });
91
99
  const persistableState = await this.stateManager.fork();
92
100
  const context = initContext({ env: environment, persistableState });
@@ -1,6 +1,8 @@
1
- import { AVM_MAX_PROCESSABLE_L2_GAS, DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
1
+ import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import { Fr } from '@aztec/foundation/fields';
5
+ import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
7
  import { GasFees } from '@aztec/stdlib/gas';
6
8
  import { GlobalVariables } from '@aztec/stdlib/tx';
@@ -43,7 +45,6 @@ export function initPersistableStateManager(overrides?: {
43
45
  trace?: PublicSideEffectTraceInterface;
44
46
  publicStorage?: PublicStorage;
45
47
  nullifiers?: NullifierManager;
46
- doMerkleOperations?: boolean;
47
48
  firstNullifier?: Fr;
48
49
  timestamp?: UInt64;
49
50
  }): PublicPersistableStateManager {
@@ -54,9 +55,7 @@ export function initPersistableStateManager(overrides?: {
54
55
  overrides?.trace || mock<PublicSideEffectTraceInterface>(),
55
56
  overrides?.firstNullifier || new Fr(27),
56
57
  overrides?.timestamp || DEFAULT_TIMESTAMP,
57
- overrides?.doMerkleOperations || false,
58
- overrides?.publicStorage,
59
- overrides?.nullifiers,
58
+ /*doMerkleOperations=*/ false,
60
59
  );
61
60
  }
62
61
 
@@ -72,8 +71,7 @@ export function initExecutionEnvironment(overrides?: Partial<AvmExecutionEnviron
72
71
  overrides?.globals ?? GlobalVariables.empty(),
73
72
  overrides?.isStaticCall ?? false,
74
73
  overrides?.calldata ?? [],
75
- overrides?.clientInitiatedSimulation ?? true, // default to true for testing even though internal default is false
76
- overrides?.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
74
+ overrides?.config ?? PublicSimulatorConfig.empty(),
77
75
  );
78
76
  }
79
77
 
@@ -85,7 +83,7 @@ export function initGlobalVariables(overrides?: Partial<GlobalVariables>): Globa
85
83
  overrides?.chainId ?? Fr.zero(),
86
84
  overrides?.version ?? Fr.zero(),
87
85
  overrides?.blockNumber ?? 0,
88
- overrides?.slotNumber ?? Fr.zero(),
86
+ overrides?.slotNumber ?? SlotNumber.ZERO,
89
87
  overrides?.timestamp ?? 0n,
90
88
  overrides?.coinbase ?? EthAddress.ZERO,
91
89
  overrides?.feeRecipient ?? AztecAddress.zero(),
@@ -44,10 +44,10 @@ export class DebugLog extends Instruction {
44
44
  const operands = [this.levelOffset, this.messageOffset, this.fieldsOffset, this.fieldsSizeOffset];
45
45
  const [levelOffset, messageOffset, fieldsOffset, fieldsSizeOffset] = addressing.resolve(operands, memory);
46
46
 
47
- // DebugLog is a no-op except when doing client-initiated simulation.
47
+ // DebugLog is a no-op except unless the config is set to collect debug logs.
48
48
  // Note that we still do address resolution and basic tag-checking (above)
49
49
  // To avoid a special-case in the witness generator and circuit.
50
- if (context.environment.clientInitiatedSimulation) {
50
+ if (context.environment.config.collectDebugLogs) {
51
51
  memory.checkTag(TypeTag.UINT8, levelOffset);
52
52
  const levelNumber = memory.get(levelOffset).toNumber();
53
53
  memory.checkTag(TypeTag.UINT32, fieldsSizeOffset);
@@ -56,11 +56,11 @@ export class DebugLog extends Instruction {
56
56
  const memoryReads = 1 /* level */ + 1 /* fieldsSize */ + this.messageSize /* message */ + fieldsSize; /* fields */
57
57
  if (
58
58
  context.persistableState.getDebugLogMemoryReads() + memoryReads >
59
- context.environment.maxDebugLogMemoryReads
59
+ context.environment.config.maxDebugLogMemoryReads
60
60
  ) {
61
61
  // Regular error on purpose: this is not a recoverable error.
62
62
  throw new Error(
63
- `Max debug log memory reads exceeded: ${context.persistableState.getDebugLogMemoryReads() + memoryReads} > ${context.environment.maxDebugLogMemoryReads}`,
63
+ `Max debug log memory reads exceeded: ${context.persistableState.getDebugLogMemoryReads() + memoryReads} > ${context.environment.config.maxDebugLogMemoryReads}`,
64
64
  );
65
65
  }
66
66
  context.persistableState.writeDebugLogMemoryReads(memoryReads);
@@ -0,0 +1,41 @@
1
+ import type { Fr } from '@aztec/foundation/fields';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
4
+
5
+ export class ContractsDbCheckpoint {
6
+ private instances: Map<string, ContractInstanceWithAddress> = new Map();
7
+ private classes: Map<string, ContractClassPublic> = new Map();
8
+ private bytecodeCommitments: Map<string, Fr> = new Map();
9
+
10
+ public addInstance(address: AztecAddress, instance: ContractInstanceWithAddress): void {
11
+ this.instances.set(address.toString(), instance);
12
+ }
13
+
14
+ public addClass(classId: Fr, contractClass: ContractClassPublic): void {
15
+ this.classes.set(classId.toString(), contractClass);
16
+ }
17
+
18
+ public addBytecodeCommitment(classId: Fr, commitment: Fr): void {
19
+ this.bytecodeCommitments.set(classId.toString(), commitment);
20
+ }
21
+
22
+ public getInstance(address: AztecAddress): ContractInstanceWithAddress | undefined {
23
+ return this.instances.get(address.toString());
24
+ }
25
+
26
+ public getClass(classId: Fr): ContractClassPublic | undefined {
27
+ return this.classes.get(classId.toString());
28
+ }
29
+
30
+ public getBytecodeCommitment(classId: Fr): Fr | undefined {
31
+ return this.bytecodeCommitments.get(classId.toString());
32
+ }
33
+
34
+ public deepCopy(): ContractsDbCheckpoint {
35
+ const copy = new ContractsDbCheckpoint();
36
+ this.instances.forEach((value, key) => copy.instances.set(key, value));
37
+ this.classes.forEach((value, key) => copy.classes.set(key, value));
38
+ this.bytecodeCommitments.forEach((value, key) => copy.bytecodeCommitments.set(key, value));
39
+ return copy;
40
+ }
41
+ }
@@ -58,4 +58,19 @@ export interface PublicContractsDBInterface {
58
58
  * @returns The name of the function or undefined if not found.
59
59
  */
60
60
  getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
61
+
62
+ /**
63
+ * Creates a checkpoint of the current contract state.
64
+ */
65
+ createCheckpoint(): void;
66
+
67
+ /**
68
+ * Commits the current checkpoint, merging its state with the parent.
69
+ */
70
+ commitCheckpoint(): void;
71
+
72
+ /**
73
+ * Reverts the current checkpoint, discarding its state.
74
+ */
75
+ revertCheckpoint(): void;
61
76
  }
@@ -1,4 +1,5 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  import {
3
4
  Attributes,
4
5
  type Histogram,
@@ -70,7 +71,7 @@ export class ExecutorMetrics implements ExecutorMetricsInterface {
70
71
  // do nothing (unimplemented)
71
72
  }
72
73
 
73
- stopRecordingTxSimulation(_txLabel: string, _revertedCode?: RevertCode) {
74
+ stopRecordingTxSimulation(_txLabel: string, _gasUsed?: GasUsed, _revertedCode?: RevertCode) {
74
75
  // do nothing (unimplemented)
75
76
  }
76
77
 
@@ -1,8 +1,9 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
 
3
4
  export interface ExecutorMetricsInterface {
4
5
  startRecordingTxSimulation(txLabel: string): void;
5
- stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
6
+ stopRecordingTxSimulation(txLabel: string, gasUsed?: GasUsed, revertedCode?: RevertCode): void;
6
7
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
7
8
  recordEnqueuedCallSimulationFailure(
8
9
  fnName: string,
@@ -1,7 +1,7 @@
1
1
  import { FunctionType, emptyContractArtifact, emptyFunctionArtifact } from '@aztec/stdlib/abi';
2
+ import type { PublicTxResult } from '@aztec/stdlib/avm';
2
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
4
 
4
- import type { PublicTxResult } from '../public_tx_simulator/public_tx_simulator.js';
5
5
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
6
6
 
7
7
  /**
@@ -1,4 +1,4 @@
1
- import { AvmCircuitInputs } from '@aztec/stdlib/avm';
1
+ import { AvmCircuitInputs, type PublicTxResult } from '@aztec/stdlib/avm';
2
2
  import { ProtocolContracts } from '@aztec/stdlib/tx';
3
3
 
4
4
  import avmMinimalCircuitInputsJson from '../../../artifacts/avm_minimal_inputs.json' with { type: 'json' };
@@ -6,7 +6,6 @@ import { TypeTag } from '../avm/avm_memory_types.js';
6
6
  import { Add, Return, Set } from '../avm/opcodes/index.js';
7
7
  import { encodeToBytecode } from '../avm/serialization/bytecode_serialization.js';
8
8
  import { Opcode } from '../avm/serialization/instruction_serialization.js';
9
- import type { PublicTxResult } from '../public_tx_simulator/public_tx_simulator.js';
10
9
  import { testCustomBytecode } from './custom_bytecode_tester.js';
11
10
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
12
11
 
@@ -21,8 +20,8 @@ export async function executeAvmMinimalPublicTx(tester: PublicTxSimulationTester
21
20
  const result = await testCustomBytecode(minimalBytecode, tester, 'MinimalTx', 'AvmMinimalContract');
22
21
 
23
22
  // Modify the protocol contracts to be all zeros
24
- result.avmProvingRequest.inputs.hints.protocolContracts = ProtocolContracts.empty();
25
- result.avmProvingRequest.inputs.publicInputs.protocolContracts = ProtocolContracts.empty();
23
+ result.hints!.protocolContracts = ProtocolContracts.empty();
24
+ result.publicInputs.protocolContracts = ProtocolContracts.empty();
26
25
 
27
26
  return result;
28
27
  }