Expand description

Extensions available to token mints and accounts

Modules

Confidential Transfer extension

Default Account State extension

Immutable Owner extension

Memo Transfer extension

Mint Close Authority extension

Utility to reallocate token accounts

Transfer Fee extension

Structs

Length in TLV structure

Encapsulates immutable base state data (mint or account) with possible extensions

Encapsulates mutable base state data (mint or account) with possible extensions

Encapsulates owned immutable base state data (mint or account) with possible extensions

Enums

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.

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

Trait for base states, specifying the associated enum

Trait to be implemented by all extension states, specifying which extension and account type they are associated with

Functions

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.