solana_zk_token_sdk::instruction

Trait ZkProofData

Source
pub trait ZkProofData<T: Pod> {
    const PROOF_TYPE: ProofType;

    // Required methods
    fn context_data(&self) -> &T;
    fn verify_proof(&self) -> Result<(), ProofVerificationError>;
}

Required Associated Constants§

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl ZkProofData<BatchedGroupedCiphertext2HandlesValidityProofContext> for BatchedGroupedCiphertext2HandlesValidityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::BatchedGroupedCiphertext2HandlesValidity

Source§

impl ZkProofData<BatchedGroupedCiphertext3HandlesValidityProofContext> for BatchedGroupedCiphertext3HandlesValidityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::BatchedGroupedCiphertext3HandlesValidity

Source§

impl ZkProofData<BatchedRangeProofContext> for BatchedRangeProofU64Data

Source§

const PROOF_TYPE: ProofType = ProofType::BatchedRangeProofU64

Source§

impl ZkProofData<BatchedRangeProofContext> for BatchedRangeProofU128Data

Source§

const PROOF_TYPE: ProofType = ProofType::BatchedRangeProofU128

Source§

impl ZkProofData<BatchedRangeProofContext> for BatchedRangeProofU256Data

Source§

const PROOF_TYPE: ProofType = ProofType::BatchedRangeProofU256

Source§

impl ZkProofData<CiphertextCiphertextEqualityProofContext> for CiphertextCiphertextEqualityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::CiphertextCiphertextEquality

Source§

impl ZkProofData<CiphertextCommitmentEqualityProofContext> for CiphertextCommitmentEqualityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::CiphertextCommitmentEquality

Source§

impl ZkProofData<FeeSigmaProofContext> for FeeSigmaProofData

Source§

const PROOF_TYPE: ProofType = ProofType::FeeSigma

Source§

impl ZkProofData<GroupedCiphertext2HandlesValidityProofContext> for GroupedCiphertext2HandlesValidityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::GroupedCiphertext2HandlesValidity

Source§

impl ZkProofData<GroupedCiphertext3HandlesValidityProofContext> for GroupedCiphertext3HandlesValidityProofData

Source§

const PROOF_TYPE: ProofType = ProofType::GroupedCiphertext3HandlesValidity

Source§

impl ZkProofData<PubkeyValidityProofContext> for PubkeyValidityData

Source§

const PROOF_TYPE: ProofType = ProofType::PubkeyValidity

Source§

impl ZkProofData<RangeProofContext> for RangeProofU64Data

Source§

const PROOF_TYPE: ProofType = ProofType::RangeProofU64

Source§

impl ZkProofData<TransferWithFeeProofContext> for TransferWithFeeData

Source§

const PROOF_TYPE: ProofType = ProofType::TransferWithFee

Source§

impl ZkProofData<TransferProofContext> for TransferData

Source§

const PROOF_TYPE: ProofType = ProofType::Transfer

Source§

impl ZkProofData<WithdrawProofContext> for WithdrawData

Source§

const PROOF_TYPE: ProofType = ProofType::Withdraw

Source§

impl ZkProofData<ZeroBalanceProofContext> for ZeroBalanceProofData

Source§

const PROOF_TYPE: ProofType = ProofType::ZeroBalance