158 written_public_data_slots_tree_check_emitter);
166 throw std::runtime_error(
"Non-revertible nullifiers are empty in the transaction.");
172 note_hash_tree_check_emitter);
189 public_data_tree_check,
190 nullifier_tree_check,
193 l1_to_l2_msg_tree_check);
198 base_merkle_db.add_checkpoint_listener(emit_unencrypted_log_component);
210 Siloing siloing(siloing_emitter);
222 bytecode_retrieval_emitter,
223 bytecode_decomposition_emitter,
224 instruction_fetching_emitter);
232 calldata_hashing_provider,
233 internal_call_stack_manager_provider,
255 execution_components,
260 context_stack_emitter,
264 emit_unencrypted_log_component,
321 written_public_data_slots_tree_check_emitter.
dump_events(),
326 retrieved_bytecodes_tree_check_emitter.
dump_events(),
382 if (
tx.non_revertible_accumulated_data.nullifiers.empty()) {
383 throw std::runtime_error(
"Non-revertible nullifiers are empty in the transaction.");
429 *bytecode_retrieval_emitter,
430 *bytecode_decomposition_emitter,
431 *instruction_fetching_emitter);
444 calldata_hashing_provider,
445 internal_call_stack_manager_provider,
463 [](
const std::string& message) { info(message); });
481 execution_components,
486 context_stack_emitter,
490 emit_unencrypted_log_component,
491 *debug_log_component,
524 public_tx_effect.
note_hashes = side_effects.note_hashes;
525 public_tx_effect.
nullifiers = side_effects.nullifiers;
526 public_tx_effect.
l2_to_l1_msgs = side_effects.l2_to_l1_messages;
527 public_tx_effect.
public_logs = side_effects.public_logs.to_logs();
529 for (uint32_t i = 0; i < side_effects.storage_writes_slots_by_insertion.size(); i++) {
530 const auto&
slot = side_effects.storage_writes_slots_by_insertion.at(i);
531 const auto&
value = side_effects.storage_writes_slot_to_value.at(
slot);
537 .gas_used = tx_execution_result.
gas_used,
539 .public_tx_effect = public_tx_effect,
541 .logs = debug_log_component->dump_logs(),