generate static method

ETHAddress generate(
  1. Uint8List fingerprint
)

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');
}