deserialize method
Implementation
@override
AggregateCompleteTransactionV2 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 = TransactionType().deserialize(buffer);
buffer = buffer.sublist(type.size);
var fee = Amount().deserialize(buffer);
buffer = buffer.sublist(fee.size);
var deadline = Timestamp().deserialize(buffer);
buffer = buffer.sublist(deadline.size);
var transactionsHash = Hash256().deserialize(buffer);
buffer = buffer.sublist(transactionsHash.size);
var payloadSize = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
var aggregateTransactionHeaderReserved_1 = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != aggregateTransactionHeaderReserved_1) {
throw RangeError('Invalid value of reserved field ($aggregateTransactionHeaderReserved_1)');
}
var transactions = ArrayHelpers.readVariableSizeElements(buffer.sublist(0, payloadSize), EmbeddedTransactionFactory(), 8, false).map((item) => item as IInnerTransaction).toList();
buffer = buffer.sublist(payloadSize);
var cosignatures = ArrayHelpers.readArray(buffer, Cosignature()).map((item) => item as Cosignature).toList();
buffer = buffer.sublist(ArrayHelpers.size(cosignatures));
var instance = AggregateCompleteTransactionV2(
signature: signature,
signerPublicKey: signerPublicKey,
version: version,
network: network,
type: type,
fee: fee,
deadline: deadline,
transactionsHash: transactionsHash,
transactions: transactions,
cosignatures: cosignatures,
);
return instance;
}