From 71ede291d24bdb9f61b60b8108632d3a6f57342e Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 29 May 2024 13:22:23 +0400 Subject: [PATCH] cl/noir: mv noir_constraint wrapper into cl/constraints/... --- coordination-layer/constraints/__init__.py | 3 ++- coordination-layer/constraints/bigger.py | 2 +- coordination-layer/constraints/constraint.py | 4 +++- .../{ => constraints}/noir_constraint.py | 7 +++++-- .../{ => constraints}/test_noir_constraint.py | 2 +- coordination-layer/constraints/vacuous.py | 10 ++++------ coordination-layer/note.py | 2 ++ 7 files changed, 18 insertions(+), 12 deletions(-) rename coordination-layer/{ => constraints}/noir_constraint.py (96%) rename coordination-layer/{ => constraints}/test_noir_constraint.py (93%) diff --git a/coordination-layer/constraints/__init__.py b/coordination-layer/constraints/__init__.py index 6397f98..217297c 100644 --- a/coordination-layer/constraints/__init__.py +++ b/coordination-layer/constraints/__init__.py @@ -1,2 +1,3 @@ -from .constraint import Constraint +from .constraint import Constraint, Proof + from .vacuous import Vacuous diff --git a/coordination-layer/constraints/bigger.py b/coordination-layer/constraints/bigger.py index 1f4f81d..036be8e 100644 --- a/coordination-layer/constraints/bigger.py +++ b/coordination-layer/constraints/bigger.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from noir_constraint import NoirConstraint, NoirProof +from .noir_constraint import NoirConstraint, NoirProof @dataclass diff --git a/coordination-layer/constraints/constraint.py b/coordination-layer/constraints/constraint.py index 17eb8ac..1f0d0a8 100644 --- a/coordination-layer/constraints/constraint.py +++ b/coordination-layer/constraints/constraint.py @@ -7,7 +7,9 @@ The logic of a constraint is implemented in a ZK Circuit, and then wrapped in a for interacting with the rest of the the system. """ -from dataclasses import dataclass + +class Proof: + pass class Constraint: diff --git a/coordination-layer/noir_constraint.py b/coordination-layer/constraints/noir_constraint.py similarity index 96% rename from coordination-layer/noir_constraint.py rename to coordination-layer/constraints/noir_constraint.py index b9e370e..0cbe286 100644 --- a/coordination-layer/noir_constraint.py +++ b/coordination-layer/constraints/noir_constraint.py @@ -17,7 +17,10 @@ import portalocker import tempfile import toml -NOIR_DIR = Path(__file__).resolve().parent / "noir" + +from constraints import Proof + +NOIR_DIR = Path(__file__).resolve().parent.parent / "noir" LOCK_FILE = NOIR_DIR / ".CL.lock" CONSTRAINTS_DIR = NOIR_DIR / "crates" @@ -25,7 +28,7 @@ NARGO = sh.Command("nargo") @dataclass -class NoirProof: +class NoirProof(Proof): proof: str diff --git a/coordination-layer/test_noir_constraint.py b/coordination-layer/constraints/test_noir_constraint.py similarity index 93% rename from coordination-layer/test_noir_constraint.py rename to coordination-layer/constraints/test_noir_constraint.py index 101783a..4b0c026 100644 --- a/coordination-layer/test_noir_constraint.py +++ b/coordination-layer/constraints/test_noir_constraint.py @@ -1,6 +1,6 @@ from unittest import TestCase -from noir_constraint import NoirConstraint +from .noir_constraint import NoirConstraint class TestNoirCoinstraint(TestCase): diff --git a/coordination-layer/constraints/vacuous.py b/coordination-layer/constraints/vacuous.py index 76a3358..91756d1 100644 --- a/coordination-layer/constraints/vacuous.py +++ b/coordination-layer/constraints/vacuous.py @@ -1,6 +1,4 @@ -from noir_constraint import NoirProof - -from constraints import Constraint +from constraints import Constraint, Proof from crypto import Field @@ -13,8 +11,8 @@ class Vacuous(Constraint): # chosen by a fair 2**64 sided die. return Field(14500592324922987342) - def prove(self) -> NoirProof: - return NoirProof("vacuous") + def prove(self) -> Proof: + return Proof() - def verify(self, _proof: NoirProof): + def verify(self, _proof: Proof): return True diff --git a/coordination-layer/note.py b/coordination-layer/note.py index 5fdea46..c966609 100644 --- a/coordination-layer/note.py +++ b/coordination-layer/note.py @@ -13,6 +13,7 @@ from crypto import ( from constraints import Constraint +# TODO: is this used? @dataclass class NoteCommitment: cm: Field @@ -20,6 +21,7 @@ class NoteCommitment: zero: Field +# TODO: is this used? @dataclass class Nullifier: nf: bytes