pub struct TransferWithFeeProofContext {
pub ciphertext_lo: PodTransferAmountCiphertext,
pub ciphertext_hi: PodTransferAmountCiphertext,
pub transfer_with_fee_pubkeys: TransferWithFeePubkeys,
pub new_source_ciphertext: PodElGamalCiphertext,
pub fee_ciphertext_lo: PodFeeCiphertext,
pub fee_ciphertext_hi: PodFeeCiphertext,
}Expand description
The proof context information needed to process a [Transfer] instruction with fee.
Fields§
§ciphertext_lo: PodTransferAmountCiphertextGroup encryption of the low 16 bits of the transfer amount
ciphertext_hi: PodTransferAmountCiphertextGroup encryption of the high 48 bits of the transfer amount
transfer_with_fee_pubkeys: TransferWithFeePubkeysThe public encryption keys associated with the transfer: source, destination, auditor, and withdraw withheld authority
new_source_ciphertext: PodElGamalCiphertextThe final spendable ciphertext after the transfer,
fee_ciphertext_lo: PodFeeCiphertextThe transfer fee encryption of the low 16 bits of the transfer fee amount
fee_ciphertext_hi: PodFeeCiphertextThe transfer fee encryption of the hi 32 bits of the transfer fee amount
Implementations§
Source§impl TransferWithFeeProofContext
impl TransferWithFeeProofContext
pub fn verify_and_extract( equality_proof_context: &CiphertextCommitmentEqualityProofContext, transfer_amount_ciphertext_validity_proof_context: &BatchedGroupedCiphertext3HandlesValidityProofContext, fee_sigma_proof_context: &PercentageWithCapProofContext, fee_ciphertext_validity_proof_context: &BatchedGroupedCiphertext2HandlesValidityProofContext, range_proof_context: &BatchedRangeProofContext, expected_fee_rate_basis_points: u16, expected_maximum_fee: u64, ) -> Result<Self, TokenProofExtractionError>
Auto Trait Implementations§
impl Freeze for TransferWithFeeProofContext
impl RefUnwindSafe for TransferWithFeeProofContext
impl Send for TransferWithFeeProofContext
impl Sync for TransferWithFeeProofContext
impl Unpin for TransferWithFeeProofContext
impl UnsafeUnpin for TransferWithFeeProofContext
impl UnwindSafe for TransferWithFeeProofContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more