Struct safe_token_2022::extension::confidential_transfer::instruction::transfer_with_fee::TransferWithFeeData
source · pub struct TransferWithFeeData {
pub ciphertext_lo: TransferAmountEncryption,
pub ciphertext_hi: TransferAmountEncryption,
pub transfer_with_fee_pubkeys: TransferWithFeePubkeys,
pub new_source_ciphertext: ElGamalCiphertext,
pub fee_ciphertext_lo: FeeEncryption,
pub fee_ciphertext_hi: FeeEncryption,
pub fee_parameters: FeeParameters,
pub proof: TransferWithFeeProof,
}
Fields§
§ciphertext_lo: TransferAmountEncryption
Group encryption of the low 16 bites of the transfer amount
ciphertext_hi: TransferAmountEncryption
Group encryption of the high 48 bits of the transfer amount
transfer_with_fee_pubkeys: TransferWithFeePubkeys
The public encryption keys associated with the transfer: source, dest, and auditor
new_source_ciphertext: ElGamalCiphertext
The final spendable ciphertext after the transfer,
fee_ciphertext_lo: FeeEncryption
§fee_ciphertext_hi: FeeEncryption
§fee_parameters: FeeParameters
§proof: TransferWithFeeProof
Implementations§
source§impl TransferWithFeeData
impl TransferWithFeeData
pub fn new( transfer_amount: u64, _: (u64, &ElGamalCiphertext), source_keypair: &ElGamalKeypair, _: (&ElGamalPubkey, &ElGamalPubkey), fee_parameters: FeeParameters, withdraw_withheld_authority_pubkey: &ElGamalPubkey ) -> Result<TransferWithFeeData, 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-with-fee data
sourcepub fn decrypt_fee_amount(
&self,
role: Role,
sk: &ElGamalSecretKey
) -> Result<u64, ProofError>
pub fn decrypt_fee_amount( &self, role: Role, sk: &ElGamalSecretKey ) -> Result<u64, ProofError>
Decrypts transfer amount from transfer-with-fee data
Trait Implementations§
source§impl Clone for TransferWithFeeData
impl Clone for TransferWithFeeData
source§fn clone(&self) -> TransferWithFeeData
fn clone(&self) -> TransferWithFeeData
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 TransferWithFeeData
impl Verifiable for TransferWithFeeData
impl Copy for TransferWithFeeData
impl Pod for TransferWithFeeData
Auto Trait Implementations§
impl RefUnwindSafe for TransferWithFeeData
impl Send for TransferWithFeeData
impl Sync for TransferWithFeeData
impl Unpin for TransferWithFeeData
impl UnwindSafe for TransferWithFeeData
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
.