|
@ -1,6 +1,5 @@ |
|
|
'use strict'; |
|
|
'use strict'; |
|
|
Object.defineProperty(exports, '__esModule', { value: true }); |
|
|
Object.defineProperty(exports, '__esModule', { value: true }); |
|
|
const buffer_writer_1 = require('./buffer_writer'); |
|
|
|
|
|
const bufferutils = require('./bufferutils'); |
|
|
const bufferutils = require('./bufferutils'); |
|
|
const bufferutils_1 = require('./bufferutils'); |
|
|
const bufferutils_1 = require('./bufferutils'); |
|
|
const bcrypto = require('./crypto'); |
|
|
const bcrypto = require('./crypto'); |
|
@ -303,7 +302,7 @@ class Transaction { |
|
|
let hashSequence = ZERO; |
|
|
let hashSequence = ZERO; |
|
|
if (!(hashType & Transaction.SIGHASH_ANYONECANPAY)) { |
|
|
if (!(hashType & Transaction.SIGHASH_ANYONECANPAY)) { |
|
|
tbuffer = Buffer.allocUnsafe(36 * this.ins.length); |
|
|
tbuffer = Buffer.allocUnsafe(36 * this.ins.length); |
|
|
bufferWriter = new buffer_writer_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0); |
|
|
this.ins.forEach(txIn => { |
|
|
this.ins.forEach(txIn => { |
|
|
bufferWriter.writeSlice(txIn.hash); |
|
|
bufferWriter.writeSlice(txIn.hash); |
|
|
bufferWriter.writeUInt32(txIn.index); |
|
|
bufferWriter.writeUInt32(txIn.index); |
|
@ -316,7 +315,7 @@ class Transaction { |
|
|
(hashType & 0x1f) !== Transaction.SIGHASH_NONE |
|
|
(hashType & 0x1f) !== Transaction.SIGHASH_NONE |
|
|
) { |
|
|
) { |
|
|
tbuffer = Buffer.allocUnsafe(4 * this.ins.length); |
|
|
tbuffer = Buffer.allocUnsafe(4 * this.ins.length); |
|
|
bufferWriter = new buffer_writer_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0); |
|
|
this.ins.forEach(txIn => { |
|
|
this.ins.forEach(txIn => { |
|
|
bufferWriter.writeUInt32(txIn.sequence); |
|
|
bufferWriter.writeUInt32(txIn.sequence); |
|
|
}); |
|
|
}); |
|
@ -330,7 +329,7 @@ class Transaction { |
|
|
return sum + 8 + varSliceSize(output.script); |
|
|
return sum + 8 + varSliceSize(output.script); |
|
|
}, 0); |
|
|
}, 0); |
|
|
tbuffer = Buffer.allocUnsafe(txOutsSize); |
|
|
tbuffer = Buffer.allocUnsafe(txOutsSize); |
|
|
bufferWriter = new buffer_writer_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0); |
|
|
this.outs.forEach(out => { |
|
|
this.outs.forEach(out => { |
|
|
bufferWriter.writeUInt64(out.value); |
|
|
bufferWriter.writeUInt64(out.value); |
|
|
bufferWriter.writeVarSlice(out.script); |
|
|
bufferWriter.writeVarSlice(out.script); |
|
@ -342,13 +341,13 @@ class Transaction { |
|
|
) { |
|
|
) { |
|
|
const output = this.outs[inIndex]; |
|
|
const output = this.outs[inIndex]; |
|
|
tbuffer = Buffer.allocUnsafe(8 + varSliceSize(output.script)); |
|
|
tbuffer = Buffer.allocUnsafe(8 + varSliceSize(output.script)); |
|
|
bufferWriter = new buffer_writer_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter.writeUInt64(output.value); |
|
|
bufferWriter.writeUInt64(output.value); |
|
|
bufferWriter.writeVarSlice(output.script); |
|
|
bufferWriter.writeVarSlice(output.script); |
|
|
hashOutputs = bcrypto.hash256(tbuffer); |
|
|
hashOutputs = bcrypto.hash256(tbuffer); |
|
|
} |
|
|
} |
|
|
tbuffer = Buffer.allocUnsafe(156 + varSliceSize(prevOutScript)); |
|
|
tbuffer = Buffer.allocUnsafe(156 + varSliceSize(prevOutScript)); |
|
|
bufferWriter = new buffer_writer_1.BufferWriter(tbuffer, 0); |
|
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0); |
|
|
const input = this.ins[inIndex]; |
|
|
const input = this.ins[inIndex]; |
|
|
bufferWriter.writeUInt32(this.version); |
|
|
bufferWriter.writeUInt32(this.version); |
|
|
bufferWriter.writeSlice(hashPrevouts); |
|
|
bufferWriter.writeSlice(hashPrevouts); |
|
@ -388,7 +387,7 @@ class Transaction { |
|
|
} |
|
|
} |
|
|
__toBuffer(buffer, initialOffset, _ALLOW_WITNESS = false) { |
|
|
__toBuffer(buffer, initialOffset, _ALLOW_WITNESS = false) { |
|
|
if (!buffer) buffer = Buffer.allocUnsafe(this.byteLength(_ALLOW_WITNESS)); |
|
|
if (!buffer) buffer = Buffer.allocUnsafe(this.byteLength(_ALLOW_WITNESS)); |
|
|
const bufferWriter = new buffer_writer_1.BufferWriter( |
|
|
const bufferWriter = new bufferutils_1.BufferWriter( |
|
|
buffer, |
|
|
buffer, |
|
|
initialOffset || 0, |
|
|
initialOffset || 0, |
|
|
); |
|
|
); |
|
|