Base58Address.fromString constructor

Base58Address.fromString(
  1. String encoded,
  2. Network network
)

Implementation

factory Base58Address.fromString(String encoded, Network network) {

  final data = base58Decode(encoded);
  if (data.length != 21) throw InvalidAddress();

  final version = data.first;
  final payload = data.sublist(1);

  late Base58Address addr;
  if (version == network.p2pkhPrefix) {
    addr = P2PKHAddress.fromHash(payload, version: version);
  } else if (version == network.p2shPrefix) {
    addr = P2SHAddress.fromHash(payload, version: version);
  } else {
    throw InvalidAddressNetwork();
  }

  addr._encodedCache = encoded;
  return addr;

}