@broxus/js-core
Version:
MobX-based JavaScript Core library
178 lines (177 loc) • 5.54 kB
TypeScript
import { type AddressUrlParam, type CommonGraphRequestParams, type SingleDataResponseModel } from '../api/types';
import { Endpoint } from '../core';
export declare enum FarmingPoolsOrdering {
TvlAscending = "tvlascending",
TvlDescending = "tvldescending",
AprAscending = "aprascending",
AprDescending = "aprdescending",
ShareAscending = "shareascending",
ShareDescending = "sharedescending"
}
export interface FarmingPoolResponse {
apr: string;
apr_change: string;
farm_end_time?: number;
farm_start_time: number;
history_info?: {
left_amount: string;
right_amount: string;
usdt_amount: string;
};
is_low_balance: boolean;
left_address?: string;
left_balance?: string;
left_currency?: string;
pool_address: string;
pool_balance: string;
pool_info: {
vesting_period: number;
vesting_ratio: number;
rounds_info: {
start_time: number;
end_time?: number;
reward_info: {
rewardPerSec: string;
rewardTokenCurrency: string;
rewardTokenRootAddress: string;
rewardTokenScale: string;
}[];
}[];
};
pool_owner_address: string;
reward_token_root_info: {
reward_currency: string;
reward_per_second: string;
reward_root_address: string;
reward_token_scale: number;
}[];
right_address?: string;
right_balance?: string;
right_currency?: string;
share: string;
share_change: string;
token_root_address: string;
token_root_currency: string;
token_root_scale: number;
tvl: string;
tvl_change: string;
user_token_balance: string;
user_usdt_balance: string;
}
export interface FarmingPoolRequestParams {
userAddress?: string;
afterZeroBalance?: boolean;
}
export interface RewardTokenRootInfo {
reward_currency: string;
reward_root_address: string;
reward_scale: number;
}
export interface FarmingPoolsItemResponse {
apr: string;
apr_change: string;
farm_end_time?: number;
farm_start_time: number;
left_address?: string;
left_currency?: string;
pool_address: string;
pool_owner_address: string;
reward_token_root_info: RewardTokenRootInfo[];
right_address?: string;
right_currency?: string;
share: string;
token_root_address: string;
token_root_currency: string;
token_root_scale: number;
tvl: string;
tvl_change: string;
user_token_balance: string;
is_low_balance: boolean;
}
export interface FarmingPoolsResponse {
favorite_pools_info: FarmingPoolsItemResponse[];
favorite_total_count: number;
pools_info: FarmingPoolsItemResponse[];
total_count: number;
}
export interface FarmingPoolsRequestParams {
aprGe?: string;
aprLe?: string;
favoritePoolAddresses?: string[];
isActive?: boolean;
isAwaitingStart?: boolean;
isLowBalance?: boolean;
isWithMyFarming?: boolean;
leftAddress?: string;
leftCurrency?: string;
limit?: number;
offset?: number;
ordering?: FarmingPoolsOrdering;
rightAddress?: string;
rightCurrency?: string;
rootAddresses?: string[];
tvlGe?: string;
tvlLe?: string;
userAddress?: string;
whiteCurrencyAddresses?: string[];
whiteListUri?: string;
}
export declare enum FarmingPoolTransactionEventType {
Deposit = "deposit",
Withdraw = "withdraw",
Claim = "claim",
RewardDeposit = "rewarddeposit"
}
export declare enum FarmingPoolTransactionsOrdering {
BlockTimeAscending = "blocktimeascending",
BlockTimeDescending = "blocktimedescending",
LpVolumeAscending = "lpvolumeascending",
LpVolumeDescending = "lpvolumedescending",
TvAscending = "tvascending",
TvDescending = "tvdescending"
}
export type FarmingPoolTransactionsKind = keyof typeof FarmingPoolTransactionEventType;
export interface FarmingPoolTransactionResponse {
kind: FarmingPoolTransactionsKind;
leftExec: string | null;
messageHash: string;
poolAddress: string;
rightExec: string | null;
timestampBlock: number;
tokenAddress: string;
tokenCurrency: string;
tokenExec: string;
transactionHash: string;
tvExec: string;
userAddress: string;
}
export interface FarmingPoolTransactionsResponse {
totalCount: number;
transactions: FarmingPoolTransactionResponse[];
}
export interface TransactionsRequestParams {
eventTypes?: FarmingPoolTransactionEventType[];
limit?: number;
offset?: number;
ordering?: FarmingPoolTransactionsOrdering;
poolAddress?: string;
rootTokenAmountGe?: string;
rootTokenAmountLe?: string;
timestampBlockGe?: number;
timestampBlockLe?: number;
tvGe?: string;
tvLe?: string;
userAddress?: string;
whiteCurrencyAddresses?: string[];
whiteListUri?: string[];
}
export interface FarmingPoolGraphicRequestParams extends CommonGraphRequestParams {
farmingPoolAddress: string;
}
export declare function useFarmingPoolsApi(baseUrl?: string): {
pool: Endpoint<AddressUrlParam, FarmingPoolRequestParams, FarmingPoolResponse>;
poolApr: Endpoint<never, FarmingPoolGraphicRequestParams, SingleDataResponseModel[]>;
pools: Endpoint<never, FarmingPoolsRequestParams, FarmingPoolsResponse>;
poolTvl: Endpoint<never, FarmingPoolGraphicRequestParams, SingleDataResponseModel[]>;
transactions: Endpoint<never, TransactionsRequestParams, FarmingPoolTransactionsResponse>;
};