UNPKG

@exchanges/binance

Version:

Exchange provider for Binance API

86 lines 7.28 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.dailyAccountSnapshot = void 0; const apiCall_1 = require("../../../apiCall"); const safe_parsing_1 = require("@berish/safe-parsing"); const info_1 = require("../../../info"); function dailyAccountSnapshot(client, payload) { return __awaiter(this, void 0, void 0, function* () { const payloadRaw = (0, safe_parsing_1.parse)(payload, (_a) => { var { startTime, endTime } = _a, other = __rest(_a, ["startTime", "endTime"]); return (Object.assign({ startTime: (0, safe_parsing_1.parse)(startTime, safe_parsing_1.numberParser), endTime: (0, safe_parsing_1.parse)(endTime, safe_parsing_1.numberParser) }, other)); }); const response = yield (0, apiCall_1.apiCall)({ host: 'spot', path: '/sapi/v1/accountSnapshot', method: 'GET', securityType: 'USER_DATA', client, data: payloadRaw, }); if (response.code !== 200) throw new info_1.BinanceError(response.msg, response.code); if (payload.type === 'SPOT') { return (0, safe_parsing_1.parse)(response, ({ snapshotVos }) => (0, safe_parsing_1.parseArray)(snapshotVos, (_a) => { var { updateTime, type, data } = _a, other = __rest(_a, ["updateTime", "type", "data"]); return (Object.assign({ updateTime: (0, safe_parsing_1.parse)(updateTime, safe_parsing_1.dateParser), type: 'SPOT', data: (0, safe_parsing_1.parse)(data, (_a) => { var { totalAssetOfBtc, balances } = _a, other = __rest(_a, ["totalAssetOfBtc", "balances"]); return (Object.assign({ totalAssetOfBtc: (0, safe_parsing_1.parse)(totalAssetOfBtc, safe_parsing_1.numberParser), balances: (0, safe_parsing_1.parseArray)(balances, (_a) => { var { free, locked } = _a, other = __rest(_a, ["free", "locked"]); return (Object.assign({ free: (0, safe_parsing_1.parse)(free, safe_parsing_1.numberParser), locked: (0, safe_parsing_1.parse)(locked, safe_parsing_1.numberParser) }, other)); }) }, other)); }) }, other)); })); } if (payload.type === 'MARGIN') { return (0, safe_parsing_1.parse)(response, ({ snapshotVos }) => (0, safe_parsing_1.parseArray)(snapshotVos, (_a) => { var { updateTime, type, data } = _a, other = __rest(_a, ["updateTime", "type", "data"]); return (Object.assign({ updateTime: (0, safe_parsing_1.parse)(updateTime, safe_parsing_1.dateParser), type: 'MARGIN', data: (0, safe_parsing_1.parse)(data, (_a) => { var { marginLevel, totalAssetOfBtc, totalLiabilityOfBtc, totalNetAssetOfBtc, userAssets } = _a, other = __rest(_a, ["marginLevel", "totalAssetOfBtc", "totalLiabilityOfBtc", "totalNetAssetOfBtc", "userAssets"]); return (Object.assign({ marginLevel: (0, safe_parsing_1.parse)(marginLevel, safe_parsing_1.numberParser), totalAssetOfBtc: (0, safe_parsing_1.parse)(totalAssetOfBtc, safe_parsing_1.numberParser), totalLiabilityOfBtc: (0, safe_parsing_1.parse)(totalLiabilityOfBtc, safe_parsing_1.numberParser), totalNetAssetOfBtc: (0, safe_parsing_1.parse)(totalNetAssetOfBtc, safe_parsing_1.numberParser), userAssets: (0, safe_parsing_1.parseArray)(userAssets, (_a) => { var { borrowed, free, interest, locked, netAsset } = _a, other = __rest(_a, ["borrowed", "free", "interest", "locked", "netAsset"]); return (Object.assign({ borrowed: (0, safe_parsing_1.parse)(borrowed, safe_parsing_1.numberParser), free: (0, safe_parsing_1.parse)(free, safe_parsing_1.numberParser), interest: (0, safe_parsing_1.parse)(interest, safe_parsing_1.numberParser), locked: (0, safe_parsing_1.parse)(locked, safe_parsing_1.numberParser), netAsset: (0, safe_parsing_1.parse)(netAsset, safe_parsing_1.numberParser) }, other)); }) }, other)); }) }, other)); })); } if (payload.type === 'FUTURES') { return (0, safe_parsing_1.parse)(response, ({ snapshotVos }) => (0, safe_parsing_1.parseArray)(snapshotVos, (_a) => { var { updateTime, type, data } = _a, other = __rest(_a, ["updateTime", "type", "data"]); return (Object.assign({ updateTime: (0, safe_parsing_1.parse)(updateTime, safe_parsing_1.dateParser), type: 'FUTURES', data: (0, safe_parsing_1.parse)(data, (_a) => { var { assets, position } = _a, other = __rest(_a, ["assets", "position"]); return (Object.assign({ assets: (0, safe_parsing_1.parseArray)(assets, (_a) => { var { marginBalance, walletBalance } = _a, other = __rest(_a, ["marginBalance", "walletBalance"]); return (Object.assign({ marginBalance: (0, safe_parsing_1.parse)(marginBalance, safe_parsing_1.numberParser), walletBalance: (0, safe_parsing_1.parse)(walletBalance, safe_parsing_1.numberParser) }, other)); }), position: (0, safe_parsing_1.parseArray)(position, (_a) => { var { entryPrice, markPrice, positionAmt, unRealizedProfit } = _a, other = __rest(_a, ["entryPrice", "markPrice", "positionAmt", "unRealizedProfit"]); return (Object.assign({ entryPrice: (0, safe_parsing_1.parse)(entryPrice, safe_parsing_1.numberParser), markPrice: (0, safe_parsing_1.parse)(markPrice, safe_parsing_1.numberParser), positionAmt: (0, safe_parsing_1.parse)(positionAmt, safe_parsing_1.numberParser), unRealizedProfit: (0, safe_parsing_1.parse)(unRealizedProfit, safe_parsing_1.numberParser) }, other)); }) }, other)); }) }, other)); })); } return null; }); } exports.dailyAccountSnapshot = dailyAccountSnapshot; //# sourceMappingURL=dailyAccountSnapshot.js.map