137 BB_BENCH_NAME(
"AvmSimulationHelper::simulate_for_witgen_internal");
139 DefaultEventEmitter<ExecutionEvent> execution_emitter;
140 DefaultDeduplicatingEventEmitter<AluEvent>
alu_emitter;
141 DefaultDeduplicatingEventEmitter<BitwiseEvent> bitwise_emitter;
142 DefaultEventEmitter<DataCopyEvent> data_copy_emitter;
143 DefaultEventEmitter<MemoryEvent> memory_emitter;
144 DefaultEventEmitter<BytecodeRetrievalEvent> bytecode_retrieval_emitter;
145 DefaultEventEmitter<BytecodeHashingEvent> bytecode_hashing_emitter;
146 DefaultEventEmitter<BytecodeDecompositionEvent> bytecode_decomposition_emitter;
147 DefaultDeduplicatingEventEmitter<InstructionFetchingEvent> instruction_fetching_emitter;
148 DefaultEventEmitter<AddressDerivationEvent> address_derivation_emitter;
149 DefaultEventEmitter<ClassIdDerivationEvent> class_id_derivation_emitter;
150 DefaultEventEmitter<Sha256CompressionEvent> sha256_compression_emitter;
151 DefaultEventEmitter<EccAddEvent> ecc_add_emitter;
152 DefaultEventEmitter<ScalarMulEvent> scalar_mul_emitter;
153 DefaultEventEmitter<EccAddMemoryEvent> ecc_add_memory_emitter;
154 DefaultEventEmitter<Poseidon2HashEvent> poseidon2_hash_emitter;
155 DefaultEventEmitter<Poseidon2PermutationEvent> poseidon2_perm_emitter;
156 DefaultEventEmitter<Poseidon2PermutationMemoryEvent> poseidon2_perm_mem_emitter;
157 DefaultEventEmitter<KeccakF1600Event> keccakf1600_emitter;
158 DefaultEventEmitter<ToRadixEvent> to_radix_emitter;
159 DefaultEventEmitter<ToRadixMemoryEvent> to_radix_memory_emitter;
163 DefaultEventEmitter<ContextStackEvent> context_stack_emitter;
164 DefaultEventEmitter<PublicDataTreeCheckEvent> public_data_tree_check_emitter;
165 DefaultEventEmitter<UpdateCheckEvent> update_check_emitter;
166 DefaultEventEmitter<IndexedTreeCheckEvent> indexed_tree_check_emitter;
168 DefaultEventEmitter<CalldataEvent> calldata_emitter;
169 DefaultEventEmitter<InternalCallStackEvent> internal_call_stack_emitter;
170 DefaultEventEmitter<NoteHashTreeCheckEvent> note_hash_tree_check_emitter;
171 DefaultDeduplicatingEventEmitter<GreaterThanEvent> greater_than_emitter;
172 DefaultEventEmitter<ContractInstanceRetrievalEvent> contract_instance_retrieval_emitter;
173 DefaultEventEmitter<GetContractInstanceEvent> get_contract_instance_emitter;
174 DefaultEventEmitter<L1ToL2MessageTreeCheckEvent> l1_to_l2_msg_tree_check_emitter;
175 DefaultEventEmitter<EmitPublicLogEvent> emit_public_log_emitter;
195 if (
tx.non_revertible_accumulated_data.nullifiers.empty()) {
196 throw std::runtime_error(
"Non-revertible nullifiers are empty in the transaction.");
215 public_data_tree_check,
219 l1_to_l2_msg_tree_check);
224 base_merkle_db.add_checkpoint_listener(emit_public_log_component);
246 bytecode_retrieval_emitter,
247 bytecode_decomposition_emitter,
248 instruction_fetching_emitter);
256 calldata_hashing_provider,
257 internal_call_stack_manager_provider,
283 execution_components,
288 context_stack_emitter,
292 emit_public_log_component,
327 execution_emitter.dump_events(),
329 bitwise_emitter.dump_events(),
330 memory_emitter.dump_events(),
331 bytecode_retrieval_emitter.dump_events(),
332 bytecode_hashing_emitter.dump_events(),
333 bytecode_decomposition_emitter.dump_events(),
334 instruction_fetching_emitter.dump_events(),
335 address_derivation_emitter.dump_events(),
336 class_id_derivation_emitter.dump_events(),
337 sha256_compression_emitter.dump_events(),
338 ecc_add_emitter.dump_events(),
339 scalar_mul_emitter.dump_events(),
340 ecc_add_memory_emitter.dump_events(),
341 poseidon2_hash_emitter.dump_events(),
342 poseidon2_perm_emitter.dump_events(),
343 poseidon2_perm_mem_emitter.dump_events(),
344 keccakf1600_emitter.dump_events(),
345 to_radix_emitter.dump_events(),
346 to_radix_memory_emitter.dump_events(),
348 greater_than_emitter.dump_events(),
351 context_stack_emitter.dump_events(),
352 public_data_tree_check_emitter.dump_events(),
353 update_check_emitter.dump_events(),
354 indexed_tree_check_emitter.dump_events(),
355 data_copy_emitter.dump_events(),
356 calldata_emitter.dump_events(),
357 internal_call_stack_emitter.dump_events(),
358 note_hash_tree_check_emitter.dump_events(),
359 contract_instance_retrieval_emitter.dump_events(),
360 get_contract_instance_emitter.dump_events(),
361 l1_to_l2_msg_tree_check_emitter.dump_events(),
362 emit_public_log_emitter.dump_events(),