Skip to content

token.watchTransfer

Watches for token transfer events on TIP20 tokens.

Usage

ts
import {  } from 'wagmi/tempo'
import {  } from './config'

const  = ..(, {
  : 1n,
  (, ) {
    .('args:', )
  },
})

// Later, stop watching
()
ts
import { createConfig, http } from 'wagmi'
import { tempoTestnet } from 'wagmi/chains'
import { KeyManager, webAuthn } from 'wagmi/tempo'

export const config = createConfig({
  connectors: [
    webAuthn({
      keyManager: KeyManager.localStorage(),
    }),
  ],
  chains: [tempoTestnet],
  multiInjectedProviderDiscovery: false,
  transports: {
    [tempoTestnet.id]: http(),
  },
})

Return Type

() => void

Returns a function to unsubscribe from the event.

Parameters

onTransfer

  • Type: function
ts
declare function onTransfer(args: Args, log: Log): void

type Args = {
  /** Amount transferred */
  amount: bigint
  /** Address sending the tokens */
  from: Address
  /** Address receiving the tokens */
  to: Address
}

Callback to invoke when tokens are transferred.

token

  • Type: Address | bigint

Address or ID of the TIP20 token to watch.

args (optional)

  • Type: object
ts
type Args = {
  /** Filter by sender address(es) */
  from?: Address | Address[] | null
  /** Filter by recipient address(es) */
  to?: Address | Address[] | null
}

Optional filter to watch only transfers from or to specific addresses.

fromBlock (optional)

  • Type: bigint

Block to start listening from.

onError (optional)

  • Type: function
ts
declare function onError(error: Error): void

The callback to call when an error occurred when trying to get for a new block.

poll (optional)

  • Type: true

Enable polling mode.

pollingInterval (optional)

  • Type: number

Polling frequency (in ms). Defaults to Client's pollingInterval config.

Viem

Released under the MIT License.