From 97f25f29f5857df5367fee49bafd73a0eddb90e4 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sat, 16 Jul 2016 14:32:06 -0700 Subject: [PATCH] use supersha. --- lib/bcoin/utils.js | 63 ++++++++++++++++++---------------------------- package.json | 7 +++--- 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index 3e0a0146..0f2f3f7b 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -241,92 +241,79 @@ utils.isBase58 = function isBase58(obj) { /** * Hash with chosen algorithm. * @param {String} alg - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.hash = function _hash(alg, data, enc) { +utils.hash = function _hash(alg, data) { if (!crypto) - return new Buffer(hash[alg]().update(data, enc).digest()); + return new Buffer(hash[alg]().update(data).digest()); - return crypto.createHash(alg).update(data, enc).digest(); + return crypto.createHash(alg).update(data).digest(); }; /** * Hash with ripemd160. - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.ripemd160 = function ripemd160(data, enc) { - return utils.hash('ripemd160', data, enc); +utils.ripemd160 = function ripemd160(data) { + return utils.hash('ripemd160', data); }; /** * Hash with sha1. - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.sha1 = function sha1(data, enc) { - return utils.hash('sha1', data, enc); +utils.sha1 = function sha1(data) { + return utils.hash('sha1', data); }; /** * Hash with sha256. - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.sha256 = function sha256(data, enc) { - if (supersha) { - if (typeof data === 'string') - data = new Buffer(data, enc); +utils.sha256 = function sha256(data) { + if (supersha) return supersha.sha256(data); - } - return utils.hash('sha256', data, enc); + return utils.hash('sha256', data); }; /** * Hash with sha256 and ripemd160 (OP_HASH160). - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.hash160 = function hash160(data, enc) { - return utils.ripemd160(utils.sha256(data, enc)); +utils.hash160 = function hash160(data) { + return utils.ripemd160(utils.sha256(data)); }; /** * Hash with sha256 twice (OP_HASH256). - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.hash256 = function hash256(data, enc) { - if (supersha) { - if (typeof data === 'string') - data = new Buffer(data, enc); - return supersha.dsha256(data); - } - return utils.sha256(utils.sha256(data, enc)); +utils.hash256 = function hash256(data) { + if (supersha) + return supersha.hash256(data); + return utils.sha256(utils.sha256(data)); }; /** * Create a sha256 checksum (common in bitcoin). - * @param {Buffer|String} data - * @param {String?} enc - Any buffer-supported encoding. + * @param {Buffer} data * @returns {Buffer} */ -utils.checksum = function checksum(data, enc) { - return utils.hash256(data, enc).slice(0, 4); +utils.checksum = function checksum(data) { + return utils.hash256(data).slice(0, 4); }; /** diff --git a/package.json b/package.json index d4a9746e..490c818e 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ ], "license": "MIT", "bugs": { - "url": "https://github.com/indutny/bcoin/issues" + "url": "https://github.com/bcoin-org/bcoin/issues" }, - "homepage": "https://github.com/indutny/bcoin", + "homepage": "https://github.com/bcoin-org/bcoin", "engines": { "node": ">= 0.10.0" }, @@ -38,7 +38,8 @@ "leveldown": "git://github.com/chjj/leveldown.git#staging", "secp256k1": "3.1.0", "socket.io": "1.4.8", - "socket.io-client": "1.4.8" + "socket.io-client": "1.4.8", + "supersha": "0.0.1" }, "devDependencies": { "browserify": "13.0.1",