From 8f383be3257bec8cbac9ce32b2505b4c450e2243 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Sun, 16 Mar 2014 02:42:49 +0100 Subject: [PATCH] fix transaction hashing (was using Message.getHash incorrectly). --- src/transaction.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/transaction.js b/src/transaction.js index 527a945..b61b2fb 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -7,6 +7,7 @@ var ECKey = require('./eckey').ECKey; var ECDSA = require('./ecdsa'); var Address = require('./address'); var Message = require('./message'); +var SHA256 = require('./crypto-js/sha256'); var Transaction = function (doc) { if (!(this instanceof Transaction)) { return new Transaction(doc); } @@ -207,7 +208,8 @@ function (connectedScript, inIndex, hashType) buffer = buffer.concat(convert.numToBytes(parseInt(hashType),4)); - return Message.getHash(buffer) + buffer = convert.bytesToWordArray(buffer); + return convert.wordArrayToBytes(SHA256(SHA256(buffer))); }; /** @@ -217,8 +219,8 @@ function (connectedScript, inIndex, hashType) */ Transaction.prototype.getHash = function () { - var buffer = this.serialize(); - return Message.getHash(buffer).reverse() + var buffer = convert.bytesToWordArray(this.serialize()); + return convert.wordArrayToBytes(SHA256(SHA256(buffer))).reverse(); }; /**