diff --git a/source/models/Elector.py b/source/models/Elector.py new file mode 100644 index 0000000..eaa412e --- /dev/null +++ b/source/models/Elector.py @@ -0,0 +1,27 @@ +from dataclasses import dataclass + + +@dataclass +class Elector: + # [ + # { + # "name": "Bob", + # "votant": (pub_key_bob, Hash(empreinte_bob)), + # "mandataire": None, + # }, + # { + # "name": "Alice", + # "votant": (pub_key_alice, Hash(empreinte_alice)), + # "mandataire": (pub_key_Eve, Hash(empreinte_eve)), # Eve peut voter pour Alice. + # } + # ] + + name: str + public_key_elector: bytes + hashed_fingerprint_elector: bytes + public_key_mandataire: bytes = b"" + hashed_fingerprint_mandataire: bytes = b"" + + def set_mandataire(self, public_key: bytes, hashed_fingerprint: bytes): + self.public_key_mandataire = public_key + self.hashed_fingerprint_mandataire = hashed_fingerprint diff --git a/source/models/Proof.py b/source/models/Proof.py new file mode 100644 index 0000000..38699ae --- /dev/null +++ b/source/models/Proof.py @@ -0,0 +1,19 @@ +from dataclasses import dataclass +from datetime import datetime + +import struct + + +@dataclass +class Proof: + + date: datetime + public_key_votant: bytes + public_key_mandataire: bytes + proof_signature: bytes + + def to_bytes(self): + struct.pack("