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 moresourceimpl 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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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 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
. Read more