deserialize method
Implementation
@override
EmbeddedAccountAddressRestrictionTransactionV1 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 restrictionFlags = AccountRestrictionFlags().deserialize(buffer);
buffer = buffer.sublist(restrictionFlags.size);
var restrictionAdditionsCount = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
var restrictionDeletionsCount = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
var accountRestrictionTransactionBodyReserved_1 =
bytesToInt(buffer.sublist(0, 4), 4);
buffer = buffer.sublist(4);
if (0 != accountRestrictionTransactionBodyReserved_1) {
throw RangeError(
'Invalid value of reserved field ($accountRestrictionTransactionBodyReserved_1)');
}
var restrictionAdditions = ArrayHelpers.readArrayCount(
buffer, UnresolvedAddress(), restrictionAdditionsCount)
.map((item) => item as UnresolvedAddress)
.toList();
buffer = buffer.sublist(ArrayHelpers.size(restrictionAdditions));
var restrictionDeletions = ArrayHelpers.readArrayCount(
buffer, UnresolvedAddress(), restrictionDeletionsCount)
.map((item) => item as UnresolvedAddress)
.toList();
buffer = buffer.sublist(ArrayHelpers.size(restrictionDeletions));
var instance = EmbeddedAccountAddressRestrictionTransactionV1(
signerPublicKey: signerPublicKey,
version: version,
network: network,
type: type,
restrictionFlags: restrictionFlags,
restrictionAdditions: restrictionAdditions,
restrictionDeletions: restrictionDeletions,
);
return instance;
}