#[repr(C)]
pub struct WithdrawData { pub pubkey: ElGamalPubkey, pub final_ciphertext: ElGamalCiphertext, pub proof: WithdrawProof, }
Expand description

This struct includes the cryptographic proof and the account data information needed to verify the proof

  • The pre-instruction should call WithdrawData::verify_proof(&self)
  • The actual program should check that current_ct is consistent with what is currently stored in the confidential token account TODO: update this statement

Fields

pubkey: ElGamalPubkey

The source account ElGamal pubkey

final_ciphertext: ElGamalCiphertext

The source account available balance after the withdraw (encrypted by source_pk

proof: WithdrawProof

Range proof

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
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
If this function returns true, then it must be valid to reinterpret bits as &Self. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.