rewrite Bigger constraint as a dataclass
This commit is contained in:
parent
25c52d81b0
commit
211a543513
|
@ -1,13 +1,21 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
from noir_constraint import NoirConstraint, NoirProof
|
||||
|
||||
|
||||
@dataclass
|
||||
class Bigger:
|
||||
def __init__(self, y: int):
|
||||
self.y = y
|
||||
self.noir = NoirConstraint("bigger")
|
||||
"""
|
||||
The statement "I know an `x` that is bigger than `y`".
|
||||
- `y` is a public parameter provided when the constraint is initialized
|
||||
- `x` is a secret parameter provided at proving time
|
||||
"""
|
||||
|
||||
y: int
|
||||
_noir = NoirConstraint("bigger")
|
||||
|
||||
def prove(self, x: int) -> NoirProof:
|
||||
return self.noir.prove({"x": str(x), "y": str(self.y)})
|
||||
return self._noir.prove({"x": str(x), "y": str(self.y)})
|
||||
|
||||
def verify(self, proof):
|
||||
return self.noir.verify({"y": str(self.y)}, proof)
|
||||
def verify(self, proof: NoirProof):
|
||||
return self._noir.verify({"y": str(self.y)}, proof)
|
||||
|
|
Loading…
Reference in New Issue