encodeKey method
String
encodeKey(
- List<
int> pubKey, { - EllipticCurveTypes pubKeyType = EllipticCurveTypes.secp256k1,
override
Encodes a Ripple (XRP) public key as a blockchain address.
Implementation
@override
String encodeKey(
List<int> pubKey, {
EllipticCurveTypes pubKeyType = EllipticCurveTypes.secp256k1,
}) {
if ((pubKeyType != EllipticCurveTypes.secp256k1 &&
pubKeyType != EllipticCurveTypes.ed25519)) {
throw AddressConverterException.addressKeyValidationFailed(
reason: "Unsupported ${pubKeyType.name} public key.",
);
}
if (pubKeyType == EllipticCurveTypes.secp256k1) {
return P2PKHAddrEncoder().encodeKey(
pubKey,
alphabet: Base58Alphabets.ripple,
netVersion: AddrKeyValidator.getConfigArg<List<int>>(
CoinsConf.ripple.params.p2pkhNetVer,
"p2pkhNetVer",
),
);
}
AddrKeyValidator.validateAndGetEd25519Key(pubKey);
return XRPAddressUtils._toAddress(pubKey);
}