encodeKey method
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);
}