ÖdemelerAbonelikler

Abonelik Yetkilisini Kapatma

Abonelik Yetkilisi, programın bir kullanıcının token hesabı için SPL Token temsilcisi olarak kullandığı PDA'dır. Kullanıcının o mint için artık aktif sabit delegasyonları, yinelenen delegasyonları veya abonelik delegasyonları kalmadığında kapatın.

Hesabın kapatılması, kirasını hesabın lamport fon sağlayıcısına iade eder ve program tarafından sahip olunan token temsilcisi onayını iptal eder. Fon sağlayıcı genellikle kullanıcıdır, ancak Abonelik Yetkilisi hesabını finanse eden herhangi bir ödeyici olabilir. Herhangi bir aktif delegasyon hâlâ yetkiliye bağlıysa, önce bu delegasyonları kapatın.

Yetkilinin Kapatılması

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

Notlar

  • Kullanıcı kapatma işlemini imzalar.
  • Eğer bir sponsor Abonelik Yetkilisini finanse ettiyse, kiranın kayıtlı ödeyiciye dönmesi için o sponsor hesabını receiver olarak iletin.
  • Abonelik Yetkilisini kapatmadan önce sabit, yinelenen ve abonelik delegasyonu PDA'larını kapatın.
  • Kullanıcı daha sonra yeni bir delegasyon oluşturursa, aynı mint için yeni bir Abonelik Yetkilisi başlatın.

Is this page helpful?

İçindekiler

Sayfayı Düzenle
© 2026 Solana Vakfı. Tüm hakları saklıdır.