ftx-api-typed
Version:
Node.js/typescript connector for FTX's REST APIs and WebSockets
196 lines (195 loc) • 4.3 kB
TypeScript
import { ConditionalOrderType, ConditionalOrderTypeNoUnderscore, OrderSide, OrderType } from "./response/orders";
export * from "./response";
export interface TimeRange {
start_time?: number;
end_time?: number;
}
export interface TimeRangeLimit extends TimeRange {
limit?: number;
}
export interface ChangeSubNameReq {
nickname: string;
newNickname: string;
}
export interface TransferBetweenSubReq {
coin: string;
size: number;
source: string;
destination: string;
}
export interface OrderbookReq {
marketName: string;
depth?: number;
}
export interface TradesReq {
market_name: string;
limit?: number;
start_time?: number;
end_time?: number;
}
export interface HistoricalPricesReq {
market_name: string;
resolution: number;
limit?: number;
start_time?: number;
end_time?: number;
}
export interface HistoricalIndexReq {
marketName: string;
resolution: number;
limit?: number;
start_time?: number;
end_time?: number;
}
export interface DepositAddressReq {
coin: string;
method?: string;
}
export interface CreateFiatDepositReq {
size: number;
currency: string;
notes?: string;
}
export interface WithdrawalReq {
coin: string;
size: number;
address: string;
tag?: string;
password?: string;
code?: string;
}
export interface WithdrawalFeeReq {
coin: string;
size: number;
address: string;
tag?: string | null;
method?: string | null;
}
export interface NewSavedAddressReq {
coin: string;
address: string;
addressName: string;
isPrimeTrust: boolean;
tag?: string;
}
export interface OrderHistoryReq {
market?: string;
start_time?: number;
end_time?: number;
limit?: number;
}
export interface OpenTriggerOrdersReq {
market?: string;
type?: ConditionalOrderType;
}
export interface TriggerOrderHistoryReq {
market?: string;
start_time?: number;
end_time?: number;
side?: OrderSide;
type?: ConditionalOrderType;
orderType?: OrderType;
}
export interface NewOrderReq {
market: string;
side: OrderSide;
price: number | null;
type: OrderType;
size: number;
reduceOnly?: boolean;
ioc?: boolean;
postOnly?: boolean;
clientId?: string;
}
export interface NewTriggerOrderReq {
market: string;
side: OrderSide;
size: number;
type: ConditionalOrderTypeNoUnderscore;
reduceOnly?: boolean;
retryUntilFilled?: boolean;
triggerPrice?: number;
orderPrice?: number;
trailValue?: number;
}
export interface ModifyOrderReq {
orderId: string;
price?: number;
size?: number;
clientId?: string;
}
export interface ModifyClientIdOrderReq {
price?: number;
size?: number;
clientId?: string;
}
export interface ModifyTriggerOrderReq {
size?: number;
triggerPrice?: number;
orderPrice?: number;
trailValue?: number;
}
export interface CancelAllOrdersReq {
market?: string;
conditionalOrdersOnly?: boolean;
limitOrdersOnly?: boolean;
}
export interface QuoteReq {
fromCoin: string;
toCoin: string;
size: number;
}
export interface NewLendingOfferReq {
coin: string;
size: number;
rate: number;
}
export interface FillsReq {
market?: string;
limit?: number;
start_time?: number;
end_time?: number;
order?: 'asc';
orderId?: number;
}
export interface FundingPaymentsReq {
start_time?: number;
end_time?: number;
future?: string;
}
export interface NewQuoteReq {
underlying: string;
type: 'call' | 'put';
strike: number;
expiry: number;
side: OrderSide;
size: number;
limitPrice?: number;
hideLimitPrice: boolean;
requestExpiry?: number;
counterpartyId?: number;
}
export interface NftBidReq {
nftId: number;
price: number;
}
export interface NftAuctionReq {
initialPrice: number;
reservationPrice: number;
duration: number;
}
export interface NftAuctionEditReq {
reservationPrice: number;
}
export interface CancelNftAuctionReq {
nftId: number;
reservationPrice: number;
}
export interface RedeemNftReq {
nftId: number;
address: string;
notes: string;
}
export interface EditNftGallerySettingsReq {
public: boolean;
}