checkAlgoAddress static method

bool checkAlgoAddress(
  1. String address,
  2. dynamic conf
)

Implementation

static bool checkAlgoAddress(String address, conf) {
  if (!RegExp(conf.regExp).hasMatch(address.toLowerCase())) return false;

  final base32Data = Base32.decode(
    address.toLowerCase(),
    type: Base32Type.RFC4648,
  );
  final data = base32Data.sublist(0, base32Data.length - 4);
  final checkSum = base32Data.sublist(base32Data.length - 4);
  final sha512data = getSHA512256(data.toUint8List());
  final dataCheckSum = sha512data.sublist(sha512data.length - 4);
  if (checkSum.toStr() != dataCheckSum.toStr()) return false;

  return true;
}