LLZK 0.1.0
Veridise's ZK Language IR
|
The LLZK project consists of three main components:
The general workflow of using LLZK is therefore as follows:
Frontends are currently not contained within the LLZK repository, but are rather maintained in separate repositories, using LLZK-lib as a dependency.
Veridise currently maintains the following frontends:
For information on how to create a new frontend, please refer to the Translation Guidelines.
LLZK provides three types of passes:
User documentation about how to use these passes is provided in Tool Guides.
Developer documentation can be found:
array
transforms: include/llzk/Dialect/Array/Transforms, lib/Dialect/Array/Transformspolymorphic
transforms: include/llzk/Dialect/Polymorphic/Transforms, lib/Dialect/Polymorphic/TransformsBuilt-in backends will be added to the llzk-opt tool as they are developed. Currently, LLZK provides no built-in backends, but an R1CS backend is current in the works. Veridise also plans to release several analysis backends based on prior tooling (namely Picus and ZK Vanguard), which will allow Veridise to provide automated verification and analysis for any ZK language that has an LLZK frontend.