Saltar al contenido principal

Importar

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

Uso

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

function SwapComponent() {
  const { data: swapPrices, isLoading } = useGetSwapPrices({
    userAddress: '0x123...',
    buyCurrencyAddress: '0x456...',
    buyAmount: '1000000000000000000', 
    chainId: 1,
    withContractInfo: true
  })

  if (isLoading) return <div>Loading...</div>

  return (
    <div>
      {swapPrices?.map(swap => (
        <div key={swap.info?.address}>
          Token: {swap.info?.symbol}
          Price: {swap.price.price}
          Balance: {swap.balance.balance}
        </div>
      ))}
    </div>
  )
}

Tipo de retorno: UseQueryResult<SwapPricesWithCurrencyInfo[]>

El hook retorna todas las propiedades de UseQueryResult de React Query con los datos de precios de swap. A continuación, la estructura detallada:
interface SwapPrice {
    currencyAddress: string;
    currencyBalance: string;
    price: string;
    maxPrice: string;
    transactionValue: string;
}

interface Balance {
  balance: string
}

interface ContractInfo {
    chainId: number;
    address: string;
    source: string;
    name: string;
    type: string;
    symbol: string;
    decimals?: number;
    logoURI: string;
    deployed: boolean;
    bytecodeHash: string;
    extensions: ContractInfoExtensions;
    updatedAt: string;
    notFound: boolean;
    queuedAt?: string;
    status: ResourceStatus;
}

enum ResourceStatus {
    NOT_AVAILABLE = "NOT_AVAILABLE",
    STALE = "STALE",
    AVAILABLE = "AVAILABLE"
}

interface ContractInfoExtensions {
    link: string;
    description: string;
    categories: Array<string>;
    ogImage: string;
    ogName: string;
    originChainId: number;
    originAddress: string;
    blacklist: boolean;
    verified: boolean;
    verifiedBy: string;
    featured: boolean;
}

type SwapPricesWithCurrencyInfo = {
  price: SwapPrice
  info: ContractInfo | undefined
  balance: Balance
}

Propiedades

data

SwapPricesWithCurrencyInfo[] | undefined Arreglo de objetos de precios de swap que contienen:
price (SwapPrice)
  • currencyAddress: Dirección de la moneda
  • currencyBalance: Balance de la moneda
  • price: El precio del swap
  • maxPrice: El precio máximo para el swap
  • transactionValue: El valor de la transacción
info (ContractInfo)
  • chainId: Chain ID donde existe el token
  • address: Dirección del contrato del token
  • source: Fuente de la información del token
  • name: Nombre del token
  • type: Tipo de token
  • symbol: Símbolo del token
  • decimals: Decimales del token
  • logoURI: URL del logo del token
  • deployed: Indica si el token está desplegado
  • bytecodeHash: Hash del bytecode del token
  • extensions: Metadatos adicionales del token
  • updatedAt: Marca de tiempo de la última actualización
  • notFound: Indica si el token no fue encontrado
  • queuedAt: Momento en el que el token fue puesto en cola para actualización
  • status: Estado del recurso del token
balance (Balance)
  • balance: Balance del usuario de la moneda en unidades base

isLoading

boolean Estado de carga para la obtención de datos.

isError

boolean Estado de error que indica si la consulta falló.

error

Error | null Cualquier error que ocurrió durante la obtención de datos.

Parámetros

El hook acepta dos parámetros:

args: UseGetSwapPricesArgs

interface UseGetSwapPricesArgs {
  userAddress: string
  buyCurrencyAddress: string
  buyAmount: string
  chainId: number
  withContractInfo?: boolean
}
ParámetroTypeDescription
userAddressstringLa dirección del wallet del usuario
buyCurrencyAddressstringLa dirección de la moneda a comprar
buyAmountstringLa cantidad de moneda a comprar (en unidades base)
chainIdnumberEl chain ID donde se realizará el swap
withContractInfoboolean(Opcional) Indica si se debe obtener información adicional del contrato para cada moneda

options: HooksOptions

interface HooksOptions {
  disabled?: boolean
  retry?: boolean
}
ParámetroTypeDescription
disabledboolean(Opcional) Deshabilitar la consulta para que no se ejecute automáticamente
retryboolean(Opcional) Indica si se deben reintentar las consultas fallidas