deserialize method
dynamic
deserialize(
- dynamic payload
)
override
Implementation
@override
dynamic deserialize(dynamic payload) {
if (payload is String) {
tryHexString(payload);
payload = hexToBytes(payload);
}
Uint8List buffer = payload;
var parent = EmbeddedTransaction().deserialize(buffer);
var mapping = <(int, int), ISerializable>{
(
EmbeddedAccountKeyLinkTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAccountKeyLinkTransactionV1.TRANSACTION_VERSION
): EmbeddedAccountKeyLinkTransactionV1(),
(
EmbeddedNodeKeyLinkTransactionV1.TRANSACTION_TYPE.value,
EmbeddedNodeKeyLinkTransactionV1.TRANSACTION_VERSION
): EmbeddedNodeKeyLinkTransactionV1(),
(
EmbeddedVotingKeyLinkTransactionV1.TRANSACTION_TYPE.value,
EmbeddedVotingKeyLinkTransactionV1.TRANSACTION_VERSION
): EmbeddedVotingKeyLinkTransactionV1(),
(
EmbeddedVrfKeyLinkTransactionV1.TRANSACTION_TYPE.value,
EmbeddedVrfKeyLinkTransactionV1.TRANSACTION_VERSION
): EmbeddedVrfKeyLinkTransactionV1(),
(
EmbeddedHashLockTransactionV1.TRANSACTION_TYPE.value,
EmbeddedHashLockTransactionV1.TRANSACTION_VERSION
): EmbeddedHashLockTransactionV1(),
(
EmbeddedSecretLockTransactionV1.TRANSACTION_TYPE.value,
EmbeddedSecretLockTransactionV1.TRANSACTION_VERSION
): EmbeddedSecretLockTransactionV1(),
(
EmbeddedSecretProofTransactionV1.TRANSACTION_TYPE.value,
EmbeddedSecretProofTransactionV1.TRANSACTION_VERSION
): EmbeddedSecretProofTransactionV1(),
(
EmbeddedAccountMetadataTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAccountMetadataTransactionV1.TRANSACTION_VERSION
): EmbeddedAccountMetadataTransactionV1(),
(
EmbeddedMosaicMetadataTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicMetadataTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicMetadataTransactionV1(),
(
EmbeddedNamespaceMetadataTransactionV1.TRANSACTION_TYPE.value,
EmbeddedNamespaceMetadataTransactionV1.TRANSACTION_VERSION
): EmbeddedNamespaceMetadataTransactionV1(),
(
EmbeddedMosaicDefinitionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicDefinitionTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicDefinitionTransactionV1(),
(
EmbeddedMosaicSupplyChangeTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicSupplyChangeTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicSupplyChangeTransactionV1(),
(
EmbeddedMosaicSupplyRevocationTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicSupplyRevocationTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicSupplyRevocationTransactionV1(),
(
EmbeddedMultisigAccountModificationTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMultisigAccountModificationTransactionV1.TRANSACTION_VERSION
): EmbeddedMultisigAccountModificationTransactionV1(),
(
EmbeddedAddressAliasTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAddressAliasTransactionV1.TRANSACTION_VERSION
): EmbeddedAddressAliasTransactionV1(),
(
EmbeddedMosaicAliasTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicAliasTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicAliasTransactionV1(),
(
EmbeddedNamespaceRegistrationTransactionV1.TRANSACTION_TYPE.value,
EmbeddedNamespaceRegistrationTransactionV1.TRANSACTION_VERSION
): EmbeddedNamespaceRegistrationTransactionV1(),
(
EmbeddedAccountAddressRestrictionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAccountAddressRestrictionTransactionV1.TRANSACTION_VERSION
): EmbeddedAccountAddressRestrictionTransactionV1(),
(
EmbeddedAccountMosaicRestrictionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAccountMosaicRestrictionTransactionV1.TRANSACTION_VERSION
): EmbeddedAccountMosaicRestrictionTransactionV1(),
(
EmbeddedAccountOperationRestrictionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedAccountOperationRestrictionTransactionV1.TRANSACTION_VERSION
): EmbeddedAccountOperationRestrictionTransactionV1(),
(
EmbeddedMosaicAddressRestrictionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicAddressRestrictionTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicAddressRestrictionTransactionV1(),
(
EmbeddedMosaicGlobalRestrictionTransactionV1.TRANSACTION_TYPE.value,
EmbeddedMosaicGlobalRestrictionTransactionV1.TRANSACTION_VERSION
): EmbeddedMosaicGlobalRestrictionTransactionV1(),
(
EmbeddedTransferTransactionV1.TRANSACTION_TYPE.value,
EmbeddedTransferTransactionV1.TRANSACTION_VERSION
): EmbeddedTransferTransactionV1()
};
var discriminator = (parent.type.value, parent.version);
if (mapping[discriminator] != null) {
var factory_class = mapping[discriminator]!;
return factory_class.deserialize(buffer);
} else {
throw Exception('Null value found for mapping[discriminator]');
}
}