Skip to main content

solana_zk_elgamal_proof_interface/
lib.rs

1#![no_std]
2
3//! The native ZK ElGamal proof program.
4//!
5//! The program verifies a number of zero-knowledge proofs that are tailored to work with Pedersen
6//! commitments and ElGamal encryption over the elliptic curve Curve25519. A general overview of
7//! the program as well as the technical details of some of the proof instructions can be found in
8//! the [`ZK ElGamal proof`] documentation.
9//!
10//! This module contains the instruction types, the proof context state, and the proof instruction
11//! data types. For the precise processor logic, see the ZK ElGamal Proof [`program`].
12//! implementation.
13//!
14//! [`ZK ElGamal proof`]: https://docs.anza.xyz/runtime/zk-elgamal-proof
15//! [`program`]: https://github.com/anza-xyz/agave/blob/master/programs/zk-elgamal-proof/src/lib.rs
16
17extern crate alloc;
18
19pub mod instruction;
20pub mod proof_data;
21pub mod state;
22
23// Program Id of the ZK ElGamal Proof program
24pub use solana_sdk_ids::zk_elgamal_proof_program::{check_id, id, ID};