@broxus/js-core
Version:
MobX-based JavaScript Core library
60 lines (59 loc) • 2.44 kB
TypeScript
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[]>;
};