UNPKG

@exchange-connect/coinex

Version:
31 lines (30 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.signParams = void 0; var crypto = require("crypto"); function sortObjectAlphabetically(object) { return Object.keys(object) .sort() .reduce(function (previousObject, currentKey) { if (object[currentKey] !== undefined) previousObject[currentKey] = object[currentKey]; return previousObject; }, {}); } function signParams(secret, params, type) { if (type === void 0) { type = "md5"; } if (type == "sha256") { if (params.tonce || params.timestamp) { params.timestamp = params.tonce ? params.tonce : params.timestamp; delete params.tonce; } } var queryStringOfParams = new URLSearchParams(sortObjectAlphabetically(params)).toString() + "&secret_key=".concat(secret); var hash = crypto.createHash(type).update(queryStringOfParams).digest("hex"); if (type == "md5") hash = hash.toUpperCase(); else if (type == "sha256") hash = hash.toLowerCase(); return hash; } exports.signParams = signParams;