UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

60 lines (59 loc) 2.44 kB
import { type AddressUrlParam, type CommonGraphRequestParams, type OhlcvKind, type OhlcvModel, type SingleDataResponseModel, type TvlResponseModel, type VolumeResponseModel } from '../api/types'; import { Endpoint } from '../core'; export declare enum CurrenciesOrdering { TvlAscending = "tvlascending", TvlDescending = "tvldescending" } export interface CurrencyResponse { address: string; currency: string; fee24h: string; price: string; priceChange: string; transactionsCount24h: number; tvl: string; tvlChange: string; volume24h: string; volume7d: string; volumeChange24h: string; volumeChange7d: string; } export interface CurrenciesRequestParams { currencyAddresses?: string[]; limit: number; offset: number; ordering?: CurrenciesOrdering; tvlGe?: string; tvlLe?: string; whiteListUri?: string; } export interface CurrenciesResponse { count: number; currencies: CurrencyResponse[]; offset: number; totalCount: number; } export interface CurrenciesUsdtPricesRequestParams { currency_addresses: string[]; } export type CurrenciesUsdtPricesResponse = { [tokenRoot: string]: string; }; export interface CurrencyOhlcvRequestParams extends CommonGraphRequestParams { currencyAddress: string; ohlcvKind: OhlcvKind; } export interface CurrencyOhlcvResponseModel extends Omit<OhlcvModel, 'volume'> { countTransactions: number; usdtVolume: string; } export type CurrencyOhlcvResponse<T extends OhlcvKind = any> = T extends OhlcvKind.Price ? CurrencyOhlcvResponseModel[] : T extends OhlcvKind.Tvl ? TvlResponseModel[] : T extends OhlcvKind.Volume ? VolumeResponseModel[] : never; export declare function useCurrenciesApi(baseUrl?: string): { currencies: Endpoint<never, CurrenciesRequestParams, CurrenciesResponse>; currenciesUsdtPrices: Endpoint<never, CurrenciesUsdtPricesRequestParams, CurrenciesUsdtPricesResponse>; currency: Endpoint<AddressUrlParam, never, CurrencyResponse>; currencyOhlcv: Endpoint<never, CurrencyOhlcvRequestParams, CurrencyOhlcvResponseModel[] | TvlResponseModel[] | VolumeResponseModel[]>; currencyPrices: Endpoint<AddressUrlParam, CommonGraphRequestParams, OhlcvModel[]>; currencyTvl: Endpoint<AddressUrlParam, CommonGraphRequestParams, SingleDataResponseModel[]>; currencyVolume: Endpoint<AddressUrlParam, CommonGraphRequestParams, SingleDataResponseModel[]>; };