インポート

import { useIndexerGatewayClient } from '@0xsequence/hooks'

使い方

import { useIndexerGatewayClient } from '@0xsequence/hooks'
import { useAccount } from 'wagmi'

function MultiChainBalances() {
  const { address } = useAccount()
  const indexerGatewayClient = useIndexerGatewayClient()
  
  // Example: Fetch token balances across chains
  const fetchBalances = async () => {
    const response = await indexerGatewayClient.getTokenBalancesSummary({
      chainIds: [1, 137], // Ethereum and Polygon
      filter: {
        accountAddresses: [address || ''],
        omitNativeBalances: false
      }
    })
    
    return response
  }

  return (
    <div>
      {/* ... */}
    </div>
  )
}

返却型: SequenceIndexerGateway

このフックはプロジェクト設定で構成されたSequenceIndexerGatewayインスタンスを返します。このクライアントは、複数チェーンにまたがるトークンデータの一括検索メソッドを提供します。

利用可能なメソッド

返却されるクライアントには以下のメソッドが含まれます:

interface SequenceIndexerGateway {
  // Token Balance Methods
  getNativeTokenBalance(args: GetNativeTokenBalanceArgs): Promise<GetNativeTokenBalanceReturn>
  getTokenBalances(args: GetTokenBalancesArgs): Promise<GetTokenBalancesReturn>
  getTokenBalancesSummary(args: GetTokenBalancesSummaryArgs): Promise<GetTokenBalancesSummaryReturn>
  getTokenBalancesDetails(args: GetTokenBalancesDetailsArgs): Promise<GetTokenBalancesDetailsReturn>
  getTokenBalancesByContract(args: GetTokenBalancesByContractArgs): Promise<GetTokenBalancesByContractReturn>
  
  // Balance Updates
  getBalanceUpdates(args: GetBalanceUpdatesArgs): Promise<GetBalanceUpdatesReturn>
  
  // Service Status Methods
  ping(): Promise<PingReturn>
  version(): Promise<VersionReturn>
  runtimeStatus(): Promise<RuntimeStatusReturn>
}

パラメータ

このフックはパラメータを受け取りませんが、useConfigフックから設定を取得します:

interface Config {
  projectAccessKey: string
  env: {
    indexerGatewayUrl: string
    // ... other environment settings
  }
}

設定内容は以下を決定します:

  • APIリクエスト用のゲートウェイURL
  • 認証のためのプロジェクトのアクセスキー
  • 環境ごとの設定

クライアントはprojectAccessKeyを元にメモ化され、不要な再生成を防ぎます。