deserialize method
Implementation
@override
Block deserialize(Uint8List payload) {
var buffer = payload;
var size = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(0, size);
buffer = buffer.sublist(4);
var verifiableEntityHeaderReserved_1 = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != verifiableEntityHeaderReserved_1) {
throw RangeError('Invalid value of reserved field ($verifiableEntityHeaderReserved_1)');
}
var signature = Signature().deserialize(buffer);
buffer = buffer.sublist(signature.size);
var signerPublicKey = PublicKey().deserialize(buffer);
buffer = buffer.sublist(signerPublicKey.size);
var entityBodyReserved_1 = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != entityBodyReserved_1) {
throw RangeError('Invalid value of reserved field ($entityBodyReserved_1)');
}
var version = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
var network = NetworkType().deserialize(buffer);
buffer = buffer.sublist(network.size);
var type = BlockType().deserialize(buffer);
buffer = buffer.sublist(type.size);
var height = Height().deserialize(buffer);
buffer = buffer.sublist(height.size);
var timestamp = Timestamp().deserialize(buffer);
buffer = buffer.sublist(timestamp.size);
var difficulty = Difficulty().deserialize(buffer);
buffer = buffer.sublist(difficulty.size);
var generationHashProof = VrfProof().deserialize(buffer);
buffer = buffer.sublist(generationHashProof.size);
var previousBlockHash = Hash256().deserialize(buffer);
buffer = buffer.sublist(previousBlockHash.size);
var transactionsHash = Hash256().deserialize(buffer);
buffer = buffer.sublist(transactionsHash.size);
var receiptsHash = Hash256().deserialize(buffer);
buffer = buffer.sublist(receiptsHash.size);
var stateHash = Hash256().deserialize(buffer);
buffer = buffer.sublist(stateHash.size);
var beneficiaryAddress = Address().deserialize(buffer);
buffer = buffer.sublist(beneficiaryAddress.size);
var feeMultiplier = BlockFeeMultiplier().deserialize(buffer);
buffer = buffer.sublist(feeMultiplier.size);
var instance = Block(
signature: signature,
signerPublicKey: signerPublicKey,
version: version,
network: network,
type: type,
height: height,
timestamp: timestamp,
difficulty: difficulty,
generationHashProof: generationHashProof,
previousBlockHash: previousBlockHash,
transactionsHash: transactionsHash,
receiptsHash: receiptsHash,
stateHash: stateHash,
beneficiaryAddress: beneficiaryAddress,
feeMultiplier: feeMultiplier,
);
return instance;
}