getPublicFromMainnetAddress function
Implementation
Uint8List? getPublicFromMainnetAddress(String address) {
try {
if (!address.startsWith(kMainAddressPrefix)) {
return null;
}
final data = base58.decode(address.substring(kMainAddressPrefix.length));
if (data.length != 68) {
return null;
}
final payload = Uint8List.sublistView(data, 0, data.length - 4);
final msg = Uint8List.fromList([
...utf8.encode(kMainAddressPrefix),
...payload,
]);
final checksum = sha3Hash(msg);
if (!Uint8List.sublistView(checksum, 0, 4)
.equals(Uint8List.sublistView(data, 64))) {
return null;
}
return Uint8List.fromList(payload);
} catch (_) {
return null;
}
}