createByName method

ISerializable createByName(
  1. String entityName
)

Implementation

ISerializable createByName(String entityName) {
  var mapping = <String, ISerializable Function()>{
    'account_key_link_transaction_v1': () => AccountKeyLinkTransactionV1(),
    'node_key_link_transaction_v1': () => NodeKeyLinkTransactionV1(),
    'aggregate_complete_transaction_v1': () =>
        AggregateCompleteTransactionV1(),
    'aggregate_complete_transaction_v2': () =>
        AggregateCompleteTransactionV2(),
    'aggregate_complete_transaction_v3': () =>
        AggregateCompleteTransactionV3(),
    'aggregate_bonded_transaction_v1': () => AggregateBondedTransactionV1(),
    'aggregate_bonded_transaction_v2': () => AggregateBondedTransactionV2(),
    'aggregate_bonded_transaction_v3': () => AggregateBondedTransactionV3(),
    'voting_key_link_transaction_v1': () => VotingKeyLinkTransactionV1(),
    'vrf_key_link_transaction_v1': () => VrfKeyLinkTransactionV1(),
    'hash_lock_transaction_v1': () => HashLockTransactionV1(),
    'secret_lock_transaction_v1': () => SecretLockTransactionV1(),
    'secret_proof_transaction_v1': () => SecretProofTransactionV1(),
    'account_metadata_transaction_v1': () => AccountMetadataTransactionV1(),
    'mosaic_metadata_transaction_v1': () => MosaicMetadataTransactionV1(),
    'namespace_metadata_transaction_v1': () =>
        NamespaceMetadataTransactionV1(),
    'mosaic_definition_transaction_v1': () => MosaicDefinitionTransactionV1(),
    'mosaic_supply_change_transaction_v1': () =>
        MosaicSupplyChangeTransactionV1(),
    'mosaic_supply_revocation_transaction_v1': () =>
        MosaicSupplyRevocationTransactionV1(),
    'multisig_account_modification_transaction_v1': () =>
        MultisigAccountModificationTransactionV1(),
    'address_alias_transaction_v1': () => AddressAliasTransactionV1(),
    'mosaic_alias_transaction_v1': () => MosaicAliasTransactionV1(),
    'namespace_registration_transaction_v1': () =>
        NamespaceRegistrationTransactionV1(),
    'account_address_restriction_transaction_v1': () =>
        AccountAddressRestrictionTransactionV1(),
    'account_mosaic_restriction_transaction_v1': () =>
        AccountMosaicRestrictionTransactionV1(),
    'account_operation_restriction_transaction_v1': () =>
        AccountOperationRestrictionTransactionV1(),
    'mosaic_address_restriction_transaction_v1': () =>
        MosaicAddressRestrictionTransactionV1(),
    'mosaic_global_restriction_transaction_v1': () =>
        MosaicGlobalRestrictionTransactionV1(),
    'transfer_transaction_v1': () => TransferTransactionV1()
  };

  if (!mapping.containsKey(entityName)) {
    throw Exception('Unknown Transaction type $entityName');
  }

  return mapping[entityName]!();
}