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§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ZkProofData<BatchedGroupedCiphertext2HandlesValidityProofContext> for BatchedGroupedCiphertext2HandlesValidityProofData

source§

const PROOF_TYPE: ProofType = ProofType::BatchedGroupedCiphertext2HandlesValidity

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<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<TransferProofContext> for TransferData

source§

const PROOF_TYPE: ProofType = ProofType::Transfer

source§

impl ZkProofData<TransferWithFeeProofContext> for TransferWithFeeData

source§

const PROOF_TYPE: ProofType = ProofType::TransferWithFee

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