class SecureScuttlebuttHandshakeClient {

  public static SecureScuttlebuttHandshakeClient fromInvite(Bytes32 networkIdentifier, Invite invite) {
    if (!Identity.Curve.Ed25519.equals(invite.identity().curve())) {
      throw new IllegalArgumentException("Only ed25519 keys are supported");
    }
    return new SecureScuttlebuttHandshakeClient(
        Signature.KeyPair.forSecretKey(invite.secretKey()),
        networkIdentifier,
        invite.identity().ed25519PublicKey());
  }

  private  SecureScuttlebuttHandshakeClient(
      Signature.KeyPair longTermKeyPair,
      Bytes32 networkIdentifier,
      Signature.PublicKey serverLongTermPublicKey);

}