PłatnościSubskrypcje

Zamknij Uprawnienie Subskrypcji

Uprawnienie Subskrypcji to PDA, którego program używa jako delegata SPL Token dla konta tokenowego użytkownika. Zamknij je, gdy użytkownik nie ma już aktywnych stałych delegacji, cyklicznych delegacji lub delegacji subskrypcji dla tego minta.

Zamknięcie konta zwraca jego rent do dostawcy lamportów konta i cofa zatwierdzenie delegata tokena będącego własnością programu. Dostawcą jest zazwyczaj użytkownik, ale może to być dowolny płatnik, który sfinansował konto Uprawnienia Subskrypcji. Jeśli jakakolwiek aktywna delegacja nadal zależy od uprawnienia, najpierw zamknij te delegacje.

Zamknij Uprawnienie

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();

Uwagi

  • Użytkownik podpisuje transakcję zamknięcia.
  • Jeśli sponsor sfinansował Uprawnienie Subskrypcji, przekaż to konto sponsora jako receiver, aby rent wrócił do zarejestrowanego płatnika.
  • Zamknij PDA stałych, cyklicznych i subskrypcyjnych delegacji przed zamknięciem Uprawnienia Subskrypcji.
  • Jeśli użytkownik utworzy nową delegację później, zainicjuj nowe Uprawnienie Subskrypcji dla tego samego minta.

Is this page helpful?

Spis treści

Edytuj stronę