Struct spl_token_2022::extension::confidential_transfer::instruction::withdraw::WithdrawProof
source · [−]#[repr(C)]pub struct WithdrawProof {
pub commitment: PedersenCommitment,
pub equality_proof: CtxtCommEqualityProof,
pub range_proof: RangeProof64,
}
Expand description
This struct represents the cryptographic proof component that certifies the account’s solvency for withdrawal
Fields
commitment: PedersenCommitment
New Pedersen commitment
equality_proof: CtxtCommEqualityProof
Associated equality proof
range_proof: RangeProof64
Associated range proof
Implementations
sourceimpl WithdrawProof
impl WithdrawProof
pub fn new(
keypair: &ElGamalKeypair,
final_balance: u64,
final_ciphertext: &ElGamalCiphertext,
transcript: &mut Transcript
) -> WithdrawProof
pub fn verify(
&self,
pubkey: &ElGamalPubkey,
final_ciphertext: &ElGamalCiphertext,
transcript: &mut Transcript
) -> Result<(), ProofError>
Trait Implementations
sourceimpl Clone for WithdrawProof
impl Clone for WithdrawProof
sourcefn clone(&self) -> WithdrawProof
fn clone(&self) -> WithdrawProof
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 WithdrawProof
impl Pod for WithdrawProof
Auto Trait Implementations
impl RefUnwindSafe for WithdrawProof
impl Send for WithdrawProof
impl Sync for WithdrawProof
impl Unpin for WithdrawProof
impl UnwindSafe for WithdrawProof
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