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

ZkFold.Base.Protocol.IVC.Oracle

Documentation

class HashAlgorithm algo a where Source #

Methods

hash :: [a] -> a Source #

Instances

Instances details
Ring a => HashAlgorithm MiMCHash a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

hash :: [a] -> a Source #

data MiMCHash Source #

Instances

Instances details
Ring a => HashAlgorithm MiMCHash a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

hash :: [a] -> a Source #

class RandomOracle algo x a where Source #

Minimal complete definition

Nothing

Methods

oracle :: x -> a Source #

default oracle :: (Generic x, RandomOracle' algo (Rep x) a) => x -> a Source #

Instances

Instances details
(FromConstant Integer a, HashAlgorithm algo a) => RandomOracle (algo :: k) Integer a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: Integer -> a Source #

HashAlgorithm algo a => RandomOracle (algo :: k) a a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: a -> a Source #

(Generic x, RandomOracle' algo (Rep x) a) => RandomOracle (algo :: k) x a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: x -> a Source #

(HashAlgorithm algo b, RandomOracle algo a b) => RandomOracle (algo :: k) (Vector a) b Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: Vector a -> b Source #

HashAlgorithm algo a => RandomOracle (algo :: k) [a] a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: [a] -> a Source #

(HashAlgorithm algo b, RandomOracle algo a b) => RandomOracle (algo :: k) [a] b Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: [a] -> b Source #

(HashAlgorithm algo f, RandomOracle algo f f, RandomOracle algo (i f) f) => RandomOracle (algo :: k) (RecursiveI i f) f Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.RecursiveFunction

Methods

oracle :: RecursiveI i f -> f Source #

HashAlgorithm algo a => RandomOracle (algo :: k) (a, a) a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle :: (a, a) -> a Source #

(HashAlgorithm algo f, RandomOracle algo f f, RandomOracle algo (i f) f, RandomOracle algo (c f) f) => RandomOracle (algo :: k1) (AccumulatorInstance k2 i c f) f Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Accumulator

Methods

oracle :: AccumulatorInstance k2 i c f -> f Source #

class RandomOracle' algo f a where Source #

Methods

oracle' :: f x -> a Source #

Instances

Instances details
RandomOracle algo c a => RandomOracle' (algo :: k1) (Rec0 c :: k2 -> Type) a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle' :: forall (x :: k10). Rec0 c x -> a Source #

(RandomOracle' algo f a, RandomOracle' algo g a, HashAlgorithm algo a) => RandomOracle' (algo :: k1) (f :*: g :: k2 -> Type) a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle' :: forall (x :: k10). (f :*: g) x -> a Source #

(RandomOracle' algo f b, RandomOracle' algo g b, HashAlgorithm algo b, Ring b) => RandomOracle' (algo :: k1) (f :+: g :: k2 -> Type) b Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle' :: forall (x :: k10). (f :+: g) x -> b Source #

Ring a => RandomOracle' (algo :: k1) (M1 C ('MetaCons conName fixity selectors) (U1 :: k2 -> Type) :: k2 -> Type) a Source #

Handling constructors with no fields.

Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle' :: forall (x :: k10). M1 C ('MetaCons conName fixity selectors) U1 x -> a Source #

RandomOracle' algo f a => RandomOracle' (algo :: k1) (M1 c m f :: k2 -> Type) a Source # 
Instance details

Defined in ZkFold.Base.Protocol.IVC.Oracle

Methods

oracle' :: forall (x :: k10). M1 c m f x -> a Source #