Transaction.deserialize no longer mutates input

This commit is contained in:
Daniel Cousens 2014-05-05 08:14:29 +10:00
parent 02013beda9
commit baa568697b
2 changed files with 10 additions and 0 deletions

View file

@ -282,6 +282,9 @@ Transaction.deserialize = function(buffer) {
if (typeof buffer == "string") buffer = new Buffer(buffer, 'hex')
else if (Array.isArray(buffer)) buffer = new Buffer(buffer)
// Copy because we mutate (reverse TxOutHashs)
buffer = new Buffer(buffer)
var offset = 0
function readSlice(n) {
offset += n

View file

@ -38,6 +38,13 @@ describe('Transaction', function() {
assert.equal(b2h(actual), expected)
})
it('does not mutate the input buffer', function() {
var buffer = new Buffer(serializedTx, 'hex')
Transaction.deserialize(buffer)
assert.equal(buffer.toString('hex'), serializedTx)
})
it('decodes version correctly', function(){
assert.equal(tx.version, 1)
})