#[repr(C)]
pub struct ConfidentialTransferMint { pub authority: Pubkey, pub auto_approve_new_accounts: PodBool, pub auditor_pubkey: EncryptionPubkey, pub withdraw_withheld_authority_pubkey: EncryptionPubkey, pub withheld_amount: EncryptedWithheldAmount, }
Expand description

Confidential transfer mint configuration

Fields

authority: Pubkey

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 (see ConfidentialTransferInstruction::ConfigureAccount)
auditor_pubkey: 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.
withdraw_withheld_authority_pubkey: EncryptionPubkey
  • 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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Associated extension type enum, checked at the start of TLV entries

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern. Read more

If this function returns true, then it must be valid to reinterpret bits as &Self.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.