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;
  if (NamespaceRegistrationType.ROOT.value == registrationType.value) {
    buffer.setRange(
        currentPos, currentPos + duration.size, duration.serialize());
    currentPos += duration.size;
  }
  if (NamespaceRegistrationType.CHILD.value == registrationType.value) {
    buffer.setRange(
        currentPos, currentPos + parentId!.size, parentId!.serialize());
    currentPos += parentId!.size;
  }
  buffer.setRange(currentPos, currentPos + id.size, id.serialize());
  currentPos += id.size;
  buffer.setRange(currentPos, currentPos + registrationType.size,
      registrationType.serialize());
  currentPos += registrationType.size;
  buffer.setRange(currentPos, currentPos + 1, intToBytes(name.length, 1));
  currentPos += 1;
  buffer.setRange(currentPos, currentPos + name.lengthInBytes, name);
  currentPos += name.lengthInBytes;
  return buffer;
}