encodeKey method

  1. @override
String encodeKey(
  1. List<int> pubKey, {
  2. bool skipChecksum = false,
})
override

Encodes a public key as an Ethereum address.

Implementation

@override
String encodeKey(List<int> pubKey, {bool skipChecksum = false}) {
  final IPublicKey pubKeyObj = AddrKeyValidator.validateAndGetSecp256k1Key(
    pubKey,
  );
  final String kekkakHex = BytesUtils.toHexString(
    QuickCrypto.keccack256Hash(pubKeyObj.uncompressed.sublist(1)),
  );
  final String addr = kekkakHex.substring(EthAddrConst.startByte);
  if (skipChecksum) {
    return addr;
  }
  return AddrKeyValidator.getConfigArg(
        CoinsConf.ethereum.params.addrPrefix,
        "addrPrefix",
      ) +
      EthAddrUtils._checksumEncode(addr);
}