#[repr(C)]pub struct TransferProofContext {
pub ciphertext_lo: TransferAmountCiphertext,
pub ciphertext_hi: TransferAmountCiphertext,
pub transfer_pubkeys: TransferPubkeys,
pub new_source_ciphertext: ElGamalCiphertext,
}
Expand description
The context data needed to verify a transfer proof.
Fields§
§ciphertext_lo: TransferAmountCiphertext
Group encryption of the low 16 bits of the transfer amount
ciphertext_hi: TransferAmountCiphertext
Group encryption of the high 48 bits of the transfer amount
transfer_pubkeys: TransferPubkeys
The public encryption keys associated with the transfer: source, dest, and auditor
new_source_ciphertext: ElGamalCiphertext
The final spendable ciphertext after the transfer
Trait Implementations§
source§impl Clone for TransferProofContext
impl Clone for TransferProofContext
source§fn clone(&self) -> TransferProofContext
fn clone(&self) -> TransferProofContext
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<TransferProofContext> for TransferData
impl ZkProofData<TransferProofContext> for TransferData
const PROOF_TYPE: ProofType = ProofType::Transfer
fn context_data(&self) -> &TransferProofContext
fn verify_proof(&self) -> Result<(), ProofVerificationError>
impl Copy for TransferProofContext
impl Pod for TransferProofContext
Auto Trait Implementations§
impl Freeze for TransferProofContext
impl RefUnwindSafe for TransferProofContext
impl Send for TransferProofContext
impl Sync for TransferProofContext
impl Unpin for TransferProofContext
impl UnwindSafe for TransferProofContext
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,
source§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§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