fromBase58 method
Implementation
String fromBase58() {
const String base58Alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
BigInt intData = BigInt.zero;
for (String char in split("")) {
final int index = base58Alphabet.indexOf(char);
if (index < 0) throw FormatException("Invalid Base58 character: $char");
intData = intData * BigInt.from(58) + BigInt.from(index);
}
final List<int> bytes = <int>[];
while (intData > BigInt.zero) {
bytes.insert(0, (intData % BigInt.from(256)).toInt());
intData = intData ~/ BigInt.from(256);
}
for (String char in split("")) {
if (char == "1") {
bytes.insert(0, 0);
} else {
break;
}
}
return utf8.decode(bytes);
}