getFilterChanges โ
Returns a list of logs or hashes based on a Filter since the last time it was called.
A Filter can be created from the following actions:
Usage โ
Blocks โ
ts
import { publicClient } from './client'
const filter = await publicClient.createBlockFilter()
const hashes = await publicClient.getFilterChanges({ filter })
// ["0x10d86dc08ac2f18f00ef0daf7998dcc8673cbcf1f1501eeb2fac1afd2f851128", ...]
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http()
})
Contract Events โ
ts
import { publicClient } from './client'
const filter = await publicClient.createContractEventFilter({
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
abi: wagmiAbi,
eventName: 'Transfer'
})
// ...
const logs = await publicClient.getFilterChanges({ filter })
// [{ ... }, { ... }, { ... }]
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http()
})
Raw Events โ
ts
import { parseAbiItem } from 'viem'
import { publicClient } from './client'
const filter = await publicClient.createEventFilter({
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
event: parseAbiItem('event Transfer(address indexed, address indexed, uint256)'),
})
// ...
const logs = await publicClient.getFilterChanges({ filter })
// [{ ... }, { ... }, { ... }]
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http()
})
Transactions โ
ts
import { publicClient } from './client'
const filter = await publicClient.createPendingTransactionFilter()
const hashes = await publicClient.getFilterChanges({ filter })
// ["0x89b3aa1c01ca4da5d15eca9fab459d062db5c0c9b76609acb0741901f01f6d19", ...]
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
chain: mainnet,
transport: http()
})
Returns โ
If the filter was created with createContractEventFilter
or createEventFilter
, it returns a list of logs.
OR
"0x${string}"[]
If the filter was created with createPendingTransactionFilter
, it returns a list of transaction hashes.
OR
"0x${string}"[]
If the filter was created with createBlockFilter
, it returns a list of block hashes.
Parameters โ
filter โ
- Type:
Filter
A created filter.
ts
const filter = await publicClient.createPendingTransactionFilter()
const logs = await publicClient.getFilterChanges({
filter,
})
JSON-RPC Method โ
- Calls
eth_getFilterChanges
.