Close Account Instruction
Schließt ein Token-Konto und überträgt die verbleibende SOL-Miete auf ein Zielkonto. Das Token-Konto muss einen Nullsaldo aufweisen, es sei denn, es handelt sich um ein natives SOL-Konto.
Bevor wir ein Token-Konto schließen können, müssen wir bereits Folgendes haben:
Ein initialisiertes
MintKontoEin initialisiertes
TokenKonto oderAssociated TokenKonto, das keine Token enthält.
Raw Instruction
Bei Verwendung einer "rohen" Anweisung ohne Abstraktion würde das Schließen eines Kontos so aussehen:
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`);Abstracted Instruction
So würden die gleichen Anweisungen aussehen, wenn sie mit der closeAccount()Anweisung abstrahiert werden:
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`)