6#ifndef OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_EVM_MESSAGES_H_
7#define OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_EVM_MESSAGES_H_
12#include <evmc/evmc.hpp>
20 static constexpr uint64_t opencbdc_chain_id = 0xcbdc;
70 std::optional<evmc::address>
m_to{};
parsec::ticket_machine::ticket_number_type ticket_number_type
Type alias for a ticket number.
std::vector< uint8_t > evm_account_code
Type alias for EVM account code.
evm_tx_type
 EVM transaction types.
std::vector< evm_access_tuple > evm_access_list
Type alias for a list of storage key accesses.
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
evmc::address m_addr
Address for the account code.
Type for tracking storage key accesses between accounts.
auto operator==(const evm_access_tuple &rhs) const -> bool
std::vector< evmc::bytes32 > m_storage_keys
std::set< evmc::bytes32 > m_modified
Set of keys modified during contract execution.
bool m_destruct
Flag set if the account is being destructed.
evmc::uint256be m_balance
Balance in the account.
evmc::uint256be m_nonce
Signature nonce.
Dry-run EVM transaction type.
evmc::address m_from
From address.
evm_tx m_tx
EVM transaction to dry-run.
interface::ticket_number_type m_ticket_number
Ticket number that emitted the logs.
cbdc::hash_t m_txid
TXID that emitted the logs.
std::vector< evm_log > m_logs
The logs that were emitted.
Describes the parameters of a query on EVM logs - used to transfer these parameters from the getLogs ...
std::vector< evmc::address > m_addresses
The addresses for which logs are queried.
std::vector< evmc::bytes32 > m_topics
The topics for which logs are queried.
cbdc::parsec::agent::runner::interface::ticket_number_type m_from_block
The start of the block range to query logs for.
cbdc::parsec::agent::runner::interface::ticket_number_type m_to_block
The end of the block range to query logs for.
std::vector< evmc::bytes32 > m_topics
List of log topics.
evmc::address m_addr
Address for the log.
std::vector< uint8_t > m_data
Log data.
EVM pretend block is a pairing of the blocknumber (equal to the ticket number) and the transactions (...
interface::ticket_number_type m_ticket_number
Ticket number.
std::vector< evm_tx_receipt > m_transactions
Transactions executed by the ticket.
EVM transaction receipt type.
uint64_t m_timestamp
Timestamp of the transaction - needed to provide a timestamp in pretend blocks.
cbdc::parsec::agent::runner::interface::ticket_number_type m_ticket_number
Ticket number that ran this TX - needed to map to pretend blocks.
evmc::uint256be m_gas_used
Gas used in transaction.
std::optional< evmc::address > m_create_address
Created contract address, if applicable.
std::vector< uint8_t > m_output_data
EVM output data.
std::vector< evm_log > m_logs
List of logs emitted during transaction.
evm_tx m_tx
EVM transaction.
evmc::uint256be m_gas_price
Gas price.
evmc::uint256be m_gas_tip_cap
Maximum tip fee.
std::vector< uint8_t > m_input
Contract input data.
evm_sig m_sig
Transaction signature.
evm_tx_type m_type
Type of transaction.
evmc::uint256be m_value
Value to transfer.
evmc::uint256be m_gas_fee_cap
Maximum base fee.
evmc::uint256be m_gas_limit
Maximum gas for this transaction.
evmc::uint256be m_nonce
Nonce for from account.
evm_access_list m_access_list
List of storage key accesses.
std::optional< evmc::address > m_to
To address or std::nullopt if contract creation.
Type for account storage keys.
evmc::bytes32 m_key
Storage key.
evmc::address m_addr
Account address.