UNPKG

@ln-markets/sdk

Version:

TypeScript SDK for LNMarkets API v2

264 lines (263 loc) 9.24 kB
export type RestClient = ReturnType<typeof createRestClient>; export type RestFetcher = <T = void>(options: RequestOptions) => Promise<T>; type RequestOptions = { body?: Record<string, boolean | number | string>; method: string; path: string; query?: Record<string, boolean | number | string>; requireAuth?: boolean; }; type RestOptions = { headers?: Record<string, string>; key?: string; network?: 'mainnet' | 'testnet'; passphrase?: string; secret?: string; }; export declare const createRestClient: (options?: RestOptions) => { futures: { addMargin: (body: { amount: number; id: import("./index.js").UUID; }) => Promise<import("./index.js").FuturesRunningTrade>; cancelAllTrades: () => Promise<{ trades: import("./index.js").FuturesCanceledTrade[]; }>; cancelTrade: (body: { id: import("./index.js").UUID; }) => Promise<import("./index.js").FuturesCanceledTrade>; cashIn: (body: { amount: number; id: import("./index.js").UUID; }) => Promise<import("./index.js").FuturesRunningTrade>; closeAllTrades: () => Promise<{ trades: import("./index.js").FuturesClosedTrade[]; }>; closeTrade: (query: { id: import("./index.js").UUID; }) => Promise<import("./index.js").FuturesClosedTrade>; getCarryFeesHistory: (query: { from: number; limit?: number; to: number; }) => Promise<{ fee: number; fixingId: import("./index.js").UUID; id: import("./index.js").UUID; ts: number; }[]>; getFixingHistory: (query?: { from: number; limit?: number; to: number; }) => Promise<{ feeRate: number; id: import("./index.js").UUID; price: number; time: number; }[]>; getIndexHistory: (query?: { from: number; limit?: number; to: number; }) => Promise<{ time: number; value: number; }[]>; getLeaderboard: () => Promise<import("./index.js").Leaderboard>; getMarketDetails: () => Promise<import("./index.js").FuturesMarketDetails>; getOHLCHistory: (query: { from: number; limit?: number; range: import("./index.js").OHLCRange; to: number; }) => Promise<import("./index.js").OHLC[]>; getPriceHistory: (query?: { from: number; limit?: number; to: number; }) => Promise<{ time: number; value: number; }[]>; getTicker: () => Promise<import("./index.js").FuturesTicker>; getTrade: (params: { id: import("./index.js").UUID; }) => Promise<import("./index.js").FuturesTrade>; getTrades: (query: { from?: number; limit?: number; to?: number; type: import("./index.js").FuturesTradeStatus; }) => Promise<import("./index.js").FuturesTrade[]>; newTrade: (body: { leverage: number; margin?: number; price?: number; quantity?: number; side: import("./index.js").FuturesTradeSide; stoploss?: number; takeprofit?: number; type: import("./index.js").FuturesTradeType; }) => Promise<import("./index.js").FuturesOpenOrRunningTrade>; updateTrade: (body: { id: import("./index.js").UUID; type: "stoploss" | "takeprofit"; value: number; }) => Promise<import("./index.js").FuturesOpenOrRunningTrade>; }; notifications: { getAll: () => Promise<import("./index.js").Notification[]>; markAllAsRead: () => Promise<void>; }; options: { closeAllTrades: () => Promise<import("./index.js").OptionsTradeClosed[]>; closeTrade: (query: { id: import("./index.js").UUID; }) => Promise<import("./index.js").OptionsTradeClosed>; getInstrument: (body: { instrumentName: string; }) => Promise<import("./index.js").OptionsInstrument>; getInstruments: () => Promise<{ instruments: string[]; }>; getMarketDetails: () => Promise<import("./index.js").OptionsMarketDetails>; getTrade: (params: { id: import("./index.js").UUID; }) => Promise<import("./index.js").OptionsTrade>; getTrades: (query?: { from: number; limit?: number; status: import("./index.js").OptionsTradeStatus; to: number; }) => Promise<import("./index.js").OptionsTrade[]>; getVolatilityIndex: () => Promise<import("./index.js").OptionsVolatilityIndex>; newTrade: (body: { instrumentName: string; quantity: number; settlement: import("./index.js").OptionsSettlement; side: import("./index.js").OptionsSide; }) => Promise<import("./index.js").OptionsTradeRunning>; updateTrade: (body: { id: import("./index.js").UUID; settlement: import("./index.js").OptionsSettlement; }) => Promise<import("./index.js").OptionsTradeRunningWithDelta>; }; oracle: { getIndex: (query: { from: number; limit?: number; to: number; }) => Promise<{ index: number; time: number; }[]>; getLastPrice: (query: { from: number; limit?: number; to: number; }) => Promise<{ lastPrice: number; time: number; }>; }; swaps: { getSwap: (params: { swapId: import("./index.js").UUID; }) => Promise<import("./index.js").Swap>; getSwapBySourceId: (params: { sourceId: import("./index.js").UUID; }, query: { source: import("./index.js").SwapSource; }) => Promise<import("./index.js").Swap>; getSwaps: (query?: { from?: number; limit?: number; to?: number; }) => Promise<import("./index.js").Swap[]>; newSwap: (body: { inAmount: number; inAsset: import("./index.js").SwapAsset; outAsset: import("./index.js").SwapAsset; }) => Promise<import("./index.js").Swap>; }; user: { deposit: (body: { amount: number; }) => Promise<{ depositId: import("./index.js").UUID; expiry: number; paymentRequest: string; }>; depositSyntheticUsd: (body: { amount: number; currency: import("./index.js").Currency; }) => Promise<{ depositId: import("./index.js").UUID; expiry: number; paymentRequest: string; syntheticUsdAmount: number; }>; get: () => Promise<import("./index.js").User>; getBitcoinAddresses: (query?: { current: boolean; }) => Promise<{ address: string; creationTs: number; isUsed: boolean; }[]>; getDeposit: (params: { depositId: import("./index.js").UUID; }) => Promise<import("./index.js").Deposit>; getDeposits: (query?: { type: import("./index.js").DepositType; }) => Promise<import("./index.js").Deposit[]>; getWithdrawal: (params: { id: import("./index.js").UUID; }) => Promise<import("./index.js").WithdrawalCondensed>; getWithdrawals: () => Promise<import("./index.js").WithdrawalCondensed[]>; newBitcoinAddress: (body: { format: "p2tr" | "p2wpkh"; }) => Promise<{ address: string; creationTs: number; }>; transfer: (body: { amount: number; toUsername: string; }) => Promise<{ amount: number; to: string; }>; update: (body: { autoWithdrawEnabled?: boolean; autoWithdrawLightningAddress?: boolean; nostrPubkey?: string; showLeaderboard?: boolean; username?: string; useTaprootAddresses?: boolean; }) => Promise<import("./index.js").User>; withdraw: (body: { invoice: string; quoteId?: import("./index.js").UUID; }) => Promise<{ amount?: number; fee?: number; id: import("./index.js").UUID; paymentHash?: string; successTime?: number; }>; withdrawSyntheticUsd: (body: { amount: number; currency: import("./index.js").Currency; }) => Promise<{ amount: number; currency: import("./index.js").Currency; feeReserve: number; minBalanceAfter: number; quoteId: import("./index.js").UUID; validUntil: number; }>; }; }; export {};