PagamentosAssinaturas

Fechar Autoridade de Assinatura

Uma Autoridade de Assinatura é o PDA que o programa usa como delegado de Token SPL para a token account de um usuário. Feche-a quando o usuário não tiver mais delegações fixas ativas, delegações recorrentes ou delegações de assinatura para esse mint.

Fechar a conta retorna seu rent ao financiador de lamport da conta e revoga a aprovação de delegado de token pertencente ao programa. O financiador geralmente é o usuário, mas pode ser qualquer pagador que financiou a conta de Autoridade de Assinatura. Se alguma delegação ativa ainda depender da autoridade, feche essas delegações primeiro.

Fechar a Autoridade

import { address, createClient } from '@solana/kit';
import { solanaLocalRpc } from '@solana/kit-plugin-rpc';
import { signer } from '@solana/kit-plugin-signer';
import {
findSubscriptionAuthorityPda,
subscriptionsProgram,
} from '@solana/subscriptions';
const client = createClient()
.use(signer(userSigner))
.use(solanaLocalRpc({ rpcUrl: 'http://127.0.0.1:8899' }))
.use(subscriptionsProgram());
const tokenMint = address('TOKEN_MINT_ADDRESS_HERE');
const [subscriptionAuthorityPda] = await findSubscriptionAuthorityPda({
user: userSigner.address,
tokenMint,
});
await client.subscriptions.instructions
.closeSubscriptionAuthority({
user: userSigner,
tokenMint,
// Include this only when a sponsor funded the Subscription Authority.
receiver: sponsorSigner.address,
})
.sendTransaction();

Observações

  • O usuário assina a transação de fechamento.
  • Se um patrocinador financiou a Autoridade de Assinatura, passe essa conta de patrocinador como receiver para que o rent retorne ao pagador registrado.
  • Feche os PDAs de delegação fixa, recorrente e de assinatura antes de fechar a Autoridade de Assinatura.
  • Se o usuário criar uma nova delegação posteriormente, inicialize uma nova Autoridade de Assinatura para o mesmo mint.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.