checkStandardBase32 function

bool checkStandardBase32(
  1. String address
)

Check base32 address, such as bitcoincash.

Implementation

bool checkStandardBase32(String address) {
  try {
    String addressData = address;
    if (address.startsWith('bitcoincash:'))
      addressData = address.substring(address.indexOf(':') + 1);

    // Basic validation: CashAddr addresses should be at least 14 characters
    if (addressData.length < 14) {
      return false;
    }

    final decoded = Base32.decode(addressData).toUint8List();
    final addressEncode = Base32.encode(decoded);
    return addressEncode == addressData;
  } catch (error) {
    return false;
  }
}