deserialize method
Implementation
@override
EmbeddedNamespaceRegistrationTransactionV1 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);
// deserialize to temporary buffer for further processing
var durationTemporary = BlockDuration().deserialize(buffer);
var registrationTypeCondition = buffer.sublist(0, durationTemporary.size);
buffer = buffer.sublist(durationTemporary.size);
var id = NamespaceId().deserialize(buffer);
buffer = buffer.sublist(id.size);
var registrationType = NamespaceRegistrationType().deserialize(buffer);
buffer = buffer.sublist(registrationType.size);
var duration = null;
if (NamespaceRegistrationType.ROOT.value == registrationType.value)
{
duration = BlockDuration().deserialize(registrationTypeCondition);
registrationTypeCondition = registrationTypeCondition.sublist(duration.size);
}
var parentId = null;
if (NamespaceRegistrationType.CHILD.value == registrationType.value)
{
parentId = NamespaceId().deserialize(registrationTypeCondition);
registrationTypeCondition = registrationTypeCondition.sublist(parentId.size);
}
var nameSize = bytesToInt(buffer.sublist(0, 1), 1);
buffer = buffer.sublist(1);
var name = Uint8List.fromList(buffer.sublist(0, nameSize));
buffer = buffer.sublist(nameSize);
var instance = EmbeddedNamespaceRegistrationTransactionV1(
signerPublicKey: signerPublicKey,
version: version,
network: network,
type: type,
duration: duration,
parentId: parentId,
id: id,
registrationType: registrationType,
name: name,
);
return instance;
}