Anchor
Token2022 avec Anchor

Token2022 avec Anchor

L'Extension Permanent Delegate

L'extension permanent_delegate (Délégué permanent) est une extension de compte de Mint qui permet à un délégué permanent de tous les jetons d'un mint de transférer ou de brûler n'importe quel jeton de ce mint, à partir de n'importe quel compte de jetons.

Initialisation du Compte de Mint

Pour initialiser l'extension permanent_delegate sur un compte de Mint nous pouvons simplement utiliser la macro créée pour nous par Anchor.

Voici comment créer un compte de mint avec l'extension permanent_delegate :

rust
#[derive(Accounts)]
pub struct CreateMint<'info> {
    #[account(mut)]
    pub signer: Signer<'info>,
    #[account(
        init,
        payer = signer,
        mint::decimals = 6,
        mint::authority = signer.key(),
        mint::token_program = token_program
        extensions::permanent_delegate::delegate = signer,
    )]
    pub mint: InterfaceAccount<'info, Mint>,
    pub system_program: Program<'info, System>,
    pub token_program: Interface<'info, TokenInterface>,
}

Actions Autorisées

Contrairement aux délégués classiques qui peuvent être révoqués, cette délégation d'autorité est permanente et immuable.

Cela signifie que toutes les actions courantes telles que transfer(), burn(), approve() et freeze() peuvent être exécutées à tout moment directement par l'autorité sans nécessiter la signature du propriétaire réel.

Cela signifie que nous pouvons utiliser les instructions transferChecked(), burnChecked(), etc... et passer l'autorité PermanetDelegate dans le champs authority.

Blueshift © 2025Commit: 6d01265