@exchange-connect/coinex
Version:
Coinex ( https://www.coinex.com ) SDK
31 lines (30 loc) • 1.11 kB
JavaScript
;
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;