Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 1.35 KB

README.md

File metadata and controls

53 lines (38 loc) · 1.35 KB

Lagrange ZK Prover Network Contracts

This repository contains smart contracts for the Lagrange ZK Prover Network. These contracts are designed to manage queries, responses, and client interactions within the LPN ecosystem.

You can find the user documentation here

Guide for Maintainers

Environment Setup

Be sure to include a .env file and export the environment variables shown in .env.example

Pre-requisites

  • Foundry
  • Docker (if you want to run slither)
  • Make

Installation

Install dependencies:

forge install
forge soldeer install

Build & Test

forge build
forge test

Run Static Analysis

make slither

Deploy

  • Private key and Etherscan API key must be supplied as environment variables.
  • Only 9/10 contracts will verify because the Deployer contract self-destructs.
export PRIVATE_KEY=<...>
export ETHERSCAN_API_KEY=<...>
make deploy-v2 [chain]

Design

See the following design docs:

Credit - Gnark

We would like to thank and recognize Consensys and the gnark team for their work, which we use to generate a Solidity verifier for onchain verification of our proofs.