Skip to main content
Schema: hyperevm.core Table: fact_event_logs Type: Table

What

This table contains raw event logs emitted by smart contracts during transaction execution. Each row represents a single event with its topics and data. Events are the primary mechanism for smart contracts to communicate state changes and must be explicitly emitted in contract code.

Key Use Cases

  • Tracking raw blockchain events before decoding
  • Filtering events by signature (topic_0) for specific event types
  • Analyzing contract activity patterns and event frequencies
  • Building custom event decoders for unsupported contracts
  • Monitoring specific addresses via indexed parameters

Important Relationships

  • Join with ez_decoded_event_logs: Use tx_hash and event_index for simplified decoded data
  • Join with fact_transactions: Use tx_hash for transaction context
  • Join with dim_contracts: Use contract_address for contract metadata

Commonly-used Fields

  • topic_0: Event signature hash for filtering event types
  • contract_address: Smart contract that emitted the event
  • topics: Array of indexed parameters (max 4)
  • data: Hex-encoded non-indexed parameters
  • event_index: Sequential position within transaction
  • tx_hash: Transaction containing this event

Sample queries

-- Find all ERC-20 Transfer events in last 24 hours
SELECT
    block_timestamp,
    tx_hash,
    contract_address,
    topics[1] AS from_address_padded,
    topics[2] AS to_address_padded,
    data AS amount_hex,
    event_index
FROM hyperevm.core.fact_event_logs
WHERE topic_0 = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
    AND ARRAY_SIZE(topics) = 3  -- ERC-20 has 3 topics
    AND block_timestamp >= CURRENT_DATE - 1
LIMIT 100;

-- Most active contracts by event count
SELECT
    contract_address,
    COUNT(*) AS event_count,
    COUNT(DISTINCT tx_hash) AS unique_txs,
    COUNT(DISTINCT topic_0) AS unique_event_types,
    MIN(block_timestamp) AS first_seen,
    MAX(block_timestamp) AS last_seen
FROM hyperevm.core.fact_event_logs
WHERE block_timestamp >= CURRENT_DATE - 7
GROUP BY 1
ORDER BY 2 DESC
LIMIT 50;

-- Event patterns within transactions
SELECT
    tx_hash,
    COUNT(*) AS events_in_tx,
    COUNT(DISTINCT contract_address) AS contracts_touched,
    ARRAY_AGG(DISTINCT topic_0) AS event_signatures
FROM hyperevm.core.fact_event_logs
WHERE block_timestamp >= CURRENT_DATE - 1
GROUP BY 1
HAVING COUNT(*) > 10
ORDER BY 2 DESC
LIMIT 20;

Columns

Column NameData TypeDescription
BLOCK_NUMBERNUMBERSequential counter representing the position of a block in the blockchain since genesis (block 0).
BLOCK_TIMESTAMPTIMESTAMP_NTZUTC timestamp when the block was produced by validators/miners.
TX_HASHTEXTUnique 66-character identifier for the transaction.
TX_POSITIONNUMBERZero-indexed position of transaction within its block.
EVENT_INDEXNUMBERZero-based sequential position of the event within a transaction’s execution.
CONTRACT_ADDRESSTEXTSmart contract address that emitted this event or received the transaction.
TOPICSVARIANTArray containing all indexed parameters of the event.
TOPIC_0TEXTEvent signature hash - keccak256 of the event declaration.
TOPIC_1TEXTFirst indexed parameter of the event (if exists).
TOPIC_2TEXTSecond indexed parameter of the event (if exists).
TOPIC_3TEXTThird indexed parameter of the event (if exists).
DATATEXTHex-encoded non-indexed event parameters.
EVENT_REMOVEDBOOLEANBoolean flag indicating if the event was removed due to chain reorganization.
ORIGIN_FROM_ADDRESSTEXTThe externally-owned account (EOA) or contract address that initiated the transaction.
ORIGIN_TO_ADDRESSTEXTThe destination address for the transaction - either an EOA or contract address.
ORIGIN_FUNCTION_SIGNATURETEXTFunction signature (first 4 bytes) of the called method.
TX_SUCCEEDEDBOOLEANBoolean indicator of transaction success.
FACT_EVENT_LOGS_IDTEXTPrimary key - unique identifier for each row ensuring data integrity.
INSERTED_TIMESTAMPTIMESTAMP_NTZUTC timestamp when the record was first added to the Flipside database.
MODIFIED_TIMESTAMPTIMESTAMP_NTZUTC timestamp of the most recent update to this record.