@exchanges/binance
Version:
Exchange provider for Binance API
86 lines • 7.28 kB
JavaScript
;
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