From cc1af7d6a3bf69668f736b5731f75b480dedd94e Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Wed, 10 Aug 2016 11:43:36 +1000 Subject: [PATCH] Transaction: return a slice, not the original Buffer --- src/transaction.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/transaction.js b/src/transaction.js index 382fc5d..cbd316c 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -255,10 +255,10 @@ Transaction.prototype.getId = function () { return bufferReverse(this.getHash()).toString('hex') } -Transaction.prototype.toBuffer = function (buffer, offset) { +Transaction.prototype.toBuffer = function (buffer, initialOffset) { if (!buffer) buffer = new Buffer(this.byteLength()) - offset = offset || 0 + var offset = initialOffset || 0 function writeSlice (slice) { slice.copy(buffer, offset) offset += slice.length @@ -304,6 +304,9 @@ Transaction.prototype.toBuffer = function (buffer, offset) { writeUInt32(this.locktime) + // avoid slicing unless necessary + if (initialOffset !== undefined) return buffer.slice(initialOffset, offset) + return buffer }