Struct safe_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§
source§impl 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§
source§impl Clone for TransferData
impl Clone for TransferData
source§fn clone(&self) -> TransferData
fn clone(&self) -> TransferData
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 Verifiable for TransferData
impl Verifiable for TransferData
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§
source§impl<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
.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
.