Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::simulation::TxExecution Class Referencefinal

#include <tx_execution.hpp>

Public Member Functions

 TxExecution (ExecutionInterface &call_execution, ContextProviderInterface &context_provider, HighLevelMerkleDBInterface &merkle_db, WrittenPublicDataSlotsTreeCheckInterface &written_public_data_slots_tree, FieldGreaterThanInterface &field_gt, Poseidon2Interface &poseidon2, EventEmitterInterface< TxEvent > &event_emitter)
 
void simulate (const Tx &tx)
 

Private Member Functions

void insert_non_revertibles (const Tx &tx)
 
void insert_revertibles (const Tx &tx)
 
void emit_public_call_request (const PublicCallRequestWithCalldata &call, TransactionPhase phase, const FF &transaction_fee, bool success, const Gas &start_gas, const Gas &end_gas, const TxContextEvent &state_before, const TxContextEvent &state_after)
 
void pay_fee (const FF &fee_payer, const FF &fee, const uint128_t &fee_per_da_gas, const uint128_t &fee_per_l2_gas)
 
void emit_l2_to_l1_message (bool revertible, const ScopedL2ToL1Message &l2_to_l1_message)
 
void emit_nullifier (bool revertible, const FF &nullifier)
 
void emit_note_hash (bool revertible, const FF &note_hash)
 
void pad_trees ()
 
void cleanup ()
 

Private Attributes

ExecutionInterfacecall_execution
 
ContextProviderInterfacecontext_provider
 
HighLevelMerkleDBInterfacemerkle_db
 
FieldGreaterThanInterfacefield_gt
 
Poseidon2Interfaceposeidon2
 
EventEmitterInterface< TxEvent > & events
 
TxContext tx_context
 

Detailed Description

Definition at line 18 of file tx_execution.hpp.

Constructor & Destructor Documentation

◆ TxExecution()

bb::avm2::simulation::TxExecution::TxExecution ( ExecutionInterface call_execution,
ContextProviderInterface context_provider,
HighLevelMerkleDBInterface merkle_db,
WrittenPublicDataSlotsTreeCheckInterface written_public_data_slots_tree,
FieldGreaterThanInterface field_gt,
Poseidon2Interface poseidon2,
EventEmitterInterface< TxEvent > &  event_emitter 
)
inline

Definition at line 20 of file tx_execution.hpp.

Member Function Documentation

◆ cleanup()

void bb::avm2::simulation::TxExecution::cleanup ( )
private

Definition at line 421 of file tx_execution.cpp.

◆ emit_l2_to_l1_message()

void bb::avm2::simulation::TxExecution::emit_l2_to_l1_message ( bool  revertible,
const ScopedL2ToL1Message l2_to_l1_message 
)
private

Definition at line 295 of file tx_execution.cpp.

◆ emit_note_hash()

void bb::avm2::simulation::TxExecution::emit_note_hash ( bool  revertible,
const FF note_hash 
)
private

Definition at line 262 of file tx_execution.cpp.

◆ emit_nullifier()

void bb::avm2::simulation::TxExecution::emit_nullifier ( bool  revertible,
const FF nullifier 
)
private

Definition at line 228 of file tx_execution.cpp.

◆ emit_public_call_request()

void bb::avm2::simulation::TxExecution::emit_public_call_request ( const PublicCallRequestWithCalldata call,
TransactionPhase  phase,
const FF transaction_fee,
bool  success,
const Gas start_gas,
const Gas end_gas,
const TxContextEvent state_before,
const TxContextEvent state_after 
)
private

Definition at line 28 of file tx_execution.cpp.

◆ insert_non_revertibles()

void bb::avm2::simulation::TxExecution::insert_non_revertibles ( const Tx tx)
private

Definition at line 325 of file tx_execution.cpp.

◆ insert_revertibles()

void bb::avm2::simulation::TxExecution::insert_revertibles ( const Tx tx)
private

Definition at line 353 of file tx_execution.cpp.

◆ pad_trees()

void bb::avm2::simulation::TxExecution::pad_trees ( )
private

Definition at line 411 of file tx_execution.cpp.

◆ pay_fee()

void bb::avm2::simulation::TxExecution::pay_fee ( const FF fee_payer,
const FF fee,
const uint128_t fee_per_da_gas,
const uint128_t fee_per_l2_gas 
)
private

Definition at line 380 of file tx_execution.cpp.

◆ simulate()

void bb::avm2::simulation::TxExecution::simulate ( const Tx tx)

Definition at line 60 of file tx_execution.cpp.

Member Data Documentation

◆ call_execution

ExecutionInterface& bb::avm2::simulation::TxExecution::call_execution
private

Definition at line 39 of file tx_execution.hpp.

◆ context_provider

ContextProviderInterface& bb::avm2::simulation::TxExecution::context_provider
private

Definition at line 40 of file tx_execution.hpp.

◆ events

EventEmitterInterface<TxEvent>& bb::avm2::simulation::TxExecution::events
private

Definition at line 44 of file tx_execution.hpp.

◆ field_gt

FieldGreaterThanInterface& bb::avm2::simulation::TxExecution::field_gt
private

Definition at line 42 of file tx_execution.hpp.

◆ merkle_db

HighLevelMerkleDBInterface& bb::avm2::simulation::TxExecution::merkle_db
private

Definition at line 41 of file tx_execution.hpp.

◆ poseidon2

Poseidon2Interface& bb::avm2::simulation::TxExecution::poseidon2
private

Definition at line 43 of file tx_execution.hpp.

◆ tx_context

TxContext bb::avm2::simulation::TxExecution::tx_context
private

Definition at line 46 of file tx_execution.hpp.


The documentation for this class was generated from the following files: