#[repr(C)]pub struct ConfidentialTransferMint {
pub authority: Pubkey,
pub auto_approve_new_accounts: PodBool,
pub pubkey_auditor: EncryptionPubkey,
pub pubkey_withdraw_withheld_authority: EncryptionPubkey,
pub withheld_amount: EncryptedWithheldAmount,
}
Expand description
Confidential transfer mint configuration
Fields
Authority to modify the ConfidentialTransferMint
configuration and to approve new
accounts (if auto_approve_new_accounts
is true)
Note that setting an authority of Pubkey::default()
is the idiomatic way to disable
future changes to the configuration.
The legacy Token Multisig account is not supported as the authority
auto_approve_new_accounts: PodBool
Indicate if newly configured accounts must be approved by the authority
before they may be
used by the user.
- If
true
, no approval is required and new accounts may be used immediately - If
false
, the authority must approve newly configured accounts (seeConfidentialTransferInstruction::ConfigureAccount
)
pubkey_auditor: EncryptionPubkey
- If non-zero, transfers must include ElGamal cypertext with this public key permitting the auditor to decode the transfer amount.
- If all zero, auditing is currently disabled.
- If non-zero, transfers must include ElGamal cypertext of the transfer fee with this public key. If this is the case, but the base mint is not extended for fees, then any transfer will fail.
- If all zero, transfer fee is disabled. If this is the case, but the base mint is extended for fees, then any transfer will fail.
withheld_amount: EncryptedWithheldAmount
Withheld transfer fee confidential tokens that have been moved to the mint for withdrawal. This will always be zero if fees are never enabled.
Trait Implementations
sourceimpl Clone for ConfidentialTransferMint
impl Clone for ConfidentialTransferMint
sourcefn clone(&self) -> ConfidentialTransferMint
fn clone(&self) -> ConfidentialTransferMint
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ConfidentialTransferMint
impl Debug for ConfidentialTransferMint
sourceimpl Default for ConfidentialTransferMint
impl Default for ConfidentialTransferMint
sourcefn default() -> ConfidentialTransferMint
fn default() -> ConfidentialTransferMint
Returns the “default value” for a type. Read more
sourceimpl Extension for ConfidentialTransferMint
impl Extension for ConfidentialTransferMint
sourceconst TYPE: ExtensionType
const TYPE: ExtensionType
Associated extension type enum, checked at the start of TLV entries
sourceimpl PartialEq<ConfidentialTransferMint> for ConfidentialTransferMint
impl PartialEq<ConfidentialTransferMint> for ConfidentialTransferMint
sourcefn eq(&self, other: &ConfidentialTransferMint) -> bool
fn eq(&self, other: &ConfidentialTransferMint) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ConfidentialTransferMint) -> bool
fn ne(&self, other: &ConfidentialTransferMint) -> bool
This method tests for !=
.
impl Copy for ConfidentialTransferMint
impl Pod for ConfidentialTransferMint
impl StructuralPartialEq for ConfidentialTransferMint
Auto Trait Implementations
impl RefUnwindSafe for ConfidentialTransferMint
impl Send for ConfidentialTransferMint
impl Sync for ConfidentialTransferMint
impl Unpin for ConfidentialTransferMint
impl UnwindSafe for ConfidentialTransferMint
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more