#[repr(C)]pub struct ConfidentialTransferFeeConfig {
pub authority: OptionalNonZeroPubkey,
pub withdraw_withheld_authority_elgamal_pubkey: ElGamalPubkey,
pub harvest_to_mint_enabled: PodBool,
pub withheld_amount: EncryptedWithheldAmount,
}
Expand description
Confidential transfer fee extension data for mints
Fields§
Optional authority to set the withdraw withheld authority ElGamal key
Withheld fees from accounts must be encrypted with this ElGamal key.
Note that whoever holds the ElGamal private key for this ElGamal public key has the ability to decode any withheld fee amount that are associated with accounts. When combined with the fee parameters, the withheld fee amounts can reveal information about transfer amounts.
harvest_to_mint_enabled: PodBool
If false
, the harvest of withheld tokens to mint is rejected.
withheld_amount: EncryptedWithheldAmount
Withheld confidential transfer fee tokens that have been moved to the mint for withdrawal.
Trait Implementations§
source§impl Clone for ConfidentialTransferFeeConfig
impl Clone for ConfidentialTransferFeeConfig
source§fn clone(&self) -> ConfidentialTransferFeeConfig
fn clone(&self) -> ConfidentialTransferFeeConfig
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 Default for ConfidentialTransferFeeConfig
impl Default for ConfidentialTransferFeeConfig
source§fn default() -> ConfidentialTransferFeeConfig
fn default() -> ConfidentialTransferFeeConfig
Returns the “default value” for a type. Read more
source§impl Extension for ConfidentialTransferFeeConfig
impl Extension for ConfidentialTransferFeeConfig
source§const TYPE: ExtensionType = ExtensionType::ConfidentialTransferFeeConfig
const TYPE: ExtensionType = ExtensionType::ConfidentialTransferFeeConfig
Associated extension type enum, checked at the start of TLV entries
source§impl PartialEq for ConfidentialTransferFeeConfig
impl PartialEq for ConfidentialTransferFeeConfig
source§fn eq(&self, other: &ConfidentialTransferFeeConfig) -> bool
fn eq(&self, other: &ConfidentialTransferFeeConfig) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for ConfidentialTransferFeeConfig
impl Pod for ConfidentialTransferFeeConfig
impl StructuralPartialEq for ConfidentialTransferFeeConfig
Auto Trait Implementations§
impl Freeze for ConfidentialTransferFeeConfig
impl RefUnwindSafe for ConfidentialTransferFeeConfig
impl Send for ConfidentialTransferFeeConfig
impl Sync for ConfidentialTransferFeeConfig
impl Unpin for ConfidentialTransferFeeConfig
impl UnwindSafe for ConfidentialTransferFeeConfig
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> 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
.source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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