Module extension

Source
Expand description

Extensions available to token mints and accounts

Modules§

confidential_mint_burn
Confidential mint-burn extension
confidential_transfer
Confidential Transfer extension
confidential_transfer_fee
Confidential Transfer Fee extension
cpi_guard
CPI Guard extension
default_account_state
Default Account State extension
group_member_pointer
Group Member Pointer extension
group_pointer
Group Pointer extension
immutable_owner
Immutable Owner extension
interest_bearing_mint
Interest-Bearing Mint extension
memo_transfer
Memo Transfer extension
metadata_pointer
Metadata Pointer extension
mint_close_authority
Mint Close Authority extension
non_transferable
Non Transferable extension
pausable
Pausable extension
permanent_delegate
Permanent Delegate extension
reallocate
Utility to reallocate token accounts
scaled_ui_amount
Scaled UI Amount extension
token_group
Token-group extension
token_metadata
Token-metadata extension
transfer_fee
Transfer Fee extension
transfer_hook
Transfer Hook extension

Structs§

Length
Length in TLV structure
PodStateWithExtensions
Encapsulates immutable base state data (mint or account) with possible extensions, where the base state is Pod for zero-copy serde.
PodStateWithExtensionsMut
Encapsulates mutable base state data (mint or account) with possible extensions, where the base state is Pod for zero-copy serde.
StateWithExtensions
Encapsulates immutable base state data (mint or account) with possible extensions
StateWithExtensionsMut
Encapsulates mutable base state data (mint or account) with possible extensions
StateWithExtensionsOwned
Encapsulates owned immutable base state data (mint or account) with possible extensions

Enums§

AccountType
Different kinds of accounts. Note that Mint, Account, and Multisig types are determined exclusively by the size of the account, and are not included in the account data. AccountType is only included if extensions have been initialized.
ExtensionType
Extensions that can be applied to mints or accounts. Mint extensions must only be applied to mint accounts, and account extensions must only be applied to token holding accounts.

Traits§

BaseState
Trait for base states, specifying the associated enum
BaseStateWithExtensions
Trait for base state with extension
BaseStateWithExtensionsMut
Trait for mutable base state with extension
Extension
Trait to be implemented by all extension states, specifying which extension and account type they are associated with

Functions§

set_account_type
If AccountType is uninitialized, set it to the BaseState’s ACCOUNT_TYPE; if AccountType is already set, check is set correctly for BaseState. This method assumes that the base_data has already been packed with data of the desired type.