المدفوعاتالاشتراكات

إغلاق صلاحية الاشتراك

صلاحية الاشتراك هي PDA الذي يستخدمه البرنامج كمفوض لرمز SPL لحساب الرموز الخاص بالمستخدم. قم بإغلاقه عندما لم يعد لدى المستخدم تفويضات ثابتة نشطة أو تفويضات متكررة أو تفويضات اشتراك لتلك العملة.

يؤدي إغلاق الحساب إلى إرجاع إيجاره إلى ممول lamport الخاص بالحساب وإلغاء موافقة مفوض الرمز المملوكة للبرنامج. عادةً ما يكون الممول هو المستخدم، ولكن يمكن أن يكون أي دافع قام بتمويل حساب صلاحية الاشتراك. إذا كان أي تفويض نشط لا يزال يعتمد على الصلاحية، فأغلق تلك التفويضات أولاً.

إغلاق الصلاحية

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

ملاحظات

  • يوقع المستخدم على معاملة الإغلاق.
  • إذا قام راعٍ بتمويل صلاحية الاشتراك، مرر حساب الراعي هذا كـ receiver حتى يعود الإيجار إلى الدافع المسجل.
  • أغلق PDAs الخاصة بالتفويض الثابت والمتكرر وتفويض الاشتراك قبل إغلاق صلاحية الاشتراك.
  • إذا أنشأ المستخدم تفويضاً جديداً لاحقاً، قم بتهيئة صلاحية اشتراك جديدة لنفس العملة.

Is this page helpful?

جدول المحتويات

تعديل الصفحة