ZahlungenAbonnements
Eine Abonnement-Autorisierung ist die PDA, die das Programm als SPL-Token-Delegierten für das Token-Konto eines Benutzers verwendet. Schließen Sie sie, wenn der Benutzer keine aktiven festen Delegationen, wiederkehrenden Delegationen oder Abonnement-Delegationen mehr für diesen Mint hat.
Das Schließen des Kontos gibt dessen Miete (rent) an den Lamport-Finanzierer des Kontos zurück und widerruft die Token-Delegiertengenehmigung, die dem Programm gehört. Der Finanzierer ist normalerweise der Benutzer, kann aber jeder Zahler sein, der das Abonnement-Autorisierungskonto finanziert hat. Wenn noch eine aktive Delegation von der Autorisierung abhängt, schließen Sie zuerst diese Delegationen.
Autorisierung schließen
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();
Hinweise
- Der Benutzer signiert die Schließungstransaktion.
- Wenn ein Sponsor die Abonnement-Autorisierung finanziert hat, übergeben Sie
dieses Sponsor-Konto als
receiver, damit die Miete (rent) an den registrierten Zahler zurückfließt. - Schließen Sie feste, wiederkehrende und Abonnement-Delegations-PDAs, bevor Sie die Abonnement-Autorisierung schließen.
- Wenn der Benutzer später eine neue Delegation erstellt, initialisieren Sie eine neue Abonnement-Autorisierung für denselben Mint.
Is this page helpful?