Anchor
SPL Token avec Anchor

SPL Token avec Anchor

Instructions Freeze et Thaw

Freeze empêche toutes les opérations liées aux jetons sur un compte jusqu'à ce qu'il soit débloqué. Seule l'autorité de gel du mint peut effectuer cette opération.

Désactive complètement les transferts, les approbations et les burn. Cela n'affecte que le compte gelé concerné

Thaw réactive les opérations liées aux jetons sur un compte précédemment gelé. Seule l'autorité de gel du mint peut débloquer des comptes.

Restaure toutes les fonctionnalités du compte gelé. Ne peut être effectuée que par l'autorité de gel du mint

Avant de pouvoir geler et débloquer un jeton, nous devons déjà avoir :

  • Initialisé un compte de Mint pour lequel nous détenons la freezeAuthority
  • Initialisé un compte de Token ou Associated Token que nous voulons geler ou débloquer

Voici à quoi ressemble le CPI à l'instruction freeze_account() :

rust
freeze_account(
    CpiContext::new(
        ctx.accounts.token_program.to_account_info(),
        FreezeAccount {
            account: ctx.accounts.token_account.to_account_info(),
            mint: ctx.accounts.mint.to_account_info(),
            authority: ctx.accounts.authority.to_account_info(),
        },
    ),
)?;

Et voici à quoi ressemble le CPI à l'instruction thaw_account() :

rust
thaw_account(
    CpiContext::new(
        ctx.accounts.token_program.to_account_info(),
        ThawAccount {
            account: ctx.accounts.token_account.to_account_info(),
            mint: ctx.accounts.mint.to_account_info(),
            authority: ctx.accounts.authority.to_account_info(),
        },
    ),
)?;
Blueshift © 2025Commit: 6d01265
Blueshift | SPL Token avec Anchor | Freeze and Thaw