Decoded Logs
Using Decoded Logs
In general, we recommend using this combination of params
and params_keys_mapping
on all of your production pipelines, since it guarantees that your query won’t break if the field names ever change
Logs are decoded via topic0, but they do not specify the name of the params. As a result, there may be inconsistencies in the decoded params field while the underlying values is correct.
Field name changes over time are influenced by contract ABIs used during log decoding. We prioritize contract-specific ABIs but may fallback to generic ABIs. Historical records aren't retroactively updated to maintain query consistency.
Using Params Key Mapping
Using Uniswap v3 Swap() event params as an example, we first reference the params field:
Then look at the params_keys_mapping
:
From there, rewrite the query using params[params_keys_mapping[index]]
syntax:
Table Columns
Column Name | Description | Example |
---|---|---|
name | Decoded event log name. | Swap |
params | Decoded parameters in JSON format. | { "amount0In": "0", "amount0Out": "10000000000000000000000", "amount1In": "16962444212633508", "amount1Out": "0", "sender": "0xc6265979793435b496e28e61af1500c22c3ba277", "to": "0xb77dc27d092d2ee46043a7f70ff869533c44082f" } |
signature | Event log signature. | Swap(address,uint256,uint256,uint256,uint256,address) |
transaction_hash | Unique identifier of the transaction that contains this log. | 0xb67e3832a67dc9626479acb092e61c878d14b3744bbf90803a3ca6efd7107da7 |
transaction_index | The position of this transaction in the block that it belongs to. The first transaction has index 0. | 31 |
log_index | The position of this log in the block that it belongs to. The first log has index 0. | 210 |
address | The address of the contract that emitted this log. | 0x7c564421de1fa9fc10cba2a392451e6b72d2557f |
data | Unindexed data containing further information of the event, encoded in hex. | 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4340cdd0ffa400000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000 |
topic0 | The keccak256 hash of a flattened event signature string. | 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822 |
topic1 | First indexed topic of the event. | 0x000000000000000000000000c6265979793435b496e28e61af1500c22c3ba277 |
topic2 | Second indexed topic of the event. | 0x000000000000000000000000b77dc27d092d2ee46043a7f70ff869533c44082f |
topic3 | Third indexed topic of the event. | |
transaction_from_address | The address of the sending party of this transaction. | 0xb77dc27d092d2ee46043a7f70ff869533c44082f |
transaction_to_address | The address of the receiving party of this transaction. | 0xdb5889e35e379ef0498aae126fc2cce1fbd23216 |
interface_id | Interface ID. | 3b0281affe1a62ff1ca7c26385e1105a |
params_keys_mapping | Mapping of parameter keys in decoding. | [ "sender", "amount0In", "amount1In", "amount0Out", "amount1Out", "to" ] |
block_timestamp | The time when the block that contains this log was included on the blockchain. | 2023-12-03 20:23:11.000 |
block_number | The length of the chain, in blocks. | 18708213 |
block_hash | Unique identifier of the block that includes this log. | 0xbcde8785ea4c6d4acffc84c344230b6a1eeb1b6f0d91ce66993c4d251d278545 |
_created_at | Timestamp of the entry creation. | 2023-12-03 20:29:35.910 |
_updated_at | Timestamp of the entry update. | 2023-12-03 20:29:35.910 |
Last updated