Struct spl_token_2022::extension::confidential_transfer::instruction::withdraw_withheld::WithdrawWithheldTokensData
source · [−]#[repr(C)]pub struct WithdrawWithheldTokensData {
pub pubkey_withdraw_withheld_authority: ElGamalPubkey,
pub pubkey_dest: ElGamalPubkey,
pub ciphertext_withdraw_withheld_authority: ElGamalCiphertext,
pub ciphertext_dest: 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
pubkey_dest: ElGamalPubkey
ciphertext_dest: ElGamalCiphertext
proof: WithdrawWithheldTokensProof
Implementations
sourceimpl WithdrawWithheldTokensData
impl WithdrawWithheldTokensData
pub fn new(
keypair_withdraw_withheld_authority: &ElGamalKeypair,
pubkey_dest: &ElGamalPubkey,
ciphertext_withdraw_withheld_authority: &ElGamalCiphertext,
amount: u64
) -> Result<WithdrawWithheldTokensData, ProofError>
Trait Implementations
sourceimpl Clone for WithdrawWithheldTokensData
impl Clone for WithdrawWithheldTokensData
sourcefn clone(&self) -> WithdrawWithheldTokensData
fn clone(&self) -> WithdrawWithheldTokensData
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
sourceimpl Verifiable for WithdrawWithheldTokensData
impl Verifiable for WithdrawWithheldTokensData
fn verify(&self) -> Result<(), ProofError>
impl 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
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> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more