Anchor
Token2022 di Anchor

Token2022 di Anchor

Ekstensi Delegasi Permanen

Ekstensi PermanentDelegate adalah ekstensi akun Mint yang memungkinkan adanya delegasi permanen untuk semua token dari mint tersebut yang mampu mentransfer atau membakar token apa pun dari mint tersebut, dari akun token mana pun.

Initializing the Mint Account

Untuk menginisialisasi ekstensi PermanentDelegate pada akun Mint, kita dapat menggunakan makro yang telah dibuat oleh Anchor untuk kita.

Berikut cara membuat mint dengan ekstensi Delegasi Permanen:

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>,
}

Permissioned Actions

Tidak seperti delegasi biasa yang dapat dicabut, otoritas delegasi ini bersifat permanen dan tidak dapat diubah.

Ini berarti bahwa setiap tindakan normal seperti transfer(), burn(), approve() dan freeze() dapat dieksekusi kapan pun diperlukan langsung oleh otoritas tanpa memerlukan tanda tangan dari pemilik sebenarnya.

Ini berarti kita dapat menggunakan instruksi normal seperti transferChecked(), burnChecked(), ... dan memasukkan otoritas PermanetDelegate ke dalam kolom authority.

Daftar Isi
Lihat Sumber
Blueshift © 2025Commit: 96f50c6