From 00bb7493c8ad6aecb409ded2153df529eac8a794 Mon Sep 17 00:00:00 2001 From: biloute02 Date: Thu, 4 Jul 2024 12:35:01 +0200 Subject: [PATCH] New models Proof and Elector use by emerging_list and proof_list. --- source/models/Elector.py | 27 +++++++++++++++++++++++++++ source/models/Proof.py | 19 +++++++++++++++++++ source/models/__init__.py | 0 3 files changed, 46 insertions(+) create mode 100644 source/models/Elector.py create mode 100644 source/models/Proof.py create mode 100644 source/models/__init__.py 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("