shrimpy-node
Version:
Client for the Shrimpy API
84 lines (83 loc) • 6.56 kB
TypeScript
import Decimal from "decimal.js";
import { IAccount, IAccountBalance, IAllocation, IApiKeyPermissions, IApiKeys, IAssetInsight, IBacktestAsset, IBacktestResult, ICandlestick, IExchangeAsset, IExchangeInfo, IHistoricalCandlestick, IHistoricalCount, IHistoricalOrderBook, IHistoricalInstrument, IHistoricalTrade, ILimitOrder, ILimitOrderStatus, IManagementCredits, IManagementStatus, IManagementUsage, IMarketOrderBooks, IPredictions, IStrategy, ITicker, ITotalBalanceHistoryItem, ITrade, ITradeChanges, ITradingPair, IUser } from "../models";
export declare class ShrimpyApiClient {
private _accountBalanceDtoConverter;
private _allocationDtoConverter;
private _assetInsightDtoConverter;
private _backtestAssetDtoConveter;
private _backtestDataPointDtoConverter;
private _candlestickDtoConverter;
private _dateDtoConverter;
private _decimalDtoConverter;
private _historicalCandlestickDtoConverter;
private _historicalOrderBooksDtoConverter;
private _historicalInstrumentsDtoConverter;
private _historicalTradesDtoConverter;
private _limitOrderDtoConverter;
private _limitOrderStatusDtoConverter;
private _marketOrderBooksDtoConverter;
private _predictionsDtoConverter;
private _strategyDtoConverter;
private _tickerDtoConverter;
private _totalBalanceHistoryItemDtoConverter;
private _tradeChangesDtoConverter;
private _tradeDtoConverter;
private _userDtoConverter;
private _authenticationProvider;
constructor(publicKey?: string, privateKey?: string);
getSupportedExchanges(): Promise<IExchangeInfo[]>;
getExchangeAssets(exchange: string): Promise<IExchangeAsset[]>;
getTradingPairs(exchange: string): Promise<ITradingPair[]>;
getTicker(exchange: string): Promise<ITicker[]>;
getOrderBooks(exchange: string | string[], baseSymbol?: string | string[], quoteSymbol?: string | string[], limit?: number): Promise<IMarketOrderBooks[]>;
getCandles(exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string, interval: '1m' | '5m' | '15m' | '1h' | '6h' | '1d', startTime?: Date): Promise<ICandlestick[]>;
getUsers(): Promise<IUser[]>;
getUser(userId: string): Promise<IUser>;
createUser(name?: string): Promise<string>;
setUserName(userId: string, name: string): Promise<void>;
removeUser(userId: string): Promise<void>;
enableUser(userId: string): Promise<void>;
disableUser(userId: string): Promise<void>;
getApiKeys(userId: string): Promise<string[]>;
createApiKeys(userId: string): Promise<IApiKeys>;
deleteApiKeys(userId: string, publicKey: string): Promise<void>;
getPermissions(userId: string, publicKey: string): Promise<IApiKeyPermissions>;
setPermissions(userId: string, publicKey: string, account: boolean, trade: boolean): Promise<void>;
getAccounts(userId: string): Promise<IAccount[]>;
getAccount(userId: string, accountId: number): Promise<IAccount>;
createAccount(userId: string, exchange: string, publicKey: string, privateKey: string, passphrase?: string): Promise<number>;
deleteAccount(userId: string, accountId: number): Promise<void>;
getIpWhitelistAddresses(userId: string): Promise<string[]>;
createTrade(userId: string, accountId: number, fromSymbol: string, toSymbol: string, amount: Decimal, smartRouting?: boolean, maxSpreadPercent?: Decimal, maxSlippagePercent?: Decimal): Promise<string>;
getTrade(userId: string, accountId: number, tradeId: string): Promise<ITradeChanges>;
getActiveTrades(userId: string, accountId: number): Promise<ITrade[]>;
getBalance(userId: string, accountId: number, date?: Date): Promise<IAccountBalance>;
getTotalBalanceHistory(userId: string, accountId: number, startTime: Date | null, endTime: Date | null): Promise<ITotalBalanceHistoryItem[]>;
rebalance(userId: string, accountId: number): Promise<void>;
getRebalancePeriod(userId: string, accountId: number): Promise<number>;
setRebalancePeriod(userId: string, accountId: number, rebalancePeriodHours: number): Promise<void>;
getStrategy(userId: string, accountId: number): Promise<IStrategy>;
setStrategy(userId: string, accountId: number, strategy: IStrategy): Promise<void>;
clearStrategy(userId: string, accountId: number): Promise<void>;
allocate(userId: string, accountId: number, strategy: IStrategy): Promise<void>;
createOrder(userId: string, accountId: number, baseSymbol: string, quoteSymbol: string, quantity: Decimal, price: Decimal, side: "BUY" | "SELL", timeInForce: "GTC" | "IOC"): Promise<string>;
getOrder(userId: string, accountId: number, orderId: string): Promise<ILimitOrderStatus>;
getOrders(userId: string, accountId: number): Promise<ILimitOrder[]>;
cancelOrder(userId: string, accountId: number, orderId: string): Promise<void>;
getBacktestAssets(exchange: string, startTime?: Date, endTime?: Date): Promise<IBacktestAsset[]>;
runBacktest(exchange: string, rebalancePeriodHours: number, fee: Decimal, startTime: Date, endTime: Date, initialValue: Decimal, allocations: IAllocation[]): Promise<IBacktestResult>;
getPredictions(exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string): Promise<IPredictions>;
getAssetDominance(): Promise<IAssetInsight[]>;
getAssetPopularity(): Promise<IAssetInsight[]>;
getHistoricalTrades(exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string, startTime: Date, endTime: Date, limit: number): Promise<IHistoricalTrade[]>;
getHistoricalOrderBooks(exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string, startTime: Date, endTime: Date, limit: number): Promise<IHistoricalOrderBook[]>;
getHistoricalCandles(exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string, startTime: Date, endTime: Date, limit: number, interval: '1m' | '5m' | '15m' | '1h' | '6h' | '1d'): Promise<IHistoricalCandlestick[]>;
getHistoricalInstruments(exchange?: string, baseTradingSymbol?: string, quoteTradingSymbol?: string): Promise<IHistoricalInstrument[]>;
getHistoricalCount(type: 'trade' | 'orderbook', exchange: string, baseTradingSymbol: string, quoteTradingSymbol: string, startTime: Date, endTime: Date): Promise<IHistoricalCount>;
getStatus(): Promise<IManagementStatus>;
getCredits(): Promise<IManagementCredits>;
getUsage(): Promise<IManagementUsage>;
getToken(): Promise<string>;
private _setApiCredentials;
private _callEndpoint;
}