fromAddress<T extends ADAAddress> static method

T fromAddress<T extends ADAAddress>(
  1. String address, {
  2. ADANetwork? network,
})

Factory method to create an ADAAddress instance from a given address string.

Implementation

static T fromAddress<T extends ADAAddress>(String address,
    {ADANetwork? network}) {
  final type = AdaAddressUtils.findAddrType(address);
  final ADAAddress addr;
  switch (type) {
    case ADAAddressType.base:
      addr = ADABaseAddress(address, network: network);
      break;
    case ADAAddressType.pointer:
      addr = ADAPointerAddress(address, network: network);
      break;
    case ADAAddressType.reward:
      addr = ADARewardAddress(address, network: network);
      break;
    case ADAAddressType.enterprise:
      addr = ADAEnterpriseAddress(address, network: network);
      break;
    default:
      addr = ADAByronAddress(address, network: network);
      break;
  }
  if (addr is! T) {
    throw MessageException("Invalid address type.", details: {
      "Excepted": "$T",
      "Type": addr.runtimeType,
      "address": addr.address
    });
  }
  return addr;
}