drop old base58 functions.
This commit is contained in:
parent
e17e36d1a0
commit
bbf7748fbe
@ -124,53 +124,9 @@ var unbase58 = base58.split('').reduce(function(out, ch, i) {
|
||||
return out;
|
||||
}, {});
|
||||
|
||||
utils.toBase58 = function toBase58(arr) {
|
||||
var n = new bn(arr, 16);
|
||||
|
||||
// 58 ^ 4
|
||||
var mod = new bn(0xacad10);
|
||||
|
||||
var res = '';
|
||||
|
||||
var r, end, i, c;
|
||||
|
||||
do {
|
||||
r = n.mod(mod);
|
||||
n = n.div(mod);
|
||||
|
||||
end = n.cmpn(0) === 0;
|
||||
|
||||
assert.equal(r.length, 1);
|
||||
r = r.words[0];
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
c = r % 58;
|
||||
r = (r - c) / 58;
|
||||
|
||||
if (c === 0 && r === 0 && end)
|
||||
break;
|
||||
res = base58[c] + res;
|
||||
}
|
||||
assert.equal(r, 0);
|
||||
} while (!end);
|
||||
|
||||
// Add leading "zeroes"
|
||||
for (i = 0; i < arr.length; i++) {
|
||||
if (arr[i] !== 0)
|
||||
break;
|
||||
res = '1' + res;
|
||||
}
|
||||
|
||||
//utils.print(res);
|
||||
//utils.print(utils.toBase582(arr));
|
||||
// assert(utils.toBase582(arr) === res);
|
||||
|
||||
return res;
|
||||
};
|
||||
|
||||
// Ported from:
|
||||
// https://github.com/bitcoin/bitcoin/blob/master/src/base58.cpp
|
||||
utils.toBase582 = function toBase582(buf) {
|
||||
utils.toBase58 = function toBase58(buf) {
|
||||
var zeroes = 0;
|
||||
var length = 0;
|
||||
var str = '';
|
||||
@ -213,7 +169,7 @@ utils.toBase582 = function toBase582(buf) {
|
||||
return str;
|
||||
};
|
||||
|
||||
utils.fromBase582 = function fromBase58(str) {
|
||||
utils.fromBase58 = function fromBase58(str) {
|
||||
var zeroes = 0;
|
||||
var i = 0;
|
||||
var b256, ch, carry, j, out;
|
||||
@ -257,45 +213,6 @@ utils.fromBase582 = function fromBase58(str) {
|
||||
return out;
|
||||
};
|
||||
|
||||
utils.fromBase58 = function fromBase58(str) {
|
||||
var i, zeroes, q, w, res, c, z;
|
||||
|
||||
// Count leading "zeroes"
|
||||
for (i = 0; i < str.length; i++)
|
||||
if (str[i] !== '1')
|
||||
break;
|
||||
|
||||
zeroes = i;
|
||||
|
||||
// Read 4-char words and add them to bignum
|
||||
q = 1;
|
||||
w = 0;
|
||||
res = new bn(0);
|
||||
for (i = zeroes; i < str.length; i++) {
|
||||
c = unbase58[str[i]];
|
||||
if (!(c >= 0 && c < 58))
|
||||
return new Buffer([]);
|
||||
|
||||
q *= 58;
|
||||
w *= 58;
|
||||
w += c;
|
||||
if (i === str.length - 1 || q === 0xacad10) {
|
||||
res = res.mul(new bn(q)).add(new bn(w));
|
||||
q = 1;
|
||||
w = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Add leading "zeroes"
|
||||
z = [];
|
||||
for (i = 0; i < zeroes; i++)
|
||||
z.push(0);
|
||||
|
||||
var ret = new Buffer(z.concat(res.toArray()));
|
||||
// assert(utils.isEqual(ret, utils.fromBase582(str)));
|
||||
return ret;
|
||||
};
|
||||
|
||||
utils.isBase58 = function isBase58(msg) {
|
||||
return typeof msg === 'string' && /^[1-9a-zA-Z]+$/.test(msg);
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user