Browse Source

Transaction: re-adds getHash as a pure hash

hk-custom-address
Daniel Cousens 10 years ago
parent
commit
0b17c2bc3d
  1. 6
      src/transaction.js
  2. 15
      test/transaction.js

6
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)

15
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],

Loading…
Cancel
Save