Struct solana_zk_token_sdk::zk_token_proof_instruction::TransferData [−][src]
#[repr(C)]pub struct TransferData {
pub encrypted_transfer_amount: EncryptedTransferAmount,
pub transfer_public_keys: TransferPubkeys,
pub new_spendable_ct: ElGamalCiphertext,
pub proof: TransferProof,
}
Fields
encrypted_transfer_amount: EncryptedTransferAmount
The encrypted transfer amount
transfer_public_keys: TransferPubkeys
The public encryption keys associated with the transfer: source, dest, and auditor
new_spendable_ct: ElGamalCiphertext
The final spendable ciphertext after the transfer
proof: TransferProof
Zero-knowledge proofs for Transfer
Implementations
pub fn new(
transfer_amount: u64,
spendable_balance: u64,
spendable_balance_ciphertext: ElGamalCiphertext,
source_keypair: &ElGamalKeypair,
dest_pk: ElGamalPubkey,
auditor_pk: ElGamalPubkey
) -> Self
Decrypts transfer amount from transfer data
TODO: This function should run in constant time. Use subtle::Choice
for the if statement
and make sure that the function does not terminate prematurely due to errors
TODO: Define specific error type for decryption error
Trait Implementations
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
pub default fn example() -> T
Mutably borrows from an owned value. Read more