UNPKG

@parcl-finance/product-sdk

Version:

TypeScript SDK for interacting with Parcl's product APIs

104 lines 8.23 kB
import { Address } from "@project-serum/anchor"; import { VersionedTransaction } from "@solana/web3.js"; import { AddLiquidityQuote, AddLiquidityQuoteParams, AddLiquidityTransactionPayload, AirdropInfo, CloseLpPositionTransactionPayload, CloseMarginAccountTransactionPayload, ClosePositionQuote, ClosePositionQuoteParams, ClosePositionQuotePayload, ClosePositionTransactionPayload, CreateMarginAccountTransactionPayload, DepositMarginTransactionPayload, EpochPeriod, FormattedStakingBalanceResponse, GetLiquidationHistoryParams, GetLiquidationHistoryParamsV2, GetLpHistoryParams, GetLpHistoryParamsV2, GetMarginTransferHistoryParams, GetMarginTransferHistoryParamsV2, GetTradeHistoryParams, GetTradeHistoryParamsV2, LiquidationEventV2, LiquidationHistory, LiquidationSnapshot, LpAccountInfo, LpAccountParams, LpPositionInfo, LpPositionParams, LpPositionsInfo, LpPositionsParams, MarginAccountId, MarginAccountInfo, MarginAccountParams, MarginAccountsInfo, MarginAccountsParams, MarginTransferEvent, ModifyLiquidityEvent, ModifyPositionQuote, ModifyPositionQuoteParams, ModifyPositionQuotePayload, ModifyPositionTransactionPayload, PositionModificationLimitsQuote, PositionModificationLimitsQuoteParams, PositionModificationLimitsQuotePayload, RemoveLiquidityQuote, RemoveLiquidityQuoteParams, RemoveLiquidityTransactionPayload, SettlementRequestInfo, StakingAddresses, TradeEvent, TradeEventV2, TransactionHistory, TransactionHistoryV2, TransferEvent, UpgradeLpAccountTransactionPayload, UserCommunicationMethods, UserCommunicationMethodsUpdate, UserConfig, UserMarginAccountIds, UserMarginAccountIdsUpdate, UserSettings, UserSettingsUpdate, WithdrawMarginQuote, WithdrawMarginQuoteParams, WithdrawMarginTransactionPayload } from "./types"; export declare class User { private _baseUrl; user?: Address; private headers; private client; private expressClient; constructor({ baseUrl, user, accessToken, env }: UserConfig); setUser(user: Address): void; get baseUrl(): string; isHighRisk(refresh?: boolean): Promise<boolean>; getSolBalance(refresh?: boolean): Promise<string>; getCollateralBalance(refresh?: boolean): Promise<string>; getPrclBalance(refresh?: boolean): Promise<string>; getMarginAccount(params: MarginAccountParams): Promise<MarginAccountInfo>; getMarginAccounts(params?: MarginAccountsParams): Promise<MarginAccountsInfo>; getLpAccount(params?: LpAccountParams): Promise<LpAccountInfo>; getLpPosition(params: LpPositionParams): Promise<LpPositionInfo>; getLpPositions(params?: LpPositionsParams): Promise<LpPositionsInfo>; getSettlementRequests(): Promise<SettlementRequestInfo[]>; getUpgradeLpAccount(payload?: UpgradeLpAccountTransactionPayload): Promise<VersionedTransaction>; getAddLiquidityTransaction(payload: AddLiquidityTransactionPayload): Promise<VersionedTransaction>; getRemoveLiquidityTransaction(payload: RemoveLiquidityTransactionPayload): Promise<VersionedTransaction>; getCloseLpPositionTransaction(payload: CloseLpPositionTransactionPayload): Promise<VersionedTransaction>; getCreateMarginAccountTransaction(payload?: CreateMarginAccountTransactionPayload): Promise<{ marginAccountId: MarginAccountId; tx: VersionedTransaction; }>; getDepositMarginTransaction(payload: DepositMarginTransactionPayload): Promise<VersionedTransaction>; getWithdrawMarginTransaction(payload: WithdrawMarginTransactionPayload): Promise<VersionedTransaction>; getModifyPositionTransaction(payload: ModifyPositionTransactionPayload): Promise<VersionedTransaction>; getClosePositionTransaction(payload: ClosePositionTransactionPayload): Promise<VersionedTransaction>; getCloseMarginAccountTransaction(payload: CloseMarginAccountTransactionPayload): Promise<VersionedTransaction>; getProcessSettlementRequestsTransactions(): Promise<VersionedTransaction[]>; getAddLiquidityQuote(params: AddLiquidityQuoteParams): Promise<AddLiquidityQuote>; getRemoveLiquidityQuote(params: RemoveLiquidityQuoteParams): Promise<RemoveLiquidityQuote>; getWithdrawMarginQuote(params: WithdrawMarginQuoteParams): Promise<WithdrawMarginQuote>; getModifyPositionQuote(payload: ModifyPositionQuotePayload, params?: ModifyPositionQuoteParams): Promise<ModifyPositionQuote>; getClosePositionQuote(payload: ClosePositionQuotePayload, params?: ClosePositionQuoteParams): Promise<ClosePositionQuote>; getPositionModificationLimitsQuote(payload: PositionModificationLimitsQuotePayload, params?: PositionModificationLimitsQuoteParams): Promise<PositionModificationLimitsQuote>; updateProfileSettings(settingsUpdate: UserSettingsUpdate, accessToken?: string): Promise<UserSettings>; getProfileSettings(refresh?: boolean, accessToken?: string): Promise<UserSettings>; getProfileCommunicationMethods(refresh?: boolean, accessToken?: string): Promise<UserCommunicationMethods>; updateProfileCommunicationMethods(communicationMethodsUpdate: UserCommunicationMethodsUpdate, accessToken?: string): Promise<UserCommunicationMethods>; getMarginAccountIds(refresh?: boolean, accessToken?: string): Promise<UserMarginAccountIds>; updateMarginAccountIds(marginAccountIdsUpdate: UserMarginAccountIdsUpdate, accessToken?: string): Promise<UserMarginAccountIds>; removeMarginAccountId(marginAccountId: MarginAccountId, accessToken?: string): Promise<UserMarginAccountIds>; getLiquidationHistory(params?: GetLiquidationHistoryParams, accessToken?: string): Promise<LiquidationHistory>; getTradeHistory(params: GetTradeHistoryParams, accessToken?: string): Promise<TransactionHistory<TradeEvent>>; getLpHistory(params: GetLpHistoryParams, accessToken?: string): Promise<TransactionHistory<ModifyLiquidityEvent>>; getMarginTransferHistory(params: GetMarginTransferHistoryParams, accessToken?: string): Promise<TransactionHistory<MarginTransferEvent>>; isOnboarded(accessToken?: string): Promise<boolean>; onboard(accessToken?: string): Promise<boolean>; getAirdropEventSummary(accessToken?: string): Promise<AirdropInfo>; getStakingAddresses(): Promise<StakingAddresses>; getStakingBalance(): Promise<FormattedStakingBalanceResponse>; getStakingCurrentEpochPeriod(): Promise<EpochPeriod>; getStakingLockedEpochPeriod(unlockingEpoch: number): Promise<EpochPeriod>; getStakingLockedEpochPeriodEstimate({ addOneEpoch, }: { addOneEpoch: boolean; }): Promise<EpochPeriod>; getCreateStakingAccountTransactions(): Promise<VersionedTransaction[]>; getStakeTransactions(stakingAmount: number, createAccount?: boolean): Promise<VersionedTransaction[]>; getUnStakeTransactions(stakingAmount: number): Promise<VersionedTransaction[]>; getStakingWithdrawTransactions(stakingAmount: number): Promise<VersionedTransaction[]>; getHistoricalPortfolio({ userAddress, }: { userAddress: Address; }): Promise<HistoricalPortfolioResponse>; getLiquidationHistoryV2(params?: GetLiquidationHistoryParamsV2): Promise<TransactionHistoryV2<LiquidationEventV2>>; getTradeHistoryV2(params: GetTradeHistoryParamsV2): Promise<TransactionHistoryV2<TradeEventV2>>; getLpHistoryV2(params: GetLpHistoryParamsV2): Promise<TransactionHistoryV2<ModifyLiquidityEvent>>; getMarginTransferHistoryV2(params: GetMarginTransferHistoryParamsV2): Promise<TransactionHistoryV2<MarginTransferEvent>>; getHoaImage({ user }: { user: string; }): Promise<string>; } export type HistoricalPortfolioResponse = { rollup: PortfolioPnlSnapshot[]; portfolioPnlByDate: Record<string, PortfolioPnlSnapshot[]>; liquidationsByDateByAccount: Record<string, LiquidationSnapshot[]>; marginTransfersByDateByAccount: Record<string, TransferEvent[]>; }; export type NetInvestmentEpoch = { date: string; totalPnl: number; netInvested: number; portfolioValue: number; }; export type LiquidationEvent = { date: string; owner: string; totalLiquidatedMargin: number; marginAccountId: string; signature: string; }; export type PortfolioPnlSnapshot = { date: string; portfolioValue: number; netInvested: number; totalPnl: number; }; //# sourceMappingURL=user.d.ts.map