Burn Instruction
Permanently destroys tokens by removing them from circulation. This reduces the total supply of the token.
Before we can burn any token, we'll need to already have:
- Initialized a
Mintaccount. - A
Tokenaccount orAssociated Tokenaccount that already has at least the amount we want to burn.
This is how the CPI to the burn() instruction looks like:
rust
burn(
CpiContext::new(
ctx.accounts.token_program.to_account_info(),
Burn {
mint: ctx.accounts.mint.to_account_info(),
from: ctx.accounts.token_account.to_account_info(),
authority: ctx.accounts.authority.to_account_info(),
},
),
&1_000_000,
)?;