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;
}