write method

  1. @override
void write(
  1. Writer writer
)
override

Override to write data into writer

Implementation

@override
void write(Writer writer) {

  writer.writeInt32(version);

  if (isWitness) {
    writer.writeUInt8(0); // Marker
    writer.writeUInt8(1); // Flag
  }

  writer.writeVarInt(BigInt.from(inputs.length));
  for (final input in inputs) {
    input.write(writer);
  }

  writer.writeVarInt(BigInt.from(outputs.length));
  for (final output in outputs) {
    output.write(writer);
  }

  if (isWitness) {
    for (final input in inputs) {
      writer.writeVector(input is WitnessInput ? input.witness : []);
    }
  }

  writer.writeUInt32(locktime);

}