cabal-version: 3.0 name: zkfold-base version: 0.1.0.0 synopsis: ZkFold Symbolic compiler and zero-knowledge proof protocols homepage: zkfold.io category: Cryptography, DSL, Math, Symbolic Computation author: Vladimir Sinyakov, Pavel Sokolov, Murat Kasimov, Vladimir Morozov maintainer: info@zkfold.io license: MIT license-file: LICENSE build-type: Simple Data-Files: tests/data/shabittestvectors/*.rsp description: This package contains the base library for the ZkFold project. It includes zkFold Symbolic compiler and a number of zero knowledge proof protocols. The compiler translates a subset of Haskell into arithmetic circuits, which can be used to generate zero knowledge proofs. Flag Pedantic Description: Enable pedantic build with -Werror Manual: True Default: False common options default-language: Haskell2010 ghc-options: -fwarn-redundant-constraints -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances -Wpartial-fields -Wredundant-constraints -O2 if flag(pedantic) ghc-options: -Werror default-extensions: BangPatterns, BinaryLiterals, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, ExistentialQuantification, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, KindSignatures, LambdaCase, MultiParamTypeClasses, MultiWayIf, NamedFieldPuns, NoImplicitPrelude, NoStarIsType, NumericUnderscores, OverloadedStrings, OverloadedLabels, PolyKinds, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, StandaloneKindSignatures, TupleSections, TypeApplications, TypeFamilies, ViewPatterns library import: options exposed-modules: ZkFold.Base.Algebra.Basic.Class ZkFold.Base.Algebra.Basic.Sources ZkFold.Base.Algebra.Basic.Field ZkFold.Base.Algebra.Basic.Number ZkFold.Base.Algebra.Basic.Permutations ZkFold.Base.Algebra.Basic.DFT ZkFold.Base.Algebra.Basic.VectorSpace ZkFold.Base.Algebra.EllipticCurve.BLS12_381 ZkFold.Base.Algebra.EllipticCurve.Ed25519 ZkFold.Base.Algebra.EllipticCurve.Class ZkFold.Base.Algebra.Polynomials.Multivariate ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial ZkFold.Base.Algebra.Polynomials.Multivariate.Polynomial ZkFold.Base.Algebra.Polynomials.Multivariate.Substitution ZkFold.Base.Algebra.Polynomials.Univariate ZkFold.Base.Data.ByteString ZkFold.Base.Data.Matrix ZkFold.Base.Data.Sparse.Matrix ZkFold.Base.Data.Sparse.Vector ZkFold.Base.Data.Type ZkFold.Base.Data.Vector ZkFold.Base.Protocol.ARK.BabyHyrax ZkFold.Base.Protocol.ARK.HyperPlonk ZkFold.Base.Protocol.ARK.Lasso ZkFold.Base.Protocol.ARK.Nova ZkFold.Base.Protocol.ARK.Plonk ZkFold.Base.Protocol.ARK.Plonk.Internal ZkFold.Base.Protocol.ARK.Protostar ZkFold.Base.Protocol.ARK.Protostar.Accumulator ZkFold.Base.Protocol.ARK.Protostar.CommitOpen ZkFold.Base.Protocol.ARK.Protostar.Internal ZkFold.Base.Protocol.ARK.Protostar.Gate ZkFold.Base.Protocol.ARK.Protostar.Lookup ZkFold.Base.Protocol.ARK.Protostar.Permutation ZkFold.Base.Protocol.ARK.Protostar.SpecialSound ZkFold.Base.Protocol.Commitment.KZG ZkFold.Base.Protocol.Commitment.Sona ZkFold.Base.Protocol.NonInteractiveProof ZkFold.Prelude ZkFold.Symbolic.Cardano.Contracts.BatchTransfer ZkFold.Symbolic.Cardano.Types ZkFold.Symbolic.Cardano.UPLC ZkFold.Symbolic.Cardano.UPLC.Builtins ZkFold.Symbolic.Cardano.UPLC.Inference ZkFold.Symbolic.Cardano.UPLC.Inference.Internal ZkFold.Symbolic.Cardano.UPLC.Term ZkFold.Symbolic.Cardano.UPLC.Type ZkFold.Symbolic.Algorithms.Hash.SHA2 ZkFold.Symbolic.Algorithms.Hash.SHA2.Constants ZkFold.Symbolic.Algorithms.Hash.MiMC ZkFold.Symbolic.Algorithms.Hash.MiMC.Constants ZkFold.Symbolic.Compiler ZkFold.Symbolic.Compiler.ArithmeticCircuit ZkFold.Symbolic.Compiler.ArithmeticCircuit.Combinators ZkFold.Symbolic.Compiler.ArithmeticCircuit.Instance ZkFold.Symbolic.Compiler.ArithmeticCircuit.Internal ZkFold.Symbolic.Compiler.ArithmeticCircuit.Map ZkFold.Symbolic.Compiler.ArithmeticCircuit.MonadBlueprint ZkFold.Symbolic.Compiler.Arithmetizable ZkFold.Symbolic.Data.Bool ZkFold.Symbolic.Data.ByteString ZkFold.Symbolic.Data.Combinators ZkFold.Symbolic.Data.Conditional ZkFold.Symbolic.Data.DiscreteField ZkFold.Symbolic.Data.Ed25519 ZkFold.Symbolic.Data.Eq ZkFold.Symbolic.Data.Eq.Structural ZkFold.Symbolic.Data.Ord ZkFold.Symbolic.Data.UInt ZkFold.Symbolic.Data.UTCTime ZkFold.Symbolic.GroebnerBasis ZkFold.Symbolic.GroebnerBasis.Internal ZkFold.Symbolic.GroebnerBasis.Internal.Reduction ZkFold.Symbolic.GroebnerBasis.Internal.Types ZkFold.Symbolic.GroebnerBasis.Types ZkFold.Symbolic.Types build-depends: base >= 4.9 && < 5, adjunctions < 4.5, aeson < 2.3, binary < 0.11, bytestring < 0.12, containers < 0.7, cryptohash-sha256 < 0.12, deepseq <= 1.5.0.0, mtl < 2.4, optics < 0.5, pretty-simple < 4.2, QuickCheck < 2.15, random < 1.3, semialign < 1.4, split < 0.2.6, tfp < 1.1, these < 1.3, vector < 0.14, vector-binary-instances < 0.3 hs-source-dirs: src test-suite zkfold-base-test import: options type: exitcode-stdio-1.0 ghc-options: -rtsopts main-is: Main.hs other-modules: Tests.ArithmeticCircuit Tests.Arithmetization Tests.Arithmetization.Test1 Tests.Arithmetization.Test2 Tests.Arithmetization.Test3 Tests.ByteString Tests.Field Tests.GroebnerBasis Tests.Group Tests.Multiplication Tests.NonInteractiveProof Tests.Pairing Tests.Permutations Tests.Plonk Tests.Scripts.LockedByTxId Tests.SHA2 Tests.UInt Tests.Univariate build-depends: base >= 4.9 && < 5, bytestring , containers , directory <= 1.3.8.3, filepath <= 1.5.2.0, hspec < 2.12, QuickCheck , regex-tdfa <= 1.3.2.2, split < 0.2.6, vector , vector-algorithms , zkfold-base , deepseq, hs-source-dirs: tests test-suite zkfold-base-examples import: options type: exitcode-stdio-1.0 ghc-options: -rtsopts main-is: Main.hs other-modules: Examples.ByteString Examples.Conditional Examples.Eq Examples.Fibonacci Examples.LEQ Examples.MiMCHash Examples.BatchTransfer Examples.ReverseList Examples.UInt build-depends: base >= 4.9 && < 5, containers , cryptohash-sha256 , directory < 1.4, tfp , zkfold-base , hs-source-dirs: examples benchmark polynomial-multiplication import: options main-is: BenchPolyMul.hs hs-source-dirs: bench type: exitcode-stdio-1.0 ghc-options: -rtsopts -O3 build-depends: base, array, deepseq, random, tasty-bench, vector, zkfold-base