deserialize method
Implementation
@override
EmbeddedTransferTransactionV1 deserialize(Uint8List payload) {
var buffer = payload;
var size = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(0, size);
buffer = buffer.sublist(4);
var embeddedTransactionHeaderReserved_1 = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != embeddedTransactionHeaderReserved_1) {
throw RangeError('Invalid value of reserved field ($embeddedTransactionHeaderReserved_1)');
}
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 recipientAddress = UnresolvedAddress().deserialize(buffer);
buffer = buffer.sublist(recipientAddress.size);
var messageSize = bytesToInt(buffer.sublist(0, 2), 2);
buffer = buffer.sublist(2);
var mosaicsCount = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
var transferTransactionBodyReserved_1 = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
if (0 != transferTransactionBodyReserved_1) {
throw RangeError('Invalid value of reserved field ($transferTransactionBodyReserved_1)');
}
var transferTransactionBodyReserved_2 = bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != transferTransactionBodyReserved_2) {
throw RangeError('Invalid value of reserved field ($transferTransactionBodyReserved_2)');
}
var mosaics = ArrayHelpers.readArrayCount(buffer, UnresolvedMosaic(), mosaicsCount, (e) { return ArrayHelpers.getValue(e.mosaicId);}).map((item) => item as UnresolvedMosaic).toList();
buffer = buffer.sublist(ArrayHelpers.size(mosaics));
var message = Uint8List.fromList(buffer.sublist(0, messageSize));
buffer = buffer.sublist(messageSize);
var instance = EmbeddedTransferTransactionV1(
signerPublicKey: signerPublicKey,
version: version,
network: network,
type: type,
recipientAddress: recipientAddress,
mosaics: mosaics,
message: message,
);
return instance;
}