UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

169 lines (168 loc) 4.82 kB
import { type CommonGraphRequestParams } from '../api/types'; import { Endpoint } from '../core'; export interface GaugePoolTokenInfo { amount: string; tokenRoot: string; tokenSymbol: string; } export interface GaugeRewardTokenInfo { tokenRoot: string; tokenSymbol: string; } export interface GaugeItem { address: string; depositTokenRoot: string; endTime: number | null; hasQubeReward: boolean; isLowBalance: boolean; maxApr: string; maxAprChange: string; maxBoost: number; maxLockTime: number; minApr: string; minAprChange: string; poolTokens: GaugePoolTokenInfo[]; rewardTokens: GaugeRewardTokenInfo[]; startTime: number | null; tvl: string; tvlChange: string; } export declare enum GaugesOrdering { TvlAsc = "TvlAsc", TvlDesc = "TvlDesc", MaxAprAsc = "MaxAprAsc", MaxAprDesc = "MaxAprDesc", MinAprAsc = "MinAprAsc", MinAprDesc = "MinAprDesc" } export interface GaugeRange { from: string; to: string; } export interface GaugesRequestParams { additionalTokenRoots?: string[]; limit: number; maxApr?: GaugeRange; minApr?: GaugeRange; offset: number; ordering?: GaugesOrdering; showLowBalance?: boolean; starredGauges?: string[]; tvl?: GaugeRange; userAddress?: string; whitelistUri?: string; } export interface GaugesLpRootRequestParams { lpAddress: string; } export interface GaugesResponse { gauges: GaugeItem[]; total: number; } export interface GaugeInfo { address: string; depositTokenRoot: string; hasQubeReward: boolean; maxApr: string; minApr: string; poolTokens: GaugePoolTokenInfo[]; rewardTokens: GaugeRewardTokenInfo[]; tvl: string; } export interface GaugeDetailsRequestParams { gaugeAddress: string; } export interface GaugeDetailsReResponse { gauge: GaugeItem; } export interface GaugesByUserAddressRequestParams { userAddress: string; } export interface GaugesByUserAddressResponse { gauges: GaugeInfo[]; } export interface QubeDaoGaugeBatchRequestParams { gauges: string[]; } export interface GaugeBatchResponse { gauges: GaugeInfo[]; } export declare enum GaugeTransactionEventType { Claim = "claim", Deposit = "deposit", Reward = "rewardDeposit", Withdraw = "withdraw" } export interface GaugeTransactionsRequestParams { eventType?: GaugeTransactionEventType[]; gaugeAddress?: string; limit: number; offset: number; timestamp?: { from: number; to: number; }; userAddress?: string; } export interface GaugeTransactionToken { amount: string; tokenRoot: string; tokenSymbol: string; value: string; } export interface GaugeTransactionResponse { gaugeAddress: string; kind: GaugeTransactionEventType; timestamp: number; tokens: GaugeTransactionToken[]; txHash: string; userAddress: string; } export interface GaugeTransactionsResponse { total: number; transactions: GaugeTransactionResponse[]; } export interface GaugeRewardRoundsRequestParams { gaugeAddress: string; limit: number; offset: number; } export interface GaugeRewardRoundToken { budget: string; farmingSpeed: string; tokenRoot: string; tokenSymbol: string; } export interface GaugeRewardRoundResponse { endDate: number; id: number; rewardTokens: GaugeRewardRoundToken[]; startDate: number; } export interface GaugeRewardRoundsResponse { rewardTokens: GaugeRewardRoundResponse[]; total: number; } export interface GaugeGraphRequestParams extends CommonGraphRequestParams { gaugeAddress: string; } export interface GaugeGraphResponseModel { timestamp: number; value: string; } export interface GaugeGraphResponse { stats: GaugeGraphResponseModel[]; } export declare function useGaugesApi(baseUrl?: string): { extraRewardRounds: Endpoint<never, GaugeRewardRoundsRequestParams, GaugeRewardRoundsResponse>; gauge: Endpoint<never, GaugeDetailsRequestParams, GaugeDetailsReResponse>; gaugeByLpRoot: Endpoint<never, GaugesLpRootRequestParams, GaugesResponse>; gauges: Endpoint<never, GaugesRequestParams, GaugesResponse>; gaugesBatch: Endpoint<never, QubeDaoGaugeBatchRequestParams, GaugeBatchResponse>; gaugesByUserAddress: Endpoint<never, GaugesByUserAddressRequestParams, GaugesByUserAddressResponse>; maxApr: Endpoint<never, GaugeGraphRequestParams, GaugeGraphResponse>; minApr: Endpoint<never, GaugeGraphRequestParams, GaugeGraphResponse>; qubeRewardRounds: Endpoint<never, GaugeRewardRoundsRequestParams, GaugeRewardRoundsResponse>; transactions: Endpoint<never, GaugeTransactionsRequestParams, GaugeTransactionsResponse>; tvl: Endpoint<never, GaugeGraphRequestParams, GaugeGraphResponse>; };