write method
Override to write data into writer
Implementation
@override
void write(Writer writer) {
final thisIn = tx.inputs[inputN];
final hashPrevouts = !hashType.anyOneCanPay
? hashes.prevouts.doubleHash
: hashZero;
final hashSequences
= !hashType.anyOneCanPay && !hashType.single && !hashType.none
? hashes.sequences.doubleHash
: hashZero;
final hashOutputs = !hashType.single && !hashType.none
? hashes.outputs.doubleHash
: hashType.single && inputN < tx.outputs.length
? sha256DoubleHash(tx.outputs[inputN].toBytes())
: hashZero;
writer.writeUInt32(tx.version);
writer.writeSlice(hashPrevouts);
writer.writeSlice(hashSequences);
thisIn.prevOut.write(writer);
writer.writeVarSlice(scriptCode.compiled);
writer.writeUInt64(value);
writer.writeUInt32(thisIn.sequence);
writer.writeSlice(hashOutputs);
writer.writeUInt32(tx.locktime);
writer.writeUInt32(hashType.value);
}