EOSPublicKey.fromString constructor
EOSPublicKey.fromString(
- String keyStr
Construct EOS public key from string
Implementation
factory EOSPublicKey.fromString(String keyStr) {
RegExp publicRegex = RegExp(r"^PUB_([A-Za-z0-9]+)_([A-Za-z0-9]+)",
caseSensitive: true, multiLine: false);
Iterable<Match> match = publicRegex.allMatches(keyStr);
if (match.isEmpty) {
RegExp eosRegex = RegExp(r"^EOS", caseSensitive: true, multiLine: false);
if (!eosRegex.hasMatch(keyStr)) {
throw InvalidKey("No leading EOS");
}
String publicKeyStr = keyStr.substring(3);
Uint8List buffer = EOSKey.decodeKey(publicKeyStr);
return EOSPublicKey.fromBuffer(buffer);
} else if (match.length == 1) {
Match m = match.first;
String? keyType = m.group(1);
Uint8List buffer = EOSKey.decodeKey(m.group(2)!, keyType);
return EOSPublicKey.fromBuffer(buffer);
} else {
throw InvalidKey('Invalid public key format');
}
}