serialize method

  1. @override
Uint8List serialize()
override

Implementation

@override
Uint8List serialize() {
  var buffer = Uint8List(size);
  var currentPos = 0;
  buffer.setRange(currentPos, currentPos + 4, intToBytes(size, 4));
  currentPos += 4;
  buffer.setRange(currentPos, currentPos + 4,
      intToBytes(verifiableEntityHeaderReserved_1, 4));
  currentPos += 4;
  buffer.setRange(
      currentPos, currentPos + signature.size, signature.serialize());
  currentPos += signature.size;
  buffer.setRange(currentPos, currentPos + signerPublicKey.size,
      signerPublicKey.serialize());
  currentPos += signerPublicKey.size;
  buffer.setRange(
      currentPos, currentPos + 4, intToBytes(entityBodyReserved_1, 4));
  currentPos += 4;
  buffer.setRange(currentPos, currentPos + 1, intToBytes(version, 1));
  currentPos += 1;
  buffer.setRange(currentPos, currentPos + network.size, network.serialize());
  currentPos += network.size;
  buffer.setRange(currentPos, currentPos + type.size, type.serialize());
  currentPos += type.size;
  buffer.setRange(currentPos, currentPos + fee.size, fee.serialize());
  currentPos += fee.size;
  buffer.setRange(
      currentPos, currentPos + deadline.size, deadline.serialize());
  currentPos += deadline.size;
  buffer.setRange(currentPos, currentPos + transactionsHash.size,
      transactionsHash.serialize());
  currentPos += transactionsHash.size;
  buffer.setRange(currentPos, currentPos + 4,
      intToBytes(ArrayHelpers.size(transactions, 8, false), 4));
  currentPos += 4;
  buffer.setRange(currentPos, currentPos + 4,
      intToBytes(aggregateTransactionHeaderReserved_1, 4));
  currentPos += 4;
  sort();
  var res_transactions = ArrayHelpers.writeVariableSizeElements(
      buffer, transactions, 8, currentPos, false);
  currentPos = res_transactions.item2;
  buffer = res_transactions.item1;
  sort();
  var res_cosignatures =
      ArrayHelpers.writeArray(buffer, cosignatures, currentPos);
  currentPos = res_cosignatures.item2;
  buffer = res_cosignatures.item1;
  return buffer;
}