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.
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.
Avant de pouvoir geler et débloquer un jeton, nous devons déjà avoir :
Initialisé un compte de
Mintpour lequel nous détenons lafreezeAuthorityInitialisé un compte de
TokenouAssociated Tokenque 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(),
},
),
)?;