UNPKG

@nemoprotocol/points-sdk

Version:

1. [Overview](#overview) 2. [Installation](#installation) 3. [Core Features](#core-features) 4. [API Reference](#api-reference) 5. [Type Definitions](#type-definitions)

105 lines 3.09 kB
import { PositionQueryConfig, RewardMetric } from './types'; import { LpPosition, PyPosition, QueryYieldParams } from './types/position'; import { ClaimRewardConfig } from './types/rewards'; export declare class PositionQuery { private client; private graphqlEndpoint; constructor({ rpcUrl, network }: PositionQueryConfig); /** * 通用的GraphQL分页查询方法 */ private queryGraphQLWithPagination; /** * Query LP Position data */ queryLpPositions(options: { address: string; maturity?: string; marketStateId?: string; positionTypes: string[]; }): Promise<LpPosition[]>; /** * Query PY Position data (including PT and YT balance) */ queryPyPositions(options: { address: string; positionTypes: string[]; maturity?: string; pyStateId?: string; }): Promise<PyPosition[]>; /** * Query total PT and YT balances (sum of all PY Positions) */ queryPyBalance(options: { address: string; maturity?: string; pyStateId?: string; positionTypes: string[]; }): Promise<{ ptBalance: string; ytBalance: string; }>; /** * Query total LP balance (sum of all LP Positions) */ queryLpBalance(options: { address: string; positionTypes: string[]; maturity?: string; marketStateId?: string; }): Promise<string>; /** * Query YT Yield amount (simulate redeem_due_interest) */ queryYield({ config, address, ytBalance, pyPositions, receivingType, }: QueryYieldParams): Promise<{ outputValue: string; outputAmount: string; }>; /** * Query PY Position holders count using GraphQL * 统计持有特定类型PY Position的用户数量,PT和YT分开统计 */ queryPyPositionHoldersCount(options: { positionTypes: string[]; maturity?: string; pyStateId?: string; pageSize?: number; }): Promise<{ ptHolders: number; ytHolders: number; totalHolders: number; holdersByType: Record<string, { ptHolders: number; ytHolders: number; }>; totalPositions: number; }>; /** * Query LP Position holders count using GraphQL * 统计持有特定类型LP Position的用户数量 */ queryLpPositionHoldersCount(options: { positionTypes: string[]; maturity?: string; marketStateId?: string; pageSize?: number; }): Promise<{ totalHolders: number; holdersByType: Record<string, number>; totalPositions: number; }>; /** * Query rewards for multiple reward metrics */ queryRewards(options: { address: string; config: Omit<ClaimRewardConfig, "syCoinType">; lpPositions: LpPosition[]; rewardMetrics: RewardMetric[]; }): Promise<Array<{ coinType: string; coinName: string; amount: string; }>>; } //# sourceMappingURL=PositionQuery.d.ts.map