Skip to content
LogoLogo

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

import {  } from './client'
 
const  = await .() 
const  = await .({  })
 
Output: ["0x10d86dc08ac2f18f00ef0daf7998dcc8673cbcf1f1501eeb2fac1afd2f851128", ...]

Contract Events

// @filename: client.ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
 
export const publicClient = createPublicClient({
  chain: mainnet,
  transport: http()
})
// @filename: example.ts
// ---cut---
import { publicClient } from './client'
 
const filter = await publicClient.createContractEventFilter({ 
  address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
  abi: wagmiAbi,
  eventName: 'Transfer'
})
const logs = await publicClient.getFilterChanges({ filter })
Output: [{ ... }, { ... }, { ... }]

Raw Events

import {  } from 'viem'
import {  } from './client'
 
const  = await .({ 
  : '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
  : ('event Transfer(address indexed, address indexed, uint256)'),
})
const  = await .({  })
 
Output: [{ ... }, { ... }, { ... }]

Transactions

import {  } from './client'
 
const  = await .() 
const  = await .({  })
 
Output: ["0x89b3aa1c01ca4da5d15eca9fab459d062db5c0c9b76609acb0741901f01f6d19", ...]

Returns

Log[]

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

A created filter.

const  = await .()
const  = await .({
  , 
})

JSON-RPC Method