UNPKG

@shogun-sdk/money-legos

Version:

Shogun Money Legos: clients and types for quotes, memes, prices, balances, fees, validations, etc.

182 lines 7.75 kB
import { InfoType } from '../../types/constants.js'; export class GeneralInfoAPI { constructor(httpApi, symbolConversion, parent) { Object.defineProperty(this, "httpApi", { enumerable: true, configurable: true, writable: true, value: httpApi }); Object.defineProperty(this, "symbolConversion", { enumerable: true, configurable: true, writable: true, value: symbolConversion }); Object.defineProperty(this, "parent", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.parent = parent; } async getAllMids(rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.ALL_MIDS }); if (rawResponse) { return response; } else { const convertedResponse = {}; for (const [key, value] of Object.entries(response)) { const convertedKey = await this.symbolConversion.convertSymbol(key); const convertedValue = parseFloat(value); convertedResponse[convertedKey] = convertedValue; } return convertedResponse; } } async getUserOpenOrders(user, rawResponse = false) { await this.parent.ensureInitialized(); const response = await this.httpApi.makeRequest({ type: InfoType.OPEN_ORDERS, user: user }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getFrontendOpenOrders(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.FRONTEND_OPEN_ORDERS, user: user }, 20); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserFills(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.USER_FILLS, user: user }, 20); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserFillsByTime(user, startTime, endTime, rawResponse = false) { let params = { user: user, startTime: Math.round(startTime), type: InfoType.USER_FILLS_BY_TIME, }; if (endTime) { params.endTime = Math.round(endTime); } const response = await this.httpApi.makeRequest(params, 20); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserRateLimit(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.USER_RATE_LIMIT, user: user }, 20); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getOrderStatus(user, oid, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.ORDER_STATUS, user: user, oid: oid }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getL2Book(coin, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.L2_BOOK, coin: await this.symbolConversion.convertSymbol(coin, 'reverse'), }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getCandleSnapshot(coin, interval, startTime, endTime, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.CANDLE_SNAPSHOT, req: { coin: await this.symbolConversion.convertSymbol(coin, 'reverse'), interval: interval, startTime: startTime, endTime: endTime, }, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response, ['s']); } // Add these methods to src/rest/info/general.ts async getMaxBuilderFee(user, builder, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.MAX_BUILDER_FEE, user, builder, }); return rawResponse ? response : this.symbolConversion.convertToNumber(response); } async getHistoricalOrders(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.HISTORICAL_ORDERS, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserTwapSliceFills(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.USER_TWAP_SLICE_FILLS, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getSubAccounts(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.SUB_ACCOUNTS, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getVaultDetails(vaultAddress, user, rawResponse = false) { const params = { type: InfoType.VAULT_DETAILS, vaultAddress, }; if (user) { params.user = user; } const response = await this.httpApi.makeRequest(params); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserVaultEquities(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.USER_VAULT_EQUITIES, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserRole(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.USER_ROLE, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getUserPortfolio(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.PORTFOLIO, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getDelegations(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.DELEGATIONS, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getDelegatorSummary(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.DELEGATOR_SUMMARY, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getDelegatorHistory(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.DELEGATOR_HISTORY, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } async getDelegatorRewards(user, rawResponse = false) { const response = await this.httpApi.makeRequest({ type: InfoType.DELEGATOR_REWARDS, user, }); return rawResponse ? response : await this.symbolConversion.convertResponse(response); } } //# sourceMappingURL=general.js.map