UNPKG

n8n-nodes-dex

Version:

n8n node module for dYdX v4 trading and account access

134 lines (133 loc) 2.97 kB
import { OrderType, OrderSide, OrderTimeInForce } from '@dydxprotocol/v4-client-js'; export interface DydxOrderParams { market: string; type: OrderType; side: OrderSide; timeInForce?: OrderTimeInForce; timeInForceSeconds?: number; postOnly?: boolean; price: number; size: number; } export interface SubaccountTransferParams { fromId: number; toId: number; amount: number; } export interface DydxSetPosition { market: string; size: number; } export interface DydxCancelOrderParams { clientId: number; market: string; } export interface DydxOrder { price: number; size: number; } export interface DydxOrderbook { bids: DydxOrder[]; asks: DydxOrder[]; } export interface PerpetualPosition { market: string; status: string; side: string; size: string; maxSize: string; entryPrice: string; exitPrice: string; realizedPnl: string; unrealizedPnl: string; createdAt: string; createdAtHeight: string; closedAt: string | null; sumOpen: string; sumClose: string; netFunding: string; subaccountNumber: number; } export interface AssetPosition { size: string; symbol: string; side: string; assetId: string; subaccountNumber: number; } export interface DydxSubaccount { address: string; subaccountNumber: number; equity: string; freeCollateral: string; openPerpetualPositions: { [key: string]: PerpetualPosition; }; assetPositions: { [key: string]: AssetPosition; }; marginEnabled: boolean; updatedAtHeight: string; latestProcessedBlockHeight: string; } export interface MarketSpread { bestBid: { price: number; size: number; }; bestAsk: { price: number; size: number; }; } export interface PerpetualMarket { clobPairId: string; ticker: string; status: string; oraclePrice: string; priceChange24H: string; volume24H: string; trades24H: string; nextFundingRate: string; initialMarginFraction: string; maintenanceMarginFraction: string; basePositionNotional: string; openInterest: string; atomicResolution: string; quantumConversionExponent: string; tickSize: string; stepSize: string; stepBaseQuantums: string; subticksPerTick: string; } export interface MarketTrade { id: string; side: string; size: string; price: string; createdAt: string; type: string; } export interface Candle { startedAt: string; ticker: string; resolution: string; low: string; high: string; open: string; close: string; baseTokenVolume: string; usdVolume: string; trades: string; } export interface FundingRate { ticker: string; rate: string; effectiveAt: string; effectiveAtHeight: string; } export interface Sparkline { ticker: string; prices: string[]; times: string[]; }