package octez-plompiler

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module S = Csir.Scalar
module type NUM = sig ... end
module type BOOL = sig ... end
module type COMMON = sig ... end
module type LIB = sig ... end
module Lib (C : sig ... end) : sig ... end
module LibResult : sig ... end
module LibCircuit : sig ... end
module Gadget : sig ... end
include module type of struct include Gadget end
module type HASH = Gadget.HASH
module Anemoi128 = Gadget.Anemoi128
module AnemoiJive_128_1 = Gadget.AnemoiJive_128_1
module Poseidon128 = Gadget.Poseidon128
module Poseidon252 = Gadget.Poseidon252
module PoseidonFull = Gadget.PoseidonFull
module Merkle = Gadget.Merkle
module Merkle_narity = Gadget.Merkle_narity
module JubjubEdwards = Gadget.JubjubEdwards
module JubjubWeierstrass = Gadget.JubjubWeierstrass
module Schnorr = Gadget.Schnorr
module Blake2s = Gadget.Blake2s
module Utils : sig ... end
module Linear_algebra : sig ... end
module Optimizer : sig ... end

The optimizer simplifies a constraint system, producing an equivalent one with fewer constraints in essentially three ways:

module Solver : sig ... end
module Encodings (L : sig ... end) : sig ... end

Encoding type for encapsulating encoding/decoding/input functions. This type enables us to use more structured types for data in circuits. For that, encoding is parameterized by 3 types:

module Bounded : sig ... end
module Csir : sig ... end
OCaml

Innovation. Community. Security.