Struct solana_zk_token_sdk::instruction::transfer::TransferData
source · [−]#[repr(C)]pub struct TransferData {
pub ciphertext_lo: TransferAmountEncryption,
pub ciphertext_hi: TransferAmountEncryption,
pub transfer_pubkeys: TransferPubkeys,
pub new_source_ciphertext: ElGamalCiphertext,
pub proof: TransferProof,
}
Fields
ciphertext_lo: TransferAmountEncryption
Group encryption of the low 32 bits of the transfer amount
ciphertext_hi: TransferAmountEncryption
Group encryption of the high 32 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
proof: TransferProof
Zero-knowledge proofs for Transfer
Implementations
sourceimpl TransferData
impl TransferData
pub fn new(
transfer_amount: u64,
(spendable_balance, ciphertext_old_source): (u64, &ElGamalCiphertext),
source_keypair: &ElGamalKeypair,
(destination_pubkey, auditor_pubkey): (&ElGamalPubkey, &ElGamalPubkey)
) -> Result<Self, ProofError>
sourcepub fn decrypt_amount(
&self,
role: Role,
sk: &ElGamalSecretKey
) -> Result<u64, ProofError>
pub fn decrypt_amount(
&self,
role: Role,
sk: &ElGamalSecretKey
) -> Result<u64, ProofError>
Decrypts transfer amount from transfer data
Trait Implementations
sourceimpl Clone for TransferData
impl Clone for TransferData
sourcefn clone(&self) -> TransferData
fn clone(&self) -> TransferData
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 TransferData
impl Verifiable for TransferData
fn verify(&self) -> Result<(), ProofError>
impl Copy for TransferData
impl Pod for TransferData
Auto Trait Implementations
impl RefUnwindSafe for TransferData
impl Send for TransferData
impl Sync for TransferData
impl Unpin for TransferData
impl UnwindSafe for TransferData
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> CheckedBitPattern for T where
T: AnyBitPattern,
impl<T> CheckedBitPattern for T where
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
. Read more
sourcefn 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
.
impl<T> Pointable for T
impl<T> Pointable for T
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)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more