decode static method

AtomAddressDecodeResult decode(
  1. String address, {
  2. String? hrp,
})

Implementation

static AtomAddressDecodeResult decode(String address, {String? hrp}) {
  try {
    final decode = Bech32Decoder.decodeWithoutHRP(address);
    if (hrp != null && hrp != decode.$1) {
      throw AddressConverterException.addressValidationFailed(
        reason: "Invalid hrp.",
        details: {"hrp": decode.$1, "excepted": hrp},
      );
    }
    final addressBytes = decode.$2;
    validateAddressBytes(addressBytes);
    return AtomAddressDecodeResult(hrp: decode.$1, bytes: addressBytes);
  } on AddressConverterException {
    rethrow;
  } catch (e) {
    throw AddressConverterException.addressValidationFailed(
      details: {"address": address, "error": e.toString()},
    );
  }
}