├── .cargo └── config.toml ├── .github ├── actions-rs │ └── grcov.yml ├── codecov.yml └── workflows │ └── dusk_ci.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── benches └── plonk.rs ├── docs └── dusk-plonk-specs.pdf ├── examples └── circuit.rs ├── katex-header.html ├── rust-toolchain.toml ├── rustfmt.toml ├── src ├── bit_iterator.rs ├── commitment_scheme.rs ├── commitment_scheme │ ├── kzg10.rs │ └── kzg10 │ │ ├── commitment.rs │ │ ├── key.rs │ │ ├── proof.rs │ │ └── srs.rs ├── compiler.rs ├── compiler │ ├── prover.rs │ └── verifier.rs ├── composer.rs ├── composer │ ├── circuit.rs │ ├── compress.rs │ ├── compress │ │ └── hades.rs │ ├── constraint_system.rs │ ├── constraint_system │ │ ├── constraint.rs │ │ ├── ecc.rs │ │ └── witness.rs │ ├── gate.rs │ ├── permutation.rs │ └── permutation │ │ └── constants.rs ├── debugger.rs ├── error.rs ├── fft.rs ├── fft │ ├── domain.rs │ ├── evaluations.rs │ └── polynomial.rs ├── lib.rs ├── prelude.rs ├── proof_system.rs ├── proof_system │ ├── linearization_poly.rs │ ├── preprocess.rs │ ├── proof.rs │ ├── quotient_poly.rs │ ├── widget.rs │ └── widget │ │ ├── arithmetic.rs │ │ ├── arithmetic │ │ ├── proverkey.rs │ │ └── verifierkey.rs │ │ ├── ecc.rs │ │ ├── ecc │ │ ├── curve_addition.rs │ │ ├── curve_addition │ │ │ ├── proverkey.rs │ │ │ └── verifierkey.rs │ │ ├── scalar_mul.rs │ │ └── scalar_mul │ │ │ ├── fixed_base.rs │ │ │ └── fixed_base │ │ │ ├── proverkey.rs │ │ │ └── verifierkey.rs │ │ ├── logic.rs │ │ ├── logic │ │ ├── proverkey.rs │ │ └── verifierkey.rs │ │ ├── permutation.rs │ │ ├── permutation │ │ ├── proverkey.rs │ │ └── verifierkey.rs │ │ ├── range.rs │ │ └── range │ │ ├── proverkey.rs │ │ └── verifierkey.rs ├── runtime.rs ├── transcript.rs └── util.rs └── tests ├── append_gate.rs ├── assert_point.rs ├── assert_scalar.rs ├── boolean.rs ├── common └── mod.rs ├── composer.rs ├── debugger.rs ├── decomposition.rs ├── ecc.rs ├── error_size.rs ├── gate_add_mul.rs ├── logic.rs ├── range.rs ├── select_bls.rs └── select_point.rs /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.github/actions-rs/grcov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/.github/actions-rs/grcov.yml -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/.github/codecov.yml -------------------------------------------------------------------------------- /.github/workflows/dusk_ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/.github/workflows/dusk_ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/README.md -------------------------------------------------------------------------------- /benches/plonk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/benches/plonk.rs -------------------------------------------------------------------------------- /docs/dusk-plonk-specs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/docs/dusk-plonk-specs.pdf -------------------------------------------------------------------------------- /examples/circuit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/examples/circuit.rs -------------------------------------------------------------------------------- /katex-header.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/katex-header.html -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | max_width = 80 2 | wrap_comments = true 3 | -------------------------------------------------------------------------------- /src/bit_iterator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/bit_iterator.rs -------------------------------------------------------------------------------- /src/commitment_scheme.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme.rs -------------------------------------------------------------------------------- /src/commitment_scheme/kzg10.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme/kzg10.rs -------------------------------------------------------------------------------- /src/commitment_scheme/kzg10/commitment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme/kzg10/commitment.rs -------------------------------------------------------------------------------- /src/commitment_scheme/kzg10/key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme/kzg10/key.rs -------------------------------------------------------------------------------- /src/commitment_scheme/kzg10/proof.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme/kzg10/proof.rs -------------------------------------------------------------------------------- /src/commitment_scheme/kzg10/srs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/commitment_scheme/kzg10/srs.rs -------------------------------------------------------------------------------- /src/compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/compiler.rs -------------------------------------------------------------------------------- /src/compiler/prover.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/compiler/prover.rs -------------------------------------------------------------------------------- /src/compiler/verifier.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/compiler/verifier.rs -------------------------------------------------------------------------------- /src/composer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer.rs -------------------------------------------------------------------------------- /src/composer/circuit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/circuit.rs -------------------------------------------------------------------------------- /src/composer/compress.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/compress.rs -------------------------------------------------------------------------------- /src/composer/compress/hades.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/compress/hades.rs -------------------------------------------------------------------------------- /src/composer/constraint_system.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/constraint_system.rs -------------------------------------------------------------------------------- /src/composer/constraint_system/constraint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/constraint_system/constraint.rs -------------------------------------------------------------------------------- /src/composer/constraint_system/ecc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/constraint_system/ecc.rs -------------------------------------------------------------------------------- /src/composer/constraint_system/witness.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/constraint_system/witness.rs -------------------------------------------------------------------------------- /src/composer/gate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/gate.rs -------------------------------------------------------------------------------- /src/composer/permutation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/permutation.rs -------------------------------------------------------------------------------- /src/composer/permutation/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/composer/permutation/constants.rs -------------------------------------------------------------------------------- /src/debugger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/debugger.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/fft.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/fft.rs -------------------------------------------------------------------------------- /src/fft/domain.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/fft/domain.rs -------------------------------------------------------------------------------- /src/fft/evaluations.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/fft/evaluations.rs -------------------------------------------------------------------------------- /src/fft/polynomial.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/fft/polynomial.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/prelude.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/prelude.rs -------------------------------------------------------------------------------- /src/proof_system.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system.rs -------------------------------------------------------------------------------- /src/proof_system/linearization_poly.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/linearization_poly.rs -------------------------------------------------------------------------------- /src/proof_system/preprocess.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/preprocess.rs -------------------------------------------------------------------------------- /src/proof_system/proof.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/proof.rs -------------------------------------------------------------------------------- /src/proof_system/quotient_poly.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/quotient_poly.rs -------------------------------------------------------------------------------- /src/proof_system/widget.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget.rs -------------------------------------------------------------------------------- /src/proof_system/widget/arithmetic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/arithmetic.rs -------------------------------------------------------------------------------- /src/proof_system/widget/arithmetic/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/arithmetic/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/arithmetic/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/arithmetic/verifierkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/curve_addition.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/curve_addition.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/curve_addition/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/curve_addition/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/curve_addition/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/curve_addition/verifierkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/scalar_mul.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/scalar_mul.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/scalar_mul/fixed_base.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/scalar_mul/fixed_base.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/scalar_mul/fixed_base/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/scalar_mul/fixed_base/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/ecc/scalar_mul/fixed_base/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/ecc/scalar_mul/fixed_base/verifierkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/logic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/logic.rs -------------------------------------------------------------------------------- /src/proof_system/widget/logic/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/logic/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/logic/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/logic/verifierkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/permutation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/permutation.rs -------------------------------------------------------------------------------- /src/proof_system/widget/permutation/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/permutation/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/permutation/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/permutation/verifierkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/range.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/range.rs -------------------------------------------------------------------------------- /src/proof_system/widget/range/proverkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/range/proverkey.rs -------------------------------------------------------------------------------- /src/proof_system/widget/range/verifierkey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/proof_system/widget/range/verifierkey.rs -------------------------------------------------------------------------------- /src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/runtime.rs -------------------------------------------------------------------------------- /src/transcript.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/transcript.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/src/util.rs -------------------------------------------------------------------------------- /tests/append_gate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/append_gate.rs -------------------------------------------------------------------------------- /tests/assert_point.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/assert_point.rs -------------------------------------------------------------------------------- /tests/assert_scalar.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/assert_scalar.rs -------------------------------------------------------------------------------- /tests/boolean.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/boolean.rs -------------------------------------------------------------------------------- /tests/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/common/mod.rs -------------------------------------------------------------------------------- /tests/composer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/composer.rs -------------------------------------------------------------------------------- /tests/debugger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/debugger.rs -------------------------------------------------------------------------------- /tests/decomposition.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/decomposition.rs -------------------------------------------------------------------------------- /tests/ecc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/ecc.rs -------------------------------------------------------------------------------- /tests/error_size.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/error_size.rs -------------------------------------------------------------------------------- /tests/gate_add_mul.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/gate_add_mul.rs -------------------------------------------------------------------------------- /tests/logic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/logic.rs -------------------------------------------------------------------------------- /tests/range.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/range.rs -------------------------------------------------------------------------------- /tests/select_bls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/select_bls.rs -------------------------------------------------------------------------------- /tests/select_point.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dusk-network/plonk/HEAD/tests/select_point.rs --------------------------------------------------------------------------------