deserialize method

  1. @override
dynamic deserialize(
  1. 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]');
  }
}