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
Mint
pour lequel nous détenons lafreezeAuthority
- Initialisé un compte de
Token
ouAssociated 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(),
},
),
)?;