Module extension

Source
Expand description

Extensions available to token mints and accounts

Modules§

confidential_transfer
Confidential Transfer extension
cpi_guard
CPI Guard extension
default_account_state
Default Account State extension
immutable_owner
Immutable Owner extension
interest_bearing_mint
Interest-Bearing Mint extension
memo_transfer
Memo Transfer extension
mint_close_authority
Mint Close Authority extension
non_transferable
Non Transferable extension
permanent_delegate
Permanent Delegate extension
reallocate
Utility to reallocate token accounts
transfer_fee
Transfer Fee extension

Structs§

Length
Length in TLV structure
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
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.