Struct safe_token_2022::extension::confidential_transfer::instruction::WithdrawWithheldTokensData
source · pub struct WithdrawWithheldTokensData {
pub withdraw_withheld_authority_pubkey: ElGamalPubkey,
pub destination_pubkey: ElGamalPubkey,
pub withdraw_withheld_authority_ciphertext: ElGamalCiphertext,
pub destination_ciphertext: ElGamalCiphertext,
pub proof: WithdrawWithheldTokensProof,
}
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§
§destination_pubkey: ElGamalPubkey
§destination_ciphertext: ElGamalCiphertext
§proof: WithdrawWithheldTokensProof
Implementations§
source§impl WithdrawWithheldTokensData
impl WithdrawWithheldTokensData
pub fn new( withdraw_withheld_authority_keypair: &ElGamalKeypair, destination_pubkey: &ElGamalPubkey, withdraw_withheld_authority_ciphertext: &ElGamalCiphertext, amount: u64 ) -> Result<WithdrawWithheldTokensData, ProofError>
Trait Implementations§
source§impl Clone for WithdrawWithheldTokensData
impl Clone for WithdrawWithheldTokensData
source§fn clone(&self) -> WithdrawWithheldTokensData
fn clone(&self) -> WithdrawWithheldTokensData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreimpl Copy for WithdrawWithheldTokensData
impl Pod for WithdrawWithheldTokensData
Auto Trait Implementations§
impl RefUnwindSafe for WithdrawWithheldTokensData
impl Send for WithdrawWithheldTokensData
impl Sync for WithdrawWithheldTokensData
impl Unpin for WithdrawWithheldTokensData
impl UnwindSafe for WithdrawWithheldTokensData
Blanket Implementations§
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere 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
.source§fn 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
.