UNPKG

@parifi/synthetix-sdk-ts

Version:

A Typescript SDK for interactions with the Synthetix protocol

138 lines (135 loc) 3.58 kB
import { Address } from 'viem'; type PayDebtAndWithdraw = { accountId?: bigint; collateralIdOrName: number | string; collateralAmount: number; receiver: Address; minToReceive: number; path?: string; collateral: Address; }; interface MarketSummary { marketId?: number; marketName?: string; feedId?: string; skew?: number; size?: number; maxOpenInterest?: number; interestRate?: number; indexPrice?: number; currentFundingRate?: number; currentFundingVelocity?: number; } interface MarketMetadata { marketName: string; symbol: string; feedId?: string; } interface MarketData { marketId?: number; marketName?: string; symbol?: string; feedId?: string; skew?: number; size?: number; maxOpenInterest?: number; interestRate?: number; currentFundingRate?: number; currentFundingVelocity?: number; indexPrice?: number; skewScale?: number; maxFundingVelocity?: number; makerFee?: number; takerFee?: number; maxMarketValue?: number; } interface SpotMarketData { marketId: number; contractAddress: string; marketName?: string; symbol?: string; feedId?: string; settlementStrategy?: SettlementStrategy; } interface SettlementStrategy { marketId?: number; strategyType?: number; settlementDelay?: number; settlementWindowDuration?: number; priceVerificationContract?: string; feedId?: string; settlementReward?: number; disabled?: boolean; commitmentPriceDelay?: number; } interface FundingParameters { marketId?: number; skewScale?: number; maxFundingVelocity?: number; } interface OrderFees { marketId?: number; makerFeeRatio?: number; takerFeeRatio?: number; } interface MaxMarketValue { marketId?: number; maxMarketValue?: number; } interface OrderData { marketId: number; commitmentTime: number; accountId: bigint; sizeDelta: number; settlementStrategyId: number; acceptablePrice: number; trackingCode: string; referrer: string; settlementStrategy?: SettlementStrategy; } interface CollateralData { totalCollateralValue: number; collateralBalances: Record<string, number>; debt: number; availableMargin: number; withdrawableMargin: number; initialMarginRequirement: number; maintenanceMarginRequirement: number; maxLiquidationReward: number; } interface OpenPositionData { accountId: bigint; marketId: number; marketName: string; totalPnl: number; accruedFunding: number; positionSize: number; owedInterest: number; } interface OrderQuote { orderSize: number; indexPrice: number; orderFees: number; settlementRewardCost: number; fillPrice: number; requiredMargin?: number; } interface SettlementStrategyResponse { strategyType?: number; settlementDelay?: bigint; settlementWindowDuration?: bigint; priceVerificationContract?: string; feedId?: string; settlementReward?: bigint; disabled?: boolean; commitmentPriceDelay?: bigint; } interface MarketSummaryResponse { skew: bigint; size: bigint; maxOpenInterest: bigint; currentFundingRate: bigint; currentFundingVelocity: bigint; indexPrice: bigint; } export type { CollateralData, FundingParameters, MarketData, MarketMetadata, MarketSummary, MarketSummaryResponse, MaxMarketValue, OpenPositionData, OrderData, OrderFees, OrderQuote, PayDebtAndWithdraw, SettlementStrategy, SettlementStrategyResponse, SpotMarketData };