getAddressFromPrivateKey method
Returns EIP-55 address or null if invalid – never throws
Implementation
String? getAddressFromPrivateKey(String privateKey) {
try {
final trimmed = privateKey.trim();
if (trimmed.isEmpty) return null;
final normalized = trimmed.startsWith('0x') ? trimmed : '0x$trimmed';
if (!RegExp(r'^0x[0-9a-fA-F]{64}$').hasMatch(normalized)) return null;
final credentials = EthPrivateKey.fromHex(normalized);
return credentials.address.hexEip55;
} catch (_) {
return null;
}
}