AptosCryptoPublicKey<PUBLICKEY extends IPublicKey>.fromBytes constructor

AptosCryptoPublicKey<PUBLICKEY extends IPublicKey>.fromBytes({
  1. required List<int> publicKeyBytes,
  2. required EllipticCurveTypes algorithm,
})

Implementation

factory AptosCryptoPublicKey.fromBytes(
    {required List<int> publicKeyBytes,
    required EllipticCurveTypes algorithm}) {
  final AptosCryptoPublicKey publicKey;
  switch (algorithm) {
    case EllipticCurveTypes.ed25519:
      publicKey = AptosED25519PublicKey.fromBytes(publicKeyBytes);
      break;
    case EllipticCurveTypes.secp256k1:
      publicKey = AptosSecp256k1PublicKey.fromBytes(publicKeyBytes);
      break;
    default:
      throw DartAptosPluginException("Unsuported public key algorithm.",
          details: {
            "type": algorithm.name,
            "expected": "ED25519, Secp256k1"
          });
  }
  return publicKey.cast();
}