From 10821a00fcb604f47df3f30f4c88e083d9ed6af9 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 23 Feb 2016 02:45:59 -0800 Subject: [PATCH] utils. improve fromBase58. --- lib/bcoin/utils.js | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index cdbf3207..f82214cf 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -90,6 +90,11 @@ utils.toArray = function toArray(msg, enc) { var base58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZ' + 'abcdefghijkmnopqrstuvwxyz'; +var unbase58 = base58.split('').reduce(function(out, ch, i) { + out[ch] = i; + return out; +}, {}); + utils.toBase58 = function toBase58(arr) { var n = new bn(arr, 16); @@ -144,9 +149,9 @@ utils.fromBase58 = function fromBase58(str) { w = 0; res = new bn(0); for (i = zeroes; i < str.length; i++) { - c = base58.indexOf(str[i]); + c = unbase58[str[i]]; if (!(c >= 0 && c < 58)) - return []; + return new Buffer([]); q *= 58; w *= 58; @@ -732,23 +737,6 @@ utils.ensureBuffer = function ensureBuffer(msg) { throw new Error('Cannot ensure buffer'); }; -utils.isBytes = function isBytes(data) { - var i; - - if (Buffer.isBuffer(data)) - return true; - - if (!Array.isArray(data)) - return false; - - for (i = 0; i < data.length; i++) { - if (typeof data[i] !== 'number' || data[i] < 0x00 || data[i] > 0xff) - return false; - } - - return true; -}; - utils._inspect = function _inspect(obj, color) { return typeof obj !== 'string' ? util.inspect(obj, null, 20, color !== false) @@ -762,17 +750,10 @@ utils.print = function print(msg) { }; utils.debug = function debug() { - var args; - if (!bcoin.debug) return; - args = Array.prototype.slice.call(arguments); - - // if (typeof args[0] === 'string' && process.stdout.isTTY) - // args[0] = '\x1b[32m' + args[0] + '\x1b[m'; - - return utils.print.apply(null, args); + return utils.print.apply(null, arguments); }; utils.merge = function merge(target) { @@ -834,7 +815,6 @@ utils.uniqs = function uniqs(obj) { return out; }; - utils.fromCompact = function fromCompact(compact) { var exponent = compact >> 24; var negative = (compact >> 23) & 0x01;