UNPKG

tokenlon-sdk

Version:

imToken Tokenlon API for node

34 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ethUtil = require("ethereumjs-util"); var helper_1 = require("./helper"); // sig is buffer exports.concatSig = function (ecSignatureBuffer) { var v = ecSignatureBuffer.v, r = ecSignatureBuffer.r, s = ecSignatureBuffer.s; var vSig = ethUtil.bufferToInt(v); var rSig = ethUtil.fromSigned(r); var sSig = ethUtil.fromSigned(s); var rStr = helper_1.leftPadWith0(ethUtil.toUnsigned(rSig).toString('hex'), 64); var sStr = helper_1.leftPadWith0(ethUtil.toUnsigned(sSig).toString('hex'), 64); var vStr = ethUtil.stripHexPrefix(ethUtil.intToHex(vSig)); return ethUtil.addHexPrefix(rStr.concat(sStr, vStr)).toString('hex'); }; exports.personalECSign = function (privateKey, msg) { var message = ethUtil.toBuffer(msg); var msgHash = ethUtil.hashPersonalMessage(message); return ethUtil.ecsign(msgHash, new Buffer(privateKey, 'hex')); }; exports.personalSign = function (privateKey, msg) { var sig = exports.personalECSign(privateKey, msg); return ethUtil.bufferToHex(exports.concatSig(sig)); }; exports.personalECSignHex = function (privateKey, msg) { var _a = exports.personalECSign(privateKey, msg), r = _a.r, s = _a.s, v = _a.v; var ecSignature = { v: v, r: ethUtil.bufferToHex(r), s: ethUtil.bufferToHex(s), }; return ecSignature; }; //# sourceMappingURL=sign.js.map