diff --git a/lib/primitives/tx.js b/lib/primitives/tx.js index 02257ea4..d4ee9a9f 100644 --- a/lib/primitives/tx.js +++ b/lib/primitives/tx.js @@ -499,31 +499,25 @@ TX.prototype.signatureHashV0 = function signatureHashV0(index, prev, type) { // current input index if SINGLE. bw.writeVarint(index + 1); - for (i = 0; i < index + 1; i++) { - output = this.outputs[i]; - - // Regular serialization if - // at current input index. - if (i === index) { - bw.write64(output.value); - bw.writeVarBytes(output.script.toRaw()); - continue; - } - + for (i = 0; i < index; i++) { // Null all outputs not at // current input index. bw.write64(-1); bw.writeVarint(0); } + + // Regular serialization + // at current input index. + output = this.outputs[index]; + output.toWriter(bw); + break; default: // Regular output serialization if ALL. bw.writeVarint(this.outputs.length); - for (i = 0; i < this.outputs.length; i++) { output = this.outputs[i]; - bw.write64(output.value); - bw.writeVarBytes(output.script.toRaw()); + output.toWriter(bw); } break; }