Struct spl_token_2022::extension::confidential_transfer::instruction::zero_balance::ZeroBalanceProofData
source · #[repr(C)]pub struct ZeroBalanceProofData {
pub context: ZeroBalanceProofContext,
pub proof: ZeroBalanceProof,
}
Expand description
The instruction data that is needed for the ProofInstruction::ZeroBalance
instruction.
It includes the cryptographic proof as well as the context data information needed to verify the proof.
Fields§
§context: ZeroBalanceProofContext
The context data for the zero-balance proof
proof: ZeroBalanceProof
Proof that the source account available balance is zero
Implementations§
source§impl ZeroBalanceProofData
impl ZeroBalanceProofData
pub fn new( keypair: &ElGamalKeypair, ciphertext: &ElGamalCiphertext, ) -> Result<ZeroBalanceProofData, ProofGenerationError>
Trait Implementations§
source§impl Clone for ZeroBalanceProofData
impl Clone for ZeroBalanceProofData
source§fn clone(&self) -> ZeroBalanceProofData
fn clone(&self) -> ZeroBalanceProofData
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 moresource§impl ZkProofData<ZeroBalanceProofContext> for ZeroBalanceProofData
impl ZkProofData<ZeroBalanceProofContext> for ZeroBalanceProofData
const PROOF_TYPE: ProofType = ProofType::ZeroBalance
fn context_data(&self) -> &ZeroBalanceProofContext
fn verify_proof(&self) -> Result<(), ProofVerificationError>
impl Copy for ZeroBalanceProofData
impl Pod for ZeroBalanceProofData
Auto Trait Implementations§
impl Freeze for ZeroBalanceProofData
impl RefUnwindSafe for ZeroBalanceProofData
impl Send for ZeroBalanceProofData
impl Sync for ZeroBalanceProofData
impl Unpin for ZeroBalanceProofData
impl UnwindSafe for ZeroBalanceProofData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more