Struct solana_zk_token_sdk::instruction::transfer::TransferProof
source · [−]#[repr(C)]pub struct TransferProof {
pub new_source_commitment: PedersenCommitment,
pub equality_proof: CtxtCommEqualityProof,
pub validity_proof: AggregatedValidityProof,
pub range_proof: RangeProof128,
}
Fields
new_source_commitment: PedersenCommitment
New Pedersen commitment for the remaining balance in source
equality_proof: CtxtCommEqualityProof
Associated equality proof
validity_proof: AggregatedValidityProof
Associated ciphertext validity proof
range_proof: RangeProof128
Implementations
sourceimpl TransferProof
impl TransferProof
pub fn new(
(transfer_amount_lo, transfer_amount_hi): (u64, u64),
source_keypair: &ElGamalKeypair,
(destination_pubkey, auditor_pubkey): (&ElGamalPubkey, &ElGamalPubkey),
opening_lo: &PedersenOpening,
opening_hi: &PedersenOpening,
(source_new_balance, new_source_ciphertext): (u64, &ElGamalCiphertext),
transcript: &mut Transcript
) -> Self
pub fn verify(
&self,
ciphertext_lo: &TransferAmountEncryption,
ciphertext_hi: &TransferAmountEncryption,
transfer_pubkeys: &TransferPubkeys,
ciphertext_new_spendable: &ElGamalCiphertext,
transcript: &mut Transcript
) -> Result<(), ProofError>
Trait Implementations
sourceimpl Clone for TransferProof
impl Clone for TransferProof
sourcefn clone(&self) -> TransferProof
fn clone(&self) -> TransferProof
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for TransferProof
impl Pod for TransferProof
Auto Trait Implementations
impl RefUnwindSafe for TransferProof
impl Send for TransferProof
impl Sync for TransferProof
impl Unpin for TransferProof
impl UnwindSafe for TransferProof
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedBitPattern for T where
T: AnyBitPattern,
impl<T> CheckedBitPattern for T where
T: AnyBitPattern,
type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during is_valid_bit_pattern
. Read more
sourcefn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret bits
as &Self
.