encodeKey method
String
encodeKey(
- List<
int> pubKey, { - List<
int> ? pubSkey, - ADANetwork network = ADANetwork.mainnet,
override
Blockchain address encoder for Ada Shelley addresses. This encoder is used to create addresses based on public and private key pairs.
Implementation
@override
String encodeKey(
List<int> pubKey, {
List<int>? pubSkey,
ADANetwork network = ADANetwork.mainnet,
}) {
/// Extract the public spending key (pub_skey) from the arguments.
pubSkey = AddrKeyValidator.getAddrArg<List<int>>(pubSkey, "pubKey");
/// Validate and retrieve public keys.
final pubKeyObj = AddrKeyValidator.validateAndGetEd25519Key(pubKey);
final pubSkeyObj = AddrKeyValidator.validateAndGetEd25519Key(pubSkey);
// Compute key hashes for public spending and public delegation keys.
final pubKeyHash = AdaShelleyAddrUtils.keyHash(
pubKeyObj.compressed.sublist(1),
);
final pubSkeyHash = AdaShelleyAddrUtils.keyHash(
pubSkeyObj.compressed.sublist(1),
);
return AdaShelleyAddrUtils.encode(
credential: AdaStakeCredential(
hash: pubKeyHash,
type: AdaStakeCredType.key,
),
network: network,
hrp: AdaShelleyAddrUtils.getAddressHrp(network),
stakeCredential: AdaStakeCredential(
hash: pubSkeyHash,
type: AdaStakeCredType.key,
),
type: ADAAddressType.base,
);
}