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, Binary (Rep (Layout d)), Ord (Rep (Layout d)), NFData (Rep (Layout d)), Binary (Rep (Payload 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 ctx, KnownRegisters ctx KeyLength 'Auto) => SymbolicInput (PrivateKey ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Algorithms.RSA

Methods

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

(Symbolic ctx, KnownRegisters ctx 32 'Auto, KnownRegisters ctx KeyLength 'Auto) => SymbolicInput (PublicKey ctx) Source # 
Instance details

Defined in ZkFold.Symbolic.Algorithms.RSA

Methods

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

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

(Symbolic c, Binary (Rep f), Ord (Rep f), NFData (Rep f), Representable f, Traversable 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 #

(Symbolic (Context x), 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 #

(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 #

Symbolic c => SymbolicInput (FFA p c) Source #

TODO: fix when rewrite is done

Instance details

Defined in ZkFold.Symbolic.Data.FFA

Methods

isValid :: FFA p c -> Bool (Context (FFA p 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, Representable f, Binary (Rep 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 #

(Symbolic (Context x), 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 #

(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 #

(Symbolic (Context x), 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 #