waitForCallsStatus
Waits for a call bundle to be confirmed & included on a block before returning the status & receipts.
WARNING
This is an experimental action that is not supported in most wallets. It is recommended to have a fallback mechanism if using this in production.
Import
ts
import { waitForCallsStatus } from '@wagmi/core/experimental'
Usage
ts
import { parseEther } from 'viem'
import { sendCalls, waitForCallsStatus } from '@wagmi/core/experimental'
import { config } from './config'
const id = await sendCalls(config, {
calls: [{
to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
value: parseEther('1')
}]
})
const { status, receipts } = await waitForCallsStatus(config, {
id,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
Parameters
ts
import { type WaitForCallsStatusParameters } from '@wagmi/core/experimental'
connector
Connector | undefined
Connector to get call statuses with.
ts
import { getConnections, waitForCallsStatus } from '@wagmi/core/experimental'
import { config } from './config'
const connections = getConnections(config)
const status = await waitForCallsStatus(config, {
connector: connections[0]?.connector,
id: '0x1234567890abcdef',
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
id
string
Identifier of the call batch.
ts
import { waitForCallsStatus } from '@wagmi/core/experimental'
import { config } from './config'
const status = await waitForCallsStatus(config, {
id: '0x1234567890abcdef',
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
pollingInterval
number
Polling interval in milliseconds.
ts
import { waitForCallsStatus } from '@wagmi/core/experimental'
import { config } from './config'
const status = await waitForCallsStatus(config, {
id: '0x1234567890abcdef',
pollingInterval: 1_000,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
timeout
number
Timeout in milliseconds before waitForCallsStatus
stops polling.
ts
import { waitForCallsStatus } from '@wagmi/core/experimental'
import { config } from './config'
const status = await waitForCallsStatus(config, {
id: '0x1234567890abcdef',
timeout: 10_000,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
Return Type
ts
import { type WaitForCallsStatusReturnType } from '@wagmi/core/experimental'
{ status: 'PENDING' | 'CONFIRMED', receipts: TransactionReceipt[] }
The status and receipts of the call batch.
Error
ts
import { type WaitForCallsStatusErrorType } from '@wagmi/core/experimental'
TanStack Query
ts
import {
type WaitForCallsStatusData,
type WaitForCallsStatusOptions,
type WaitForCallsStatusQueryFnData,
type WaitForCallsStatusQueryKey,
waitForCallsStatusQueryKey,
waitForCallsStatusQueryOptions,
} from '@wagmi/core/experimental/query'