watchReadContract
Action for subscribing to readContract changes.
import { watchReadContract } from '@wagmi/core'Usage
By default, the callback will be invoked on chain change.
To listen for block changes, you can use the listenToBlock config.
import { watchReadContract } from '@wagmi/core'
const config = {
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
}
let data = await readContract(config)
const unwatch = watchReadContract(config, (data_) => (data = data_))Return Value
unwatch is a function that can be called to unsubscribe from the readContract change event.
Configuration
address
The address of the contract.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
},
(data) => console.log(data),
)abi
The ABI of the contract.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
},
(data) => console.log(data),
)functionName
The name of the function on the contract to call.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
},
(data) => console.log(data),
)args (optional)
Arguments to pass to function call.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'love',
args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],
},
(data) => console.log(data),
)chainId (optional)
Force a specific chain id for the request. The wagmi Client's publicClient must be set up as a chain-aware function for this to work correctly.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'love',
chainId: 1,
},
(data) => console.log(data),
)listenToBlock (optional)
Listen for block changes & invoke multicall.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'love',
listenToBlock: true,
},
(data) => console.log(data),
)blockNumber (optional)
The block number to perform the read against.
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
blockNumber: 15121123n,
},
(data) => console.log(data),
)blockTag (optional)
The block tag to perform the read against. Accepts: 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized'
import { watchReadContract } from '@wagmi/core'
watchReadContract(
{
address: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
abi: wagmigotchiABI,
functionName: 'getHunger',
blockTag: 'safe',
},
(data) => console.log(data),
)