Documentation Index
Fetch the complete documentation index at: https://beta.docs.sqd.dev/llms.txt
Use this file to discover all available pages before exploring further.
See the Handling contract events guide for usage examples and event specification routes.
evmDecoder
Returns a query-transformer combo that instructs the source to fetch and decode smart contract event logs.
evmDecoder<T>(config: EvmDecoderConfig<T>): Transformer
Parameters:
range: Block range { from: number | 'latest', to?: number } (required)
contracts: Array of contract addresses or a factory (optional — omit to receive events from all contracts)
events: Map of event names to ABI event objects or { event, params } filter objects (required)
profiler: Profiler config shard for labeling the transformer in profiling data { name: string } (optional)
onError: Error handler (optional)
Example:
import { evmDecoder, commonAbis } from "@subsquid/pipes/evm";
const decoder = evmDecoder({
range: { from: 20000000, to: 20100000 },
contracts: ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"],
events: {
transfer: commonAbis.erc20.events.Transfer,
},
});
await evmPortalSource({
portal: "https://portal.sqd.dev/datasets/ethereum-mainnet",
outputs: decoder,
}).pipeTo(target);
Decoded event structure
Each entry in the output arrays is a DecodedEvent object:
| Field | Type | Description |
|---|
event | decoded event type | Decoded event data fields |
contract | string | Address of the contract that emitted the event |
block | { number: number, hash: string } | Block number and hash |
timestamp | Date | Block timestamp |
rawEvent | Log | Raw log with address, topics, data, transactionHash, logIndex, transactionIndex |
factory | { contract, blockNumber, event } | Present only when using a factory; carries the factory deployment event that discovered this contract |
commonAbis
import { commonAbis } from '@subsquid/pipes/evm'
commonAbis is a built-in collection of typed ABI modules. See the Handling contract events guide for usage examples.
commonAbis.erc20
Events:
| Signature |
|---|
commonAbis.erc20.events.Transfer | Transfer(address indexed from, address indexed to, uint256 value) |
commonAbis.erc20.events.Approval | Approval(address indexed owner, address indexed spender, uint256 value) |
Functions:
| Signature |
|---|
commonAbis.erc20.functions.name | name() → string |
commonAbis.erc20.functions.symbol | symbol() → string |
commonAbis.erc20.functions.decimals | decimals() → uint8 |
commonAbis.erc20.functions.totalSupply | totalSupply() → uint256 |
commonAbis.erc20.functions.balanceOf | balanceOf(address _owner) → uint256 |
commonAbis.erc20.functions.allowance | allowance(address _owner, address _spender) → uint256 |
commonAbis.erc20.functions.transfer | transfer(address _to, uint256 _value) → bool |
commonAbis.erc20.functions.approve | approve(address _spender, uint256 _value) → bool |
commonAbis.erc20.functions.transferFrom | transferFrom(address _from, address _to, uint256 _value) → bool |