Expand description
Hopper-owned Token-2022 builder and screening surface.
Thin first-class Hopper wrappers over the canonical runtime builders,
plus Token-2022 extension screening re-exports from hopper-solana.
Modules§
Structs§
- Approve
- Builder for Token-2022 Approve (instruction index 4).
- Burn
- Builder for Token-2022 Burn (instruction index 8).
- Close
Account - Builder for Token-2022 CloseAccount (instruction index 9).
- Initialize
Account - Builder for Token-2022 InitializeAccount (instruction index 1).
- MintTo
- Builder for Token-2022 MintTo (instruction index 7).
- Revoke
- Builder for Token-2022 Revoke (instruction index 5).
- Transfer
- Builder for Token-2022 Transfer (instruction index 3).
- Transfer
FeeConfig - Transfer fee configuration extracted from a Token-2022 mint.
- Transfer
Hook - Transfer-hook binding extracted from a Token-2022 mint.
Constants§
- ACCOUNT_
TYPE_ MINT - Account-type discriminator byte: Mint.
- ACCOUNT_
TYPE_ OFFSET - Offset of the
AccountTypediscriminator on any extended Token-2022 account (mint or token account). - ACCOUNT_
TYPE_ TOKEN - Account-type discriminator byte: Token Account.
- EXT_
CONFIDENTIAL_ TRANSFER_ ACCOUNT - Confidential Transfer Account extension.
- EXT_
CONFIDENTIAL_ TRANSFER_ MINT - Confidential Transfer Mint extension.
- EXT_
CPI_ GUARD - CPI Guard extension (token account).
- EXT_
DEFAULT_ ACCOUNT_ STATE - Default Account State extension (mint).
- EXT_
GROUP_ MEMBER_ POINTER - Group Member Pointer extension (mint).
- EXT_
GROUP_ POINTER - Group Pointer extension (mint).
- EXT_
IMMUTABLE_ OWNER - Immutable Owner extension (token account).
- EXT_
INTEREST_ BEARING - Interest-Bearing Mint extension.
- EXT_
MEMO_ TRANSFER - Memo Transfer extension.
- EXT_
METADATA_ POINTER - Metadata Pointer extension (mint).
- EXT_
MINT_ CLOSE_ AUTHORITY - Mint Close Authority extension.
- EXT_
NON_ TRANSFERABLE - Non-Transferable extension (mint).
- EXT_
PERMANENT_ DELEGATE - Permanent Delegate extension (mint).
- EXT_
TOKEN_ METADATA - Token Metadata extension (mint).
- EXT_
TRANSFER_ FEE_ AMOUNT - Transfer Fee Amount extension (token account).
- EXT_
TRANSFER_ FEE_ CONFIG - Transfer Fee Config extension (mint).
- EXT_
TRANSFER_ HOOK - Transfer Hook extension (mint).
- MINT_
BASE_ SIZE - Base mint account data size (before extensions).
- MINT_
LEN - SPL Mint Account total size.
- TLV_
OFFSET - Offset at which the TLV extension region begins on any extended Token-2022 account (mint or token account).
- TOKEN_
2022_ PROGRAM_ ID - Token-2022 program.
- TOKEN_
ACCOUNT_ BASE_ SIZE - Base token account data size (before extensions). Also equal to
ACCOUNT_TYPE_OFFSET: an extended mint is padded up to this length so its AccountType discriminator lives at the same offset as on an extended token account. - TOKEN_
ACCOUNT_ LEN - SPL Token Account total size.
Functions§
- check_
mint_ authority - Check that mint_authority matches the expected pubkey.
- check_
mint_ initialized - Check the mint is initialized.
- check_
no_ confidential_ transfer - Reject mints with Confidential Transfer.
- check_
no_ permanent_ delegate - Reject mints with a Permanent Delegate.
- check_
no_ transfer_ fee - Reject mints that have a Transfer Fee Config extension.
- check_
no_ transfer_ hook - Reject mints with a Transfer Hook.
- check_
not_ frozen - Check the token account is not frozen.
- check_
safe_ token_ 2022_ mint - Blanket safety check: reject mints with any DeFi-unsafe extension.
- check_
token_ balance_ gte - Check the token balance >= min_amount.
- check_
token_ initialized - Check the token account is initialized (state != 0).
- check_
token_ mint - Check the token account mint matches expected.
- check_
token_ owner - Check the token account owner matches expected.
- check_
transfer_ hook_ program - Assert that the mint has a transfer-hook extension and that it
invokes the expected program. Pairs with
read_transfer_hookwhen the program’s business logic depends on a specific hook binding. - check_
transferable - Reject non-transferable (soul-bound) mints.
- find_
extension_ data - Find the first TLV entry of
ext_typein a Token-2022 account’s data. - mint_
authority - Read the mint authority (returns None if COption tag is 0).
- mint_
decimals - Read the decimals from a mint account.
- mint_
freeze_ authority - Read the freeze authority (returns None if COption tag is 0).
- mint_
has_ extension - Check if a Token-2022 mint account has a specific extension.
- mint_
supply - Read the supply from a mint account.
- read_
transfer_ fee_ config - Read the active transfer fee config from a Token-2022 mint.
- read_
transfer_ hook - Read the Transfer Hook binding from a Token-2022 mint, or return
Noneif the mint has no transfer-hook extension. - token_
account_ amount - Read the amount from a token account.
- token_
account_ mint - Read the mint pubkey from a token account.
- token_
account_ owner - Read the owner pubkey from a token account.
- token_
account_ state - Read the state byte (0=uninitialized, 1=initialized, 2=frozen).
- token_
has_ extension - Check if a Token-2022 token account has a specific extension.