From 2d7599d2d3bd043dd71de0d5551cda648908047f Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sat, 24 May 2014 01:19:32 -0500 Subject: [PATCH] block: use utils.dsha256 instead of hash.js for merkle tree building. --- lib/bcoin/block.js | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/lib/bcoin/block.js b/lib/bcoin/block.js index c21d16cb..451cb66a 100644 --- a/lib/bcoin/block.js +++ b/lib/bcoin/block.js @@ -1,5 +1,4 @@ var bcoin = require('../bcoin'); -var hash = require('hash.js'); var utils = bcoin.utils; function Block(data, subtype) { @@ -160,18 +159,6 @@ Block.fromJSON = function fromJSON(json) { return block; }; -Block.prototype._phash = function phash(p1begin, p1end, p2begin, p2end) { - var pblank = ''; - var hash1 = hash.sha256(); - hash1.update(p1begin === p1end ? pblank : p1begin, 'hex'); - hash1.update(p2begin === p2end ? pblank : p2begin, 'hex'); - hash1 = hash1.digest('hex'); - var hash2 = hash.sha256(); - hash2.update(hash1, 'hex'); - hash2 = hash2.digest('hex'); - return hash2; -}; - Block.prototype._buildMerkle = function buildMerkle() { var merkleTree = []; for (var i = 0; i < this.txs.length; i++) { @@ -181,9 +168,8 @@ Block.prototype._buildMerkle = function buildMerkle() { for (var size = this.txs.length; size > 1; size = ((size + 1) / 2) | 0) { for (var i = 0; i < size; i += 2) { var i2 = Math.min(i + 1, size - 1); - merkleTree.push( - this._phash(merkleTree[j+i], merkleTree[j+i+1], - merkleTree[j+i2], merkleTree[j+i2+1])); + var hash = utils.dsha256(merkleTree[j+i] + merkleTree[j+i2], 'hex'); + merkleTree.push(utils.toHex(hash)); } j += size; }