base58CheckDecode function

Uint8List base58CheckDecode(
  1. String input
)

Decodes given input with check of 4 bytes of Sha256 checksum

Implementation

Uint8List base58CheckDecode(String input) {
  final data = base58Bitcoin.decode(input);
  final payload = data.sublist(0, data.length - 4);
  final checksum = data.sublist(data.length - 4);
  final newChecksum = _doubleSha256(payload);
  if (checksum[0] != newChecksum[0] ||
      checksum[1] != newChecksum[1] ||
      checksum[2] != newChecksum[2] ||
      checksum[3] != newChecksum[3]) {
    throw ArgumentError("Invalid checksum");
  }
  return payload;
}