Instrução Set Authority
Altera a autoridade de uma conta. Isso pode ser usado para revogar ou transferir autoridades em contas Mint e contas de Token.
Antes de podermos alterar qualquer autoridade, precisaremos já ter:
Inicializado uma conta
Mintou contaToken.A conta deve ter a autoridade que desejamos alterar configurada.
Instrução Bruta
Usando apenas a instrução "bruta" sem qualquer abstração, é assim que ficaria alterar a autoridade de mint:
ts
// Definir nova autoridade de mint
const setAuthorityInstruction = createSetAuthorityInstruction(
mint, // conta mint
keypair.publicKey, // autoridade atual
AuthorityType.MintTokens, // tipo de autoridade
newAuthority, // nova autoridade (null para revogar)
);
const transaction = new Transaction().add(setAuthorityInstruction);
const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);
console.log(`Autoridade alterada! Confira sua TX aqui: https://explorer.solana.com/tx/${signature}?cluster=devnet`);Instrução Abstraída
É assim que as mesmas instruções ficariam abstraídas com a instrução setAuthority():
ts
let tx = await setAuthority(
connection, // conexão
keypair, // pagador
mint, // conta mint
keypair.publicKey, // autoridade atual
AuthorityType.MintTokens, // tipo de autoridade
newAuthority, // nova autoridade (null para revogar)
);
console.log(`Autoridade definida com sucesso! Transação aqui: https://explorer.solana.com/tx/${tx}?cluster=devnet`)