encodeKey method

  1. @override
String encodeKey(
  1. List<int> pubKey, {
  2. ADANetwork network = ADANetwork.mainnet,
  3. Pointer? pointer,
})
override

Encodes a public key or address bytes into a blockchain address.

Implementation

@override
String encodeKey(
  List<int> pubKey, {
  ADANetwork network = ADANetwork.mainnet,
  Pointer? pointer,
}) {
  // final pointer = AddrKeyValidator.getAddrArg<Pointer>(pointer, "pointer");

  /// Validate and retrieve public keys.
  final pubKeyObj = AddrKeyValidator.validateAndGetEd25519Key(pubKey);
  // Compute key hashes for public spending and public delegation keys.
  final pubKeyHash = AdaShelleyAddrUtils.keyHash(
    pubKeyObj.compressed.sublist(1),
  );
  return AdaShelleyAddrUtils.encode(
    credential: AdaStakeCredential(
      hash: pubKeyHash,
      type: AdaStakeCredType.key,
    ),
    network: network,
    pointer: AddrKeyValidator.getAddrArg<Pointer>(pointer, "pointer"),
    hrp: AdaShelleyAddrUtils.getAddressHrp(network),
    type: ADAAddressType.pointer,
  );
}