UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

178 lines (177 loc) 5.54 kB
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>; };