PagamentiAbbonamenti
Un'Autorità di Sottoscrizione è il PDA che il programma utilizza come delegato SPL Token per l'account token di un utente. Chiudilo quando l'utente non ha più deleghe fisse attive, deleghe ricorrenti o deleghe di sottoscrizione per quella mint.
La chiusura dell'account restituisce il suo rent al finanziatore di lamport dell'account e revoca l'approvazione del delegato token di proprietà del programma. Il finanziatore è solitamente l'utente, ma può essere qualsiasi pagatore che abbia finanziato l'account Autorità di Sottoscrizione. Se una delega attiva dipende ancora dall'autorità, chiudi prima tali deleghe.
Chiudi l'Autorità
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();
Note
- L'utente firma la transazione di chiusura.
- Se uno sponsor ha finanziato l'Autorità di Sottoscrizione, passa quell'account
sponsor come
receiveraffinché il rent ritorni al pagatore registrato. - Chiudi i PDA di delega fissi, ricorrenti e di sottoscrizione prima di chiudere l'Autorità di Sottoscrizione.
- Se l'utente crea successivamente una nuova delega, inizializza una nuova Autorità di Sottoscrizione per la stessa mint.
Is this page helpful?