@broxus/js-core
Version:
MobX-based JavaScript Core library
169 lines (168 loc) • 4.82 kB
TypeScript
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>;
};