symbolic-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Symbolic.Data.Input

Synopsis

Documentation

class SymbolicOutput d => SymbolicInput d where Source #

A class for Symbolic input.

Minimal complete definition

Nothing

Methods

isValid :: d -> Bool (Context d) Source #

default isValid :: (Generic d, GSymbolicInput (Rep d), GContext (Rep d) ~ Context d) => d -> Bool (Context d) Source #

Instances

Instances details
Symbolic c => SymbolicInput (Bool c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: Bool c -> Bool (Context (Bool c)) Source #

Symbolic c => SymbolicInput (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

(SymbolicInput (PublicKey 2048 ctx), Symbolic ctx) => SymbolicInput (Certificate ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.JWT

Symbolic ctx => SymbolicInput (ClientSecret ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.JWT

(SymbolicInput (PrivateKey 2048 ctx), Symbolic ctx) => SymbolicInput (SigningKey ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.JWT

Methods

isValid :: SigningKey ctx -> Bool (Context (SigningKey ctx)) Source #

Symbolic ctx => SymbolicInput (TokenHeader ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.JWT

Symbolic ctx => SymbolicInput (TokenPayload ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.JWT

(Symbolic c, LayoutFunctor f) => SymbolicInput (c f) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: c f -> Bool (Context (c f)) Source #

Symbolic c => SymbolicInput (Proxy c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: Proxy c -> Bool (Context (Proxy c)) Source #

(KnownNat n, SymbolicInput x) => SymbolicInput (Vector n x) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: Vector n x -> Bool (Context (Vector n x)) Source #

(SymbolicInput f, SymbolicInput (i f), Context f ~ Context (i f)) => SymbolicInput (RecursiveI i f) Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.RecursiveFunction

Methods

isValid :: RecursiveI i f -> Bool (Context (RecursiveI i f)) Source #

(Symbolic ctx, KnownNat keyLen, KnownRegisters ctx keyLen 'Auto) => SymbolicInput (PrivateKey keyLen ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Algorithms.RSA

Methods

isValid :: PrivateKey keyLen ctx -> Bool (Context (PrivateKey keyLen ctx)) Source #

(Symbolic ctx, KnownNat keyLen, KnownRegisters ctx PubExponentSize 'Auto, KnownRegisters ctx keyLen 'Auto) => SymbolicInput (PublicKey keyLen ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Algorithms.RSA

Methods

isValid :: PublicKey keyLen ctx -> Bool (Context (PublicKey keyLen ctx)) Source #

(Symbolic c, KnownNat n) => SymbolicInput (ByteString n c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.ByteString

Methods

isValid :: ByteString n c -> Bool (Context (ByteString n c)) Source #

(SymbolicInput h, SymbolicInput a) => SymbolicInput (Hash h a) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Hash

Methods

isValid :: Hash h a -> Bool (Context (Hash h a)) Source #

(SymbolicInput x, c ~ Context x) => SymbolicInput (List c x) Source #

TODO: Maybe some isValid check for Lists?..

Instance details

Defined in ZkFold.Symbolic.Data.List

Methods

isValid :: List c x -> Bool (Context (List c x)) Source #

(Symbolic c, PayloadFunctor f) => SymbolicInput (Payloaded f c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Payloaded

Methods

isValid :: Payloaded f c -> Bool (Context (Payloaded f c)) Source #

(KnownNat n, Symbolic ctx) => SymbolicInput (VarByteString n ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.VarByteString

Methods

isValid :: VarByteString n ctx -> Bool (Context (VarByteString n ctx)) Source #

(Context x ~ Context y, SymbolicInput x, SymbolicInput y) => SymbolicInput (x, y) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: (x, y) -> Bool (Context (x, y)) Source #

(Context field ~ ctx, Symbolic ctx, TwistedEdwardsCurve curve field, SymbolicEq field) => SymbolicInput (TwistedEdwards curve (AffinePoint field)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.EllipticCurve.Class

Methods

isValid :: TwistedEdwards curve (AffinePoint field) -> Bool (Context (TwistedEdwards curve (AffinePoint field))) Source #

(WeierstrassCurve curve field, SymbolicEq field) => SymbolicInput (Weierstrass curve (Point field)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.EllipticCurve.Class

Methods

isValid :: Weierstrass curve (Point field) -> Bool (Context (Weierstrass curve (Point field))) Source #

(Symbolic c, KnownFFA p r c) => SymbolicInput (FFA p r c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FFA

Methods

isValid :: FFA p r c -> Bool (Context (FFA p r c)) Source #

(Symbolic c, KnownNat n, KnownRegisterSize r, KnownRegisters c n r) => SymbolicInput (UInt n r c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.UInt

Methods

isValid :: UInt n r c -> Bool (Context (UInt n r c)) Source #

(Context x ~ Context y, Context y ~ Context z, SymbolicInput x, SymbolicInput y, SymbolicInput z) => SymbolicInput (x, y, z) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Input

Methods

isValid :: (x, y, z) -> Bool (Context (x, y, z)) Source #