client.hpp 583 B

123456789101112131415161718192021
  1. #ifndef __PRSONA_CLIENT_HPP
  2. #define __PRSONA_CLIENT_HPP
  3. class PrsonaClient {
  4. public:
  5. PrsonaClient();
  6. void receive_score(Ciphertext score, Proof pi, Scalar newSeed);
  7. void make_vote(vector<Scalar> vote);
  8. void use_reputation();
  9. bool verify_reputation_proof(Proof pi, PrsonaPublicKey shortTermPublicKey);
  10. private:
  11. PrsonaPrivateKey longTermPrivateKey;
  12. BGNPublicKey serverPublicKey;
  13. Scalar currentFreshPseudonymSeed;
  14. Proof generate_vote_proof(Scalar vote);
  15. Proof generate_usage_proof();
  16. };
  17. #endif