Anchor
SPL Token com Anchor

SPL Token com Anchor

Instruções de Freeze e Thaw

Freeze impede todas as operações de token em uma conta até que ela seja descongelada (thaw). Apenas a autoridade de freeze da mint pode realizar essa operação.

Desabilita completamente transferências, aprovações e queimas e afeta apenas a conta específica congelada

Thaw reabilita as operações de token em uma conta previamente congelada. Apenas a autoridade de freeze da mint pode descongelar contas.

Restaura a funcionalidade completa de uma conta congelada e só pode ser executada pela autoridade de freeze da mint

Antes de podermos congelar ou descongelar qualquer conta de token, precisaremos já ter:

  • Inicializado uma conta Mint da qual detemos a freezeAuthority

  • Inicializado uma conta Token ou Associated Token que desejamos congelar ou descongelar

Veja como fica a CPI para a instrução 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(),
        },
    ),
)?;

E veja como fica a CPI para a instrução 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 © 2026Commit: 1b88646