You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
798 B
28 lines
798 B
const ethUtil = require('ethereumjs-util')
|
|
|
|
module.exports = {
|
|
|
|
concatSig: function (v, r, s) {
|
|
const rSig = ethUtil.fromSigned(r)
|
|
const sSig = ethUtil.fromSigned(s)
|
|
const vSig = ethUtil.bufferToInt(v)
|
|
const rStr = padWithZeroes(ethUtil.toUnsigned(rSig).toString('hex'), 64)
|
|
const sStr = padWithZeroes(ethUtil.toUnsigned(sSig).toString('hex'), 64)
|
|
const vStr = ethUtil.stripHexPrefix(ethUtil.intToHex(vSig))
|
|
return ethUtil.addHexPrefix(rStr.concat(sStr, vStr)).toString('hex')
|
|
},
|
|
|
|
normalize: function (address) {
|
|
if (!address) return
|
|
return ethUtil.addHexPrefix(address.toLowerCase())
|
|
},
|
|
|
|
}
|
|
|
|
function padWithZeroes (number, length) {
|
|
var myString = '' + number
|
|
while (myString.length < length) {
|
|
myString = '0' + myString
|
|
}
|
|
return myString
|
|
}
|
|
|