generate static method
Generate ETH address with key.data
@param fingerprint = key.data @return Address object
Implementation
static ETHAddress generate(Uint8List fingerprint) {
if (fingerprint.length == 65) {
// skip first char
fingerprint = fingerprint.sublist(1);
}
assert(fingerprint.length == 64, 'key data error: ${fingerprint.length}');
// 1. digest = keccak256(fingerprint);
Uint8List digest = Keccak256.digest(fingerprint);
// 2. address = hex_encode(digest.suffix(20));
Uint8List tail = digest.sublist(digest.length - 20);
String address = _ETH.eip55(Hex.encode(tail));
return ETHAddress('0x$address');
}