Usage Examples
Filter by Single Address
Copy
Ask AI
import { Event } from 'tevm'
const transferEvent = new Event({
type: "event",
name: "Transfer",
inputs: [
{ type: "address", name: "from", indexed: true },
{ type: "address", name: "to", indexed: true },
{ type: "uint256", name: "value" }
]
})
// Get all transfers FROM specific address
const topics = transferEvent.encodeTopics({
from: "0x742d35Cc6634C0532925a3b844Bc9e7595f51e3e"
})
const logs = await provider.getLogs({
address: tokenAddress,
topics: topics
})
Filter by Multiple Criteria
Copy
Ask AI
import { Event } from 'tevm'
const transferEvent = new Event({
type: "event",
name: "Transfer",
inputs: [
{ type: "address", name: "from", indexed: true },
{ type: "address", name: "to", indexed: true },
{ type: "uint256", name: "value" }
]
})
// Get transfers FROM one address TO another
const topics = transferEvent.encodeTopics({
from: "0x742d35Cc6634C0532925a3b844Bc9e7595f51e3e",
to: "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"
})
const logs = await provider.getLogs({
address: tokenAddress,
topics: topics
})
Partial Filtering
Copy
Ask AI
import { Event } from 'tevm'
const transferEvent = new Event({
type: "event",
name: "Transfer",
inputs: [
{ type: "address", name: "from", indexed: true },
{ type: "address", name: "to", indexed: true },
{ type: "uint256", name: "value" }
]
})
// Only filter by TO address (FROM is any)
const topics = transferEvent.encodeTopics({
to: "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"
})
// Topics array: [selector, null, toAddress]
const logs = await provider.getLogs({
address: tokenAddress,
topics: topics
})
See Also
- decodeLog - Decode event log data
- getSelector - Get event selector

