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 + height.size, height.serialize());
	currentPos += height.size;
	buffer.setRange(currentPos, currentPos + timestamp.size, timestamp.serialize());
	currentPos += timestamp.size;
	buffer.setRange(currentPos, currentPos + difficulty.size, difficulty.serialize());
	currentPos += difficulty.size;
	buffer.setRange(currentPos, currentPos + generationHashProof.size, generationHashProof.serialize());
	currentPos += generationHashProof.size;
	buffer.setRange(currentPos, currentPos + previousBlockHash.size, previousBlockHash.serialize());
	currentPos += previousBlockHash.size;
	buffer.setRange(currentPos, currentPos + transactionsHash.size, transactionsHash.serialize());
	currentPos += transactionsHash.size;
	buffer.setRange(currentPos, currentPos + receiptsHash.size, receiptsHash.serialize());
	currentPos += receiptsHash.size;
	buffer.setRange(currentPos, currentPos + stateHash.size, stateHash.serialize());
	currentPos += stateHash.size;
	buffer.setRange(currentPos, currentPos + beneficiaryAddress.size, beneficiaryAddress.serialize());
	currentPos += beneficiaryAddress.size;
	buffer.setRange(currentPos, currentPos + feeMultiplier.size, feeMultiplier.serialize());
	currentPos += feeMultiplier.size;
	buffer.setRange(currentPos, currentPos + 4, intToBytes(blockHeaderReserved_1, 4));
	currentPos += 4;
	sort();
	var res_transactions = ArrayHelpers.writeVariableSizeElements(buffer, transactions, 8, currentPos, true);
	currentPos = res_transactions.item2;
	buffer = res_transactions.item1;
	return buffer;
}