encodeKey method

  1. @override
String encodeKey(
  1. List<int> pubKey, {
  2. ErgoNetworkTypes netType = ErgoNetworkTypes.mainnet,
})
override

Encodes a public key into an Ergo address.

Implementation

@override
String encodeKey(
  List<int> pubKey, {
  ErgoNetworkTypes netType = ErgoNetworkTypes.mainnet,
}) {
  final pubKeyObj = AddrKeyValidator.validateAndGetSecp256k1Key(pubKey);
  final pubKeyBytes = pubKeyObj.compressed;

  final prefixByte = _ErgoAddrUtils.encodePrefix(
    ErgoAddressTypes.p2pkh,
    netType,
  );

  final addrPayloadBytes = [...prefixByte, ...pubKeyBytes];
  final checksum = _ErgoAddrUtils.computeChecksum(addrPayloadBytes);

  return Base58Encoder.encode([...addrPayloadBytes, ...checksum]);
}