Instruksi Menutup Akun
Menutup akun token dan mentransfer sisa SOL rent ke akun tujuan. Akun token harus memiliki saldo nol kecuali jika itu adalah akun SOL native.
Sebelum kita dapat menutup akun token, kita perlu sudah memiliki:
- Akun
Mint
yang telah diinisialisasi - Akun
Token
atau akunAssociated Token
yang telah diinisialisasi dan tidak memiliki token di dalamnya.
Instruksi Mentah
Dengan menggunakan instruksi "mentah" tanpa abstraksi, beginilah cara menutup akun:
ts
// Delegate an ATA
const closeAccountInstruction = createCloseAccountInstruction(
tokenAccount // account
keypair.publickey // destination
keypair.publickey // authority
);
const transaction = new Transaction().add(closeAccountInstruction);
const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);
console.log(`Token accounts closed! Check out your TX here: https://explorer.solana.com/tx/${signature}?cluster=devnet`);
Instruksi Terabstraksi
Beginilah tampilan instruksi yang sama jika diabstraksikan dengan instruksi closeAccount()
:
ts
let tx = await closeAccount(
connection,
keypair,
ata.address, // token Account
keypair.publicKey, // destination
keypair.publicKey, // authority
);
console.log(`Succesfully Closed!. Transaction Here: https://explorer.solana.com/tx/${tx}?cluster=devnet`)