From 0b17c2bc3d3202f846282a1b0c2d22316de468b5 Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Mon, 16 Jun 2014 18:52:06 +1000 Subject: [PATCH] Transaction: re-adds getHash as a pure hash --- src/transaction.js | 6 +++++- test/transaction.js | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/transaction.js b/src/transaction.js index f99976e..0195067 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -193,8 +193,12 @@ Transaction.prototype.hashForSignature = function(prevOutScript, inIndex, hashTy return crypto.hash256(buffer) } +Transaction.prototype.getHash = function () { + return crypto.hash256(this.toBuffer()) +} + Transaction.prototype.getId = function () { - var buffer = crypto.hash256(this.toBuffer()) + var buffer = this.getHash() // Big-endian is used for TxHash Array.prototype.reverse.call(buffer) diff --git a/test/transaction.js b/test/transaction.js index e93ea11..0ebf50a 100644 --- a/test/transaction.js +++ b/test/transaction.js @@ -56,12 +56,10 @@ describe('Transaction', function() { // Probably a bit representative of the API var prevTxHash, prevTxId, prevTx beforeEach(function() { - var crypto = require('../src/crypto') - var f = fixtures.valid[0] prevTx = Transaction.fromHex(f.hex) + prevTxHash = prevTx.getHash() prevTxId = prevTx.getId() - prevTxHash = crypto.hash256(prevTx.toBuffer()) }) it('accepts a transaction id', function() { @@ -195,6 +193,17 @@ describe('Transaction', function() { }) }) + describe('getHash', function() { + fixtures.valid.forEach(function(f) { + it('should return the hash for ' + f.txid, function() { + var tx = Transaction.fromHex(f.hex) + var actual = tx.getHash().toString('hex') + + assert.equal(actual, f.hash) + }) + }) + }) + // TODO: // hashForSignature: [Function],