TxIn.deserialize constructor
Deserialize transaction input
Implementation
factory TxIn.deserialize(Uint8List data, int offset) {
int pos = offset;
// Previous outpoint hash (32 bytes)
final prevHash = Hash.fromBytes(data.sublist(pos, pos + 32));
pos += 32;
// Previous outpoint index (4 bytes)
final prevIndex = _bytesToUint32(data, pos);
pos += 4;
// Signature script length
final buffer = ByteData.sublistView(data);
final scriptLen = VarInt.read(buffer, pos);
pos += VarInt.size(scriptLen);
// Signature script
final sigScript = data.sublist(pos, pos + scriptLen);
pos += scriptLen;
// Sequence (4 bytes)
final sequence = _bytesToUint32(data, pos);
return TxIn(
previousOutPointHash: prevHash,
previousOutPointIndex: prevIndex,
signatureScript: sigScript,
sequence: sequence,
);
}