binance-futures-wrapper
Version:
A comprehensive TypeScript wrapper for Binance USDT-M Futures API with full REST and WebSocket support
340 lines • 9.01 kB
TypeScript
/**
* Account and trading types for Binance Futures API
*/
import { OrderSideType, OrderTypeType, TimeInForceType, PositionSideType, OrderStatusType, WorkingTypeType, ResponseTypeType } from './base';
export interface AccountInfo {
feeTier: number;
canTrade: boolean;
canDeposit: boolean;
canWithdraw: boolean;
updateTime: number;
multiAssetsMargin: boolean;
tradeGroupId: number;
totalInitialMargin: string;
totalMaintMargin: string;
totalWalletBalance: string;
totalUnrealizedProfit: string;
totalMarginBalance: string;
totalPositionInitialMargin: string;
totalOpenOrderInitialMargin: string;
totalCrossWalletBalance: string;
totalCrossUnPnl: string;
availableBalance: string;
maxWithdrawAmount: string;
assets: AccountAsset[];
positions: AccountPosition[];
}
export interface AccountAsset {
asset: string;
walletBalance: string;
unrealizedProfit: string;
marginBalance: string;
maintMargin: string;
initialMargin: string;
positionInitialMargin: string;
openOrderInitialMargin: string;
crossWalletBalance: string;
crossUnPnl: string;
availableBalance: string;
maxWithdrawAmount: string;
marginAvailable: boolean;
updateTime: number;
}
export interface AccountPosition {
symbol: string;
initialMargin: string;
maintMargin: string;
unrealizedProfit: string;
positionInitialMargin: string;
openOrderInitialMargin: string;
leverage: string;
isolated: boolean;
entryPrice: string;
maxNotional: string;
bidNotional: string;
askNotional: string;
positionSide: PositionSideType;
positionAmt: string;
updateTime: number;
}
export interface Balance {
accountAlias: string;
asset: string;
balance: string;
crossWalletBalance: string;
crossUnPnl: string;
availableBalance: string;
maxWithdrawAmount: string;
marginAvailable: boolean;
updateTime: number;
}
export interface PositionRisk {
symbol: string;
positionAmt: string;
entryPrice: string;
markPrice: string;
unRealizedProfit: string;
liquidationPrice: string;
leverage: string;
maxNotionalValue: string;
marginType: string;
isolatedMargin: string;
isAutoAddMargin: string;
positionSide: PositionSideType;
notional: string;
isolatedWallet: string;
updateTime: number;
}
export interface Order {
orderId: number;
symbol: string;
status: OrderStatusType;
clientOrderId: string;
price: string;
avgPrice: string;
origQty: string;
executedQty: string;
cumQty: string;
cumQuote: string;
timeInForce: TimeInForceType;
type: OrderTypeType;
reduceOnly: boolean;
closePosition: boolean;
side: OrderSideType;
positionSide: PositionSideType;
stopPrice: string;
workingType: WorkingTypeType;
priceProtect: boolean;
origType: OrderTypeType;
time: number;
updateTime: number;
}
export interface Trade {
symbol: string;
id: number;
orderId: number;
side: OrderSideType;
qty: string;
price: string;
quoteQty: string;
realizedPnl: string;
marginAsset: string;
commission: string;
commissionAsset: string;
time: number;
positionSide: PositionSideType;
buyer: boolean;
maker: boolean;
}
export interface Income {
symbol: string;
incomeType: string;
income: string;
asset: string;
info: string;
time: number;
tranId: string;
tradeId: string;
}
export interface NotionalAndLeverageBracket {
symbol: string;
brackets: LeverageBracket[];
}
export interface LeverageBracket {
bracket: number;
initialLeverage: number;
notionalCap: number;
notionalFloor: number;
maintMarginRatio: number;
cum: number;
}
export interface ADLQuantile {
symbol: string;
adlQuantile: {
LONG: number;
SHORT: number;
HEDGE: number;
};
}
export interface ForceOrder {
orderId: number;
symbol: string;
status: OrderStatusType;
clientOrderId: string;
price: string;
avgPrice: string;
origQty: string;
executedQty: string;
cumQuote: string;
timeInForce: TimeInForceType;
type: OrderTypeType;
reduceOnly: boolean;
closePosition: boolean;
side: OrderSideType;
positionSide: PositionSideType;
stopPrice: string;
workingType: WorkingTypeType;
origType: OrderTypeType;
time: number;
updateTime: number;
}
export interface QuantitativeTradingRules {
indicators: {
IFER: string;
UFR: string;
GCR: string;
DR: string;
};
updateTime: number;
}
export interface NewOrderParams {
symbol: string;
side: OrderSideType;
positionSide?: PositionSideType;
type: OrderTypeType;
timeInForce?: TimeInForceType;
quantity?: string;
reduceOnly?: boolean;
price?: string;
newClientOrderId?: string;
stopPrice?: string;
closePosition?: boolean;
activationPrice?: string;
callbackRate?: string;
workingType?: WorkingTypeType;
priceProtect?: boolean;
newOrderRespType?: ResponseTypeType;
priceMatch?: 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20';
selfTradePreventionMode?: 'EXPIRE_TAKER' | 'EXPIRE_MAKER' | 'EXPIRE_BOTH' | 'NONE';
goodTillDate?: number;
recvWindow?: number;
timestamp?: number;
}
export interface ModifyOrderParams {
orderId?: number;
origClientOrderId?: string;
symbol: string;
side: OrderSideType;
quantity: string;
price: string;
priceMatch?: 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20';
recvWindow?: number;
timestamp?: number;
}
export interface CancelOrderParams {
symbol: string;
orderId?: number;
origClientOrderId?: string;
recvWindow?: number;
timestamp?: number;
}
export interface CancelAllOrdersParams {
symbol: string;
recvWindow?: number;
timestamp?: number;
}
export interface CancelMultipleOrdersParams {
symbol: string;
orderIdList?: number[];
origClientOrderIdList?: string[];
recvWindow?: number;
timestamp?: number;
}
export interface GetOrderParams {
symbol: string;
orderId?: number;
origClientOrderId?: string;
recvWindow?: number;
timestamp?: number;
}
export interface GetAllOrdersParams {
symbol: string;
orderId?: number;
startTime?: number;
endTime?: number;
limit?: number;
recvWindow?: number;
timestamp?: number;
}
export interface GetAllOpenOrdersParams {
symbol?: string;
recvWindow?: number;
timestamp?: number;
}
export interface GetAccountTradesParams {
symbol: string;
startTime?: number;
endTime?: number;
fromId?: number;
limit?: number;
recvWindow?: number;
timestamp?: number;
}
export interface GetIncomeHistoryParams {
symbol?: string;
incomeType?: 'TRANSFER' | 'WELCOME_BONUS' | 'REALIZED_PNL' | 'FUNDING_FEE' | 'COMMISSION' | 'INSURANCE_CLEAR' | 'REFERRAL_KICKBACK' | 'COMMISSION_REBATE' | 'API_REBATE' | 'CONTEST_REWARD' | 'CROSS_COLLATERAL_TRANSFER' | 'OPTIONS_PREMIUM_FEE' | 'OPTIONS_SETTLE_PROFIT' | 'INTERNAL_TRANSFER' | 'AUTO_EXCHANGE' | 'DELIVERED_SETTELMENT' | 'COIN_SWAP_DEPOSIT' | 'COIN_SWAP_WITHDRAW' | 'POSITION_LIMIT_INCREASE_FEE';
startTime?: number;
endTime?: number;
limit?: number;
recvWindow?: number;
timestamp?: number;
}
export interface GetNotionalAndLeverageBracketParams {
symbol?: string;
recvWindow?: number;
timestamp?: number;
}
export interface GetADLQuantileParams {
symbol?: string;
recvWindow?: number;
timestamp?: number;
}
export interface GetForceOrdersParams {
symbol?: string;
autoCloseType?: 'LIQUIDATION' | 'ADL';
startTime?: number;
endTime?: number;
limit?: number;
recvWindow?: number;
timestamp?: number;
}
export interface ChangeInitialLeverageParams {
symbol: string;
leverage: number;
recvWindow?: number;
timestamp?: number;
}
export interface ChangeMarginTypeParams {
symbol: string;
marginType: 'ISOLATED' | 'CROSSED';
recvWindow?: number;
timestamp?: number;
}
export interface ModifyIsolatedPositionMarginParams {
symbol: string;
positionSide?: PositionSideType;
amount: string;
type: 1 | 2;
recvWindow?: number;
timestamp?: number;
}
export interface GetPositionMarginChangeHistoryParams {
symbol: string;
type?: 1 | 2;
startTime?: number;
endTime?: number;
limit?: number;
recvWindow?: number;
timestamp?: number;
}
export interface ChangePositionModeParams {
dualSidePosition: boolean;
recvWindow?: number;
timestamp?: number;
}
export interface ChangeMultiAssetsMarginParams {
multiAssetsMargin: boolean;
recvWindow?: number;
timestamp?: number;
}
//# sourceMappingURL=account.d.ts.map