diff --git a/cabal.project b/cabal.project index afe9b41..53194bd 100644 --- a/cabal.project +++ b/cabal.project @@ -25,5 +25,5 @@ source-repository-package source-repository-package type: git location: https://github.com/l-adic/arithmetic-circuits.git - tag: 7d06e2b5df24237d8d694ca842ff1cd7e6609b34 + tag: 7323152c3942c546d676ad6dcafe747f88d72663 --sha256: ngh2xhBSAu/2d4KlpCo5Aq8ezd6hX/MoNx26sLJzf0w= diff --git a/circuit/app/Main.hs b/circuit/app/Main.hs index dc666e4..ad97b55 100644 --- a/circuit/app/Main.hs +++ b/circuit/app/Main.hs @@ -1,8 +1,9 @@ module Main where import Circom.CLI (defaultMain) +import Circuit (Vesta) import Protolude -import ZK.Adder (Vesta, circuit) +import ZK.Adder (circuit) main :: IO () main = defaultMain "adder" (circuit @Vesta) diff --git a/circuit/src/ZK/Adder.hs b/circuit/src/ZK/Adder.hs index f428c68..95351e9 100644 --- a/circuit/src/ZK/Adder.hs +++ b/circuit/src/ZK/Adder.hs @@ -1,16 +1,17 @@ {-# LANGUAGE PatternSynonyms #-} -module ZK.Adder (Vesta, circuit) where +module ZK.Adder (circuit) where import Circuit import Circuit.Language -import Data.Field.Galois (Prime, PrimeField) +import Data.Field.Galois (GaloisField) import Data.Vector.Sized (index, pattern Build, pattern Nil, pattern (:<)) import Protolude -type Vesta = Prime 28948022309329048855892746252171976963363056481941647379679742748393362948097 - -circuit :: (Hashable f, PrimeField f) => ExprM f () +circuit :: + (Hashable f) => + (GaloisField f) => + ExprM f () circuit = do adder <- var_ <$> fieldInput Private "adder" step_in <- map var_ <$> fieldInputs @2 Public "step_in" diff --git a/circuit/test/Main.hs b/circuit/test/Main.hs index 00deddc..493416e 100644 --- a/circuit/test/Main.hs +++ b/circuit/test/Main.hs @@ -9,7 +9,7 @@ import Protolude import R1CS (Witness (..)) import Test.Hspec import Test.QuickCheck -import ZK.Adder (Vesta, circuit) +import ZK.Adder (circuit) main :: IO () main = hspec $ do diff --git a/wasm-solver/adder-solver.cabal b/wasm-solver/adder-solver.cabal index fb9e2cb..d49c8be 100644 --- a/wasm-solver/adder-solver.cabal +++ b/wasm-solver/adder-solver.cabal @@ -17,8 +17,8 @@ executable wasm-solver "-optl-Wl,--export=init,--export=getNVars,--export=getVersion,--export=getRawPrime,--export=writeSharedRWMemory,--export=readSharedRWMemory,--export=getFieldNumLen32,--export=setInputSignal,--export=getInputSignalSize,--export=getWitnessSize,--export=getWitness,--export=getInputSize" build-depends: - arithmetic-circuits:circom-compat + arithmetic-circuits + , arithmetic-circuits:circom-compat , base >=4.10 && <5 , binary - , origami , protolude diff --git a/wasm-solver/app/Main.hs b/wasm-solver/app/Main.hs index 66d6ebe..b9d6c77 100644 --- a/wasm-solver/app/Main.hs +++ b/wasm-solver/app/Main.hs @@ -1,11 +1,11 @@ module Main where import Circom.Solver qualified as Circom +import Circuit (Vesta) import Data.Binary (decodeFile) import Data.IORef (IORef, newIORef) import Protolude import System.IO.Unsafe (unsafePerformIO) -import ZK.Adder (Vesta) main :: IO () main = mempty diff --git a/wasm-solver/cabal.project b/wasm-solver/cabal.project index 3b57174..1395e7e 100644 --- a/wasm-solver/cabal.project +++ b/wasm-solver/cabal.project @@ -24,5 +24,5 @@ source-repository-package source-repository-package type: git location: https://github.com/l-adic/arithmetic-circuits.git - tag: 7d06e2b5df24237d8d694ca842ff1cd7e6609b34 + tag: 7323152c3942c546d676ad6dcafe747f88d72663 --sha256: ngh2xhBSAu/2d4KlpCo5Aq8ezd6hX/MoNx26sLJzf0w=