UNPKG

@parcl-finance/product-sdk

Version:

TypeScript SDK for interacting with Parcl's product APIs

131 lines 4.96 kB
import { ClusterHealth, Currency, Env, ExchangeInfo, ExchangeParams, MarketInfo, MarketParams } from "./types"; import { TimeFrameOption } from "./types/timeframeOption"; export declare class Account { baseUrl: string; private headers; private client; private expressClient; constructor(baseUrl: string, accessToken?: string, env?: Env); paused(refresh?: boolean): Promise<boolean>; getClusterHealth(): Promise<ClusterHealth>; getExchange(params?: ExchangeParams): Promise<ExchangeInfo>; getMarket(params: MarketParams): Promise<MarketInfo>; getMarkets(): Promise<MarketInfo[]>; /** * # Get markets with search, filter, sorting, and ordering * @param q - search query. Searches for the query in the market name, symbol, and address * @param window - timeframe option. Default is 3m * @param indexPriceFilterLo - index price filter * @param indexPriceFilterHi - index price filter * @param marketPriceFilterLo - market price filter * @param marketPriceFilterHi - market price filter * @param trendFilterLo - trend filter * @param trendFilterHi - trend filter * @param trendPriceSpecifier - specifies what trend price to filter on (market or index). Default is market * @param fundingRateFilterLo - funding rate filter * @param fundingRateFilterHi - funding rate filter * @param volumeFilterLo - volume filter * @param volumeFilterHi - volume filter * @param openInterestFilterLo - open interest filter * @param openInterestFilterHi - open interest filter * @param sort - sort by. Default is openInterest * @param order - order. Default is desc * @param fpuFilterLo - funding per unit filter * @param fpuFilterHi - funding per unit filter * @param fundingVelocityFilterLo - funding velocity filter * @param fundingVelocityFilterHi - funding velocity filter * * @example * ```typescript * const filteredMarkets = await sdk.account.getMarketsWithFilter({ * q: 'ny', * indexPriceFilterLo: 3, * indexPriceFilterHi: 700, * marketPriceFilterLo: 3, * marketPriceFilterHi: 700, * trendFilterLo: 0, * trendFilterHi: 15, * trendPriceSpecifier: "index", * fundingRateFilterLo: -10, * fundingRateFilterHi: 0, * volumeFilterLo: 200, * volumeFilterHi: 2000000000, * openInterestFilterLo: 200, * openInterestFilterHi: 40500000, * fpuFilterLo: -350, * fpuFilterHi: -30, * tags: ['real-estate', 'rental'], * live: true, * sort: "marketPriceTrend", * order: "asc", * window: "1d", * }); * ``` * */ getMarketsWithFilter(params: MarketInfoQueryParams): Promise<FilteredMarket[]>; getStakingInfo(): Promise<{ totalStakedPrcl: number; uniqueAddresses: number; }>; } export type BaseMarketCategory = "token" | "forex" | "real-estate"; export type FilteredMarket = { marketId: string | null; name: string; address: string; parclId: number | null; priceFeed: string; isNew: boolean; tradable: boolean; symbol: string; marketCategory: BaseMarketCategory; currency: Currency; metric: string | null; pythTokenId: string | null; marketPrice: string | null; indexPrice: string | null; fundingPerUnit: string | null; skew: string | null; fundingRate: string | null; fundingVelocity: string | null; totalOpenInterest: string | null; volume: string | null; marketPriceTrend: string | null; indexPriceTrend: string | null; longPct: number | null; shortPct: number | null; tags: MarketTags[]; }; export type FilteredMarketsResponse = { markets: FilteredMarket[]; }; export type MarketInfoQueryParams = { q?: string; window?: TimeFrameOption; indexPriceFilterLo?: number; indexPriceFilterHi?: number; marketPriceFilterLo?: number; marketPriceFilterHi?: number; trendFilterLo?: number; trendFilterHi?: number; trendPriceSpecifier?: "index" | "market"; fundingRateFilterLo?: number; fundingRateFilterHi?: number; volumeFilterLo?: number; volumeFilterHi?: number; openInterestFilterLo?: number; openInterestFilterHi?: number; fpuFilterLo?: number; fpuFilterHi?: number; tags?: MarketTags[]; live?: boolean; isNew?: boolean; sort?: MarketInfoSortOption; order?: "asc" | "desc"; baseCategory?: BaseCategory; }; export type MarketTags = "real-estate" | "token" | "forex" | "rental" | "sales" | "polar-vortex" | "la-strong"; export type BaseCategory = "all-markets" | "token" | "forex" | "real-estate" | "active-markets" | "non-trading"; export type MarketInfoSortOption = "openInterest" | "indexPriceTrend" | "marketPriceTrend" | "volume" | "fundingRate" | "fundingVelocity" | "skew"; //# sourceMappingURL=account.d.ts.map