bob.core Table: ez_decoded_event_logs Type: Base Table
What
This table provides human-readable decoded event data for smart contracts where ABIs are available. It transforms raw hex-encoded logs into structured JSON with named parameters and values, making blockchain data immediately queryable without manual decoding.Key Use Cases
- Analyzing token transfers and approvals without manual decoding
- Tracking DEX swaps and liquidity events with named parameters
- Monitoring NFT transfers and marketplace activity
- Querying DeFi protocol interactions (lending, staking, governance)
- Building analytics on any smart contract with available ABIs
Important Relationships
- Join with fact_event_logs: Use
tx_hashandevent_indexfor raw event data - Join with dim_contracts: Use
contract_addressfor contract metadata - Join with fact_transactions: Use
tx_hashfor transaction context - Cross-reference ez_token_transfers: For simplified token movement data
Commonly-used Fields
contract_address: The smart contract that emitted the eventevent_name: The event name from the contract ABI (e.g., Transfer, Swap)decoded_log: JSON object with decoded parameter names and valuescontract_name: Human-readable name of the contractblock_timestamp: When the event occurredtx_hash: Transaction hash containing this event
Sample queries
ERC-20 Transfer Events with Proper TypesColumns
| Column Name | Data Type | Description |
|---|---|---|
| BLOCK_NUMBER | NUMBER | Sequential counter representing the position of a block in the blockchain since genesis (block 0). |
- Immutable once finalized
- Primary ordering mechanism for blockchain data
- Increments by 1 for each new block
- Used as a proxy for time in many analyses
- Set by block producer
- Can have minor variations (±15 seconds)
- Always increasing (newer blocks = later timestamps)
- Primary key for transaction lookups
- Join key for traces, logs, and token transfers
- Immutable once confirmed
0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060 | | TX_POSITION |
NUMBER | Zero-indexed position of transaction within its block.
Insights:
- Position 0: First transaction in block
- MEV bots often target early positions
- Bundle transactions appear consecutively
- Useful for analyzing transaction ordering | | EVENT_INDEX | NUMBER | Zero-based sequential position of the event within a transaction’s execution.
- Starts at 0 for first event
- Increments across all contracts in transaction
- Preserves execution order
- Essential for deterministic event ordering
- 0xa9059cbb: transfer(address,uint256)
- 0x095ea7b3: approve(address,uint256)
- 0x23b872dd: transferFrom(address,address,uint256)
- TRUE: Transaction executed successfully
- FALSE: Transaction failed/reverted | | EVENT_NAME | TEXT | The event name as defined in the contract’s ABI.
Transfer- Token transfersSwap- DEX tradesOwnershipTransferred- Admin changesApproval- Token approvals