Struct spl_token_2022::extension::confidential_transfer::ciphertext_extraction::TransferProofContextInfo
source · pub struct TransferProofContextInfo {
pub ciphertext_lo: TransferAmountCiphertext,
pub ciphertext_hi: TransferAmountCiphertext,
pub transfer_pubkeys: TransferPubkeysInfo,
pub new_source_ciphertext: ElGamalCiphertext,
}
Expand description
The proof context information needed to process a [Transfer] instruction.
Fields§
§ciphertext_lo: TransferAmountCiphertext
Ciphertext containing the low 16 bits of the transafer amount
ciphertext_hi: TransferAmountCiphertext
Ciphertext containing the high 32 bits of the transafer amount
transfer_pubkeys: TransferPubkeysInfo
The transfer public keys associated with a transfer
new_source_ciphertext: ElGamalCiphertext
The new source available balance ciphertext
Implementations§
source§impl TransferProofContextInfo
impl TransferProofContextInfo
sourcepub fn verify_and_extract(
equality_proof_context: &CiphertextCommitmentEqualityProofContext,
ciphertext_validity_proof_context: &BatchedGroupedCiphertext2HandlesValidityProofContext,
range_proof_context: &BatchedRangeProofContext,
source_decrypt_handles: &SourceDecryptHandles,
) -> Result<Self, ProgramError>
pub fn verify_and_extract( equality_proof_context: &CiphertextCommitmentEqualityProofContext, ciphertext_validity_proof_context: &BatchedGroupedCiphertext2HandlesValidityProofContext, range_proof_context: &BatchedRangeProofContext, source_decrypt_handles: &SourceDecryptHandles, ) -> Result<Self, ProgramError>
Create a transfer proof context information needed to process a [Transfer] instruction from split proof contexts after verifying their consistency.
Trait Implementations§
source§impl From<TransferProofContext> for TransferProofContextInfo
impl From<TransferProofContext> for TransferProofContextInfo
source§fn from(context: TransferProofContext) -> Self
fn from(context: TransferProofContext) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for TransferProofContextInfo
impl RefUnwindSafe for TransferProofContextInfo
impl Send for TransferProofContextInfo
impl Sync for TransferProofContextInfo
impl Unpin for TransferProofContextInfo
impl UnwindSafe for TransferProofContextInfo
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> 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