TransactionModel.deserialize constructor Null safety

TransactionModel.deserialize(
  1. Uint8List transaction
)

Builds a TransactionModel from a transaction list of bytes.

Check serialize for more information on how the transaction is built.

Implementation

TransactionModel.deserialize(Uint8List transaction) {
  List<Uint8List> extractedBytes = CompactSize.decode(transaction);
  version = Bytes.decodeBigInt(extractedBytes[0]).toInt();
  address = extractedBytes[1];
  timestamp = DateTime.fromMillisecondsSinceEpoch(
      Bytes.decodeBigInt(extractedBytes[2]).toInt() * 1000);
  assetRef = base64.encode(extractedBytes[3]);
  signature = extractedBytes[4];
  contents = extractedBytes[5];
  id = Digest("SHA3-256").process(serialize());
}