serialize method

  1. @override
Uint8List serialize()
override

Implementation

@override
Uint8List serialize() {
	var buffer = Uint8List(size);
	var currentPos = 0;
	buffer.setRange(currentPos, currentPos + type.size, type.serialize());
	currentPos += type.size;
	buffer.setRange(currentPos, currentPos + 1, intToBytes(version, 1));
	currentPos += 1;
	buffer.setRange(currentPos, currentPos + 2, intToBytes(entityBodyReserved_1, 2));
	currentPos += 2;
	buffer.setRange(currentPos, currentPos + network.size, network.serialize());
	currentPos += network.size;
	buffer.setRange(currentPos, currentPos + timestamp.size, timestamp.serialize());
	currentPos += timestamp.size;
	buffer.setRange(currentPos, currentPos + 4, intToBytes(signerPublicKeySize, 4));
	currentPos += 4;
	buffer.setRange(currentPos, currentPos + signerPublicKey.size, signerPublicKey.serialize());
	currentPos += signerPublicKey.size;
	buffer.setRange(currentPos, currentPos + 4, intToBytes(signatureSize, 4));
	currentPos += 4;
	buffer.setRange(currentPos, currentPos + signature.size, signature.serialize());
	currentPos += signature.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 + 4, intToBytes(innerTransaction.size, 4));
	currentPos += 4;
	buffer.setRange(currentPos, currentPos + innerTransaction.size, innerTransaction.serialize());
	currentPos += innerTransaction.size;
	buffer.setRange(currentPos, currentPos + 4, intToBytes(cosignatures.length, 4));
	currentPos += 4;
	sort();
	var res_cosignatures = ArrayHelpers.writeArray(buffer, cosignatures, currentPos);
	currentPos = res_cosignatures.item2;
	buffer = res_cosignatures.item1;
	return buffer;
}