Skip to content

eth::codec

Classes

Name
struct eth::codec::LogEntry
EVM log entry emitted by a CALL or CREATE instruction.
struct eth::codec::AccessListEntry
An EIP-2930 access list entry: contract address + storage slots.
struct eth::codec::Transaction
Full Ethereum transaction covering legacy, EIP-2930 and EIP-1559 formats.
struct eth::codec::Receipt
struct eth::codec::BlockHeader

Types

Name
enum class uint8_t TransactionType { kLegacy = 0x00, kAccessList = 0x01, kDynamicFee = 0x02}
Ethereum transaction types per EIP-2718.
using rlp::Hash256 Hash256
using rlp::Address Address
using rlp::Bloom Bloom
using std::vector< uint8_t > ByteBuffer
using rlp::EncodingResult< ByteBuffer > EncodeResult
template <typename T >
using rlp::Result< T >
DecodeResult

Functions

Name
EncodeResult encode_log_entry(const LogEntry & entry)
DecodeResult< LogEntry > decode_log_entry(rlp::ByteView rlp_data)
EncodeResult encode_access_list_entry(const AccessListEntry & entry)
DecodeResult< AccessListEntry > decode_access_list_entry(rlp::ByteView rlp_data)
EncodeResult encode_transaction(const Transaction & tx)
Encode a transaction. Typed transactions (EIP-2930, EIP-1559) are prefixed with their type byte before the RLP payload, per EIP-2718.
DecodeResult< Transaction > decode_transaction(rlp::ByteView raw_data)
EncodeResult encode_receipt(const Receipt & receipt)
DecodeResult< Receipt > decode_receipt(rlp::ByteView rlp_data)
EncodeResult encode_block_header(const BlockHeader & header)
DecodeResult< BlockHeader > decode_block_header(rlp::ByteView rlp_data)

Types Documentation

enum TransactionType

Enumerator Value Description
kLegacy 0x00 Pre-EIP-2718 (no type prefix).
kAccessList 0x01 EIP-2930.
kDynamicFee 0x02 EIP-1559.

Ethereum transaction types per EIP-2718.

using Hash256

using eth::codec::Hash256 = rlp::Hash256;

using Address

using eth::codec::Address = rlp::Address;

using Bloom

using eth::codec::Bloom = rlp::Bloom;

using ByteBuffer

using eth::codec::ByteBuffer = std::vector<uint8_t>;

using EncodeResult

using eth::codec::EncodeResult = rlp::EncodingResult<ByteBuffer>;

using DecodeResult

template <typename T >
using eth::codec::DecodeResult = rlp::Result<T>;

Functions Documentation

function encode_log_entry

EncodeResult encode_log_entry(
    const LogEntry & entry
)

function decode_log_entry

DecodeResult< LogEntry > decode_log_entry(
    rlp::ByteView rlp_data
)

function encode_access_list_entry

EncodeResult encode_access_list_entry(
    const AccessListEntry & entry
)

function decode_access_list_entry

DecodeResult< AccessListEntry > decode_access_list_entry(
    rlp::ByteView rlp_data
)

function encode_transaction

EncodeResult encode_transaction(
    const Transaction & tx
)

Encode a transaction. Typed transactions (EIP-2930, EIP-1559) are prefixed with their type byte before the RLP payload, per EIP-2718.

function decode_transaction

DecodeResult< Transaction > decode_transaction(
    rlp::ByteView raw_data
)

function encode_receipt

EncodeResult encode_receipt(
    const Receipt & receipt
)

function decode_receipt

DecodeResult< Receipt > decode_receipt(
    rlp::ByteView rlp_data
)

function encode_block_header

EncodeResult encode_block_header(
    const BlockHeader & header
)

function decode_block_header

DecodeResult< BlockHeader > decode_block_header(
    rlp::ByteView rlp_data
)

Updated on 2026-04-13 at 23:22:46 -0700