interface PairSchedule {
id: number;
alwaysOpen?: boolean;
timezone?: string;
openingHours?: string[];
}
interface Response {
pairs: Array<{
pairId: string;
pairTo: string;
pairFrom: string;
minSz: string;
maxBSz: string;
maxSSz: string;
minNtl: string;
maxLeverage: number;
minLeverage: number;
overnightMaxLeverage: number;
rolloverFeePerBlock: string;
rollover: {
accLong: string; // long-side rollover accumulator
accShort: string; // short-side rollover accumulator
lastBlock: string; // block the accumulators were last updated at
perBlockPure: string; // per-block rate, before the broker premium
brokerPremium: string;
negativeAllowed: boolean; // whether traders can earn rollover on this pair
};
openInterest: string;
buyOpenInterest: string;
sellOpenInterest: string;
maxOpenInterest: string;
category: string;
rolloverRate: { long: string; short: string };
midPx: string;
askPx: string;
bidPx: string;
isMarketOpen: boolean;
isDayTradingClosed: boolean;
secondsToToggleIsDayTradingClosed: number;
schedule?: PairSchedule;
openFee: number;
closeFee: number;
}>;
}