UNPKG

neverrekt-kucoin

Version:
56 lines (55 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTimestamp = exports.getPath = exports.getSignature = exports.checkParameters = exports.getQueryString = void 0; var crypto = require("crypto"); function getQueryString(params) { var keys = Object.keys(params); return !!keys.length ? "?" + keys .map(function (k) { return encodeURIComponent(k) + "=" + encodeURIComponent(params[k]); }) .join("&") : ""; } exports.getQueryString = getQueryString; function checkParameters(params, map) { var unused = params ? (Object.keys(params) || []).filter(function (param) { return (map.findIndex(function (item) { return item.key === param; }) === -1); }) : []; var missing = (map || []) .map(function (item) { return (!params && item.required) || (params && !params[item.key] && item.required) ? item.key : undefined; }) .filter(Boolean); if (!!unused.length) { console.warn("These are questionable parameters that may be unused: " + unused.join(", ") + "."); } if (!!missing.length) { return "You are missing the following required parameters: " + missing.join(", ") + "."; } return false; } exports.checkParameters = checkParameters; function getSignature(secret, path, queryString, timestamp, method) { var strForSign = "" + timestamp + method + path + queryString; var signatureResult = crypto .createHmac("sha256", secret) .update(strForSign) .digest("base64"); return signatureResult; } exports.getSignature = getSignature; function getPath(prefix, endpoint) { return prefix + endpoint; } exports.getPath = getPath; function getTimestamp() { return Date.now() + ""; } exports.getTimestamp = getTimestamp;