Transaction: allow parameterizable buffer

This commit is contained in:
Daniel Cousens 2016-07-12 12:31:54 +10:00
parent 609d1618a4
commit 6eae0241aa

View file

@ -241,7 +241,7 @@ Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashT
// serialize and hash // serialize and hash
var buffer = new Buffer(txTmp.byteLength() + 4) var buffer = new Buffer(txTmp.byteLength() + 4)
buffer.writeInt32LE(hashType, buffer.length - 4) buffer.writeInt32LE(hashType, buffer.length - 4)
txTmp.toBuffer().copy(buffer, 0) txTmp.toBuffer(buffer, 0)
return bcrypto.hash256(buffer) return bcrypto.hash256(buffer)
} }
@ -255,10 +255,10 @@ Transaction.prototype.getId = function () {
return bufferReverse(this.getHash()).toString('hex') return bufferReverse(this.getHash()).toString('hex')
} }
Transaction.prototype.toBuffer = function () { Transaction.prototype.toBuffer = function (buffer, offset) {
var buffer = new Buffer(this.byteLength()) if (!buffer) buffer = new Buffer(this.byteLength())
var offset = 0 offset = offset || 0
function writeSlice (slice) { function writeSlice (slice) {
slice.copy(buffer, offset) slice.copy(buffer, offset)
offset += slice.length offset += slice.length