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(embeddedTransactionHeaderReserved_1, 4));
  currentPos += 4;
  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 + recipientAddress.size,
      recipientAddress.serialize());
  currentPos += recipientAddress.size;
  buffer.setRange(currentPos, currentPos + 2, intToBytes(message.length, 2));
  currentPos += 2;
  buffer.setRange(currentPos, currentPos + 1, intToBytes(mosaics.length, 1));
  currentPos += 1;
  buffer.setRange(currentPos, currentPos + 1,
      intToBytes(transferTransactionBodyReserved_1, 1));
  currentPos += 1;
  buffer.setRange(currentPos, currentPos + 4,
      intToBytes(transferTransactionBodyReserved_2, 4));
  currentPos += 4;
  sort();
  var res_mosaics = ArrayHelpers.writeArray(buffer, mosaics, currentPos, (e) {
    return ArrayHelpers.getValue(e.mosaicId);
  });
  currentPos = res_mosaics.item2;
  buffer = res_mosaics.item1;
  buffer.setRange(currentPos, currentPos + message.lengthInBytes, message);
  currentPos += message.lengthInBytes;
  return buffer;
}