> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-27 — LaunchLab: المنصة تحتفظ بسلطة سحب الرسوم المحتجزة من إنشاء الـ mint

> InitializeWithToken2022 تكتب الآن PlatformConfig.transfer_fee_extension_auth إلى withdraw_withheld_authority الخاص بـ mint الأساسي الجديد بدلاً من PDA سلطة الإطلاق، و MigrateToCpswap تعيد تعيين تلك السلطة فقط عندما يظل PDA يحتفظ بها. لا توجد تغييرات في تخطيط الحساب أو التعليمات أو الأخطاء.

<Info>
  **هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.**

  [عرض النسخة الإنجليزية →](/reference/changelog/2026-08-27-launchlab-token2022-withheld-authority)
</Info>

<Info>
  يغطي هذا الإدخال تحديث برنامج LaunchLab القادم. تم التحقق منه مقابل فرع الإصدار المحلي قبل النشر. تأكد من البرنامج المنشور قبل الاعتماد على سحب الرسوم المحتجزة قبل التخرج.
</Info>

يمكن لـ mint أساسي من Token-2022 تم إنشاؤه بواسطة `InitializeWithToken2022` أن يحمل `TransferFeeConfig`. يحتوي هذا الامتداد على سلطتين: `transfer_fee_config_authority`، التي تغير معدل الرسوم والحد الأقصى للرسوم، و `withdraw_withheld_authority`، التي تسحب الرسوم التي يحتفظ بها Token-2022 على حسابات الرموز.

حتى هذا الإصدار، كان البرنامج يضع PDA سلطة الإطلاق على كليهما عند إنشاء mint وسلمهما إلى `PlatformConfig.transfer_fee_extension_auth` عند التخرج. برنامج launchpad ليس لديه تعليمات سحب محتجزة أو حصاد، لذا طوال مرحلة منحنى الربط لم يتمكن أحد من سحب الرصيد المحتجز — المفتاح الوحيد الذي يمكنه ذلك كان PDA بدون تعليمات للتوقيع معها.

يكتب هذا الإصدار `transfer_fee_extension_auth` مباشرة إلى `withdraw_withheld_authority` عند إنشاء mint، بحيث يمكن للمنصة مسح الرسوم المحتجزة من أول صفقة. تكتسب `MigrateToCpswap` حارسًا بحيث تعيد تعيين تلك السلطة فقط عندما يظل PDA هو الذي يحتفظ بها، مما يحافظ على عمل التخرج لـ mints من كلا الجيلين.

لم يتغير شيء آخر. لم ينمُ أي حساب أو ينكمش، لم تكتسب أي تعليمات أو تفقد حسابًا، لم تتغير أي حجة، ولم تتحرك أي رمز خطأ.

## ملخص سريع للمدمجين

* **رسوم التحويل المحتجزة قابلة للسحب أثناء الإطلاق.** على إطلاق Token-2022 جديد تم تعيين `transfer_fee_extension_auth` للمنصة، هذا المفتاح هو `withdraw_withheld_authority` الخاص بـ mint من الإنشاء. استدعِ `WithdrawWithheldTokensFromAccounts` / `WithdrawWithheldTokensFromMint` الخاص بـ Token-2022 مباشرة؛ LaunchLab ليس لديها تعليمات لهذا ولم تكن أبدًا.
* **توقيت `transfer_fee_config_authority` لم يتغير.** لا يزال PDA سلطة الإطلاق حتى التخرج، ولا يزال ينتقل إلى `transfer_fee_extension_auth` في `MigrateToCpswap`. لا يمكن تغيير معدل الرسوم أثناء الإطلاق.
* **اضبط `transfer_fee_extension_auth` قبل الإطلاق.** عندما يكون `Pubkey::default()` عند إنشاء mint، تعود سلطة السحب إلى PDA `authority` — السلوك القديم. تعيين الحقل لاحقًا لا يزال يسترجع السلطة عند التخرج، لكن الرصيد المحتجز يبقى عالقًا حتى ذلك الحين.
* **لا تدوّر الحقل أثناء الإطلاق.** يتم قراءة السلطتين في لحظتين مختلفتين، لذا فإن القيمة التي تتغير بينهما تتركهما على مفاتيح مختلفة. التفاصيل في [دوران يقسم السلطتين](#rotation-splits-the-two-authorities).
* **`MigrateToCpswap` لم تتغير للمستدعين.** نفس الحسابات، نفس الحجج، نفس الأخطاء. الحارس الجديد داخلي؛ بدونه، ستعود هجرة mint من الجيل الجديد داخل Token-2022 لأن PDA لا يمكنها التوقيع على سلطة لا تحتفظ بها.
* **الإطلاقات الموجودة لم تتأثر.** تحتفظ Mints الموجودة بالفعل على السلسلة بـ PDA على كلا السلطتين ولا تزال تسلمهما عند التخرج.
* **لا يلزم تحديث IDL.** لم تتغير التخطيطات أو الحسابات أو الحجج أو رموز الأخطاء.

## من يحتفظ بماذا، وفي أي وقت

| السلطة                          | الحامل عند إنشاء mint                                                                   | الحامل بعد `MigrateToCpswap`                                                            |
| ------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `withdraw_withheld_authority`   | `transfer_fee_extension_auth`؛ PDA `authority` عندما يكون هذا الحقل `Pubkey::default()` | لم يتغير عندما يكون بالفعل مفتاح المنصة. معاد التعيين فقط إذا كان PDA لا يزال يحتفظ به. |
| `transfer_fee_config_authority` | PDA `authority`، دائمًا                                                                 | `transfer_fee_extension_auth`، عندما يكون هذا الحقل غير افتراضي                         |

لا تزال كلا عمليات التسليم خلف نفس الشرط الخارجي الذي كانت عليه دائمًا: يجب أن يحمل mint الأساسي `TransferFeeConfig` **و** يجب أن يكون `transfer_fee_extension_auth` غير افتراضي. المنصة التي لا تعيّن الحقل أبدًا تحتفظ بكلا السلطتين على PDA `authority` إلى الأبد — لا يمكن تغيير معدل الرسوم أبدًا ولا يمكن سحب الرصيد المحتجز أبدًا.

## الدوران يقسم السلطتين

يتم قراءة `transfer_fee_extension_auth` مرتين لكل إطلاق، في لحظتين قد تكونان بفاصل أيام:

1. في `InitializeWithToken2022`، لـ `withdraw_withheld_authority`.
2. في `MigrateToCpswap`، لـ `transfer_fee_config_authority` — وللـ `withdraw_withheld_authority` فقط عندما يظل PDA يحتفظ به.

دوّر الحقل عبر `UpdatePlatformConfig` بينهما والسلطتان تهبطان على مفاتيح مختلفة: يحتفظ جانب السحب بالمفتاح الذي تم تكوينه عند الإنشاء، لأن PDA لم تعد تحتفظ به وتخطي الهجرة تلك عملية التسليم، بينما يذهب جانب تكوين الرسوم إلى المفتاح الجديد. لا تفشل أي من الاستدعاءات؛ الانقسام صامت. دوّر بين الإطلاقات، أو وفّق المفاتيح لاحقًا عبر Token-2022 مباشرة مع المفتاح القديم الموقّع.

## لماذا الحارس مطلوب، وليس مجرد دفاعي

يتطلب `SetAuthority` الخاص بـ Token-2022 من السلطة *الحالية* التوقيع. بموجب قاعدة الإنشاء الجديدة، PDA سلطة الإطلاق ليست سلطة السحب المحتجزة على mint جديد، لذا فإن CPI غير المشروط الذي كان البرنامج يقوم به سيفشل — وبما أنه يقع داخل `MigrateToCpswap`، فإن هذا الفشل كان سيحجب التخرج لكل إطلاق Token-2022 برسوم تحويل على منصة قامت بتكوين الحقل. التغييران يعملان فقط كزوج.

## ما لم يتغير

* **رياضيات ومحاسبة رسوم التحويل.** `MAX_TRANSFER_FEE_RATE` لا يزال `500` (5%، المقسوم عليه `10_000`)، الرسوم لا تزال مسعرة في المنحنى بنفس الطريقة، والرصيد المحتجز لا يزال يتراكم على حسابات الرموز التي يضعها Token-2022 عليها.
* **واجهة `MigrateToCpswap`.**  نفس قائمة الحسابات، نفس مؤشرات `remaining_accounts`، نفس برنامجي الرموز، لا توجد حجج.
* **واجهة `InitializeWithToken2022`.**  نفس الحسابات، نفس `TransferFeeExtensionParams`، نفس رفض `NoSupportExtension` لأي شيء خارج `MetadataPointer` و `TransferFeeConfig`.
* **معالجة Token-2022 من جانب الاقتباس.** لم تتغير من [2026-08-24](/ar/reference/changelog/2026-08-24-launchlab-token2022-quote-mint).
* **رموز الأخطاء.** `6000`–`6023` لم تتغير؛ هذا الإصدار لا يضيف أي منها.
* **تخطيطات الحسابات و IDL.** لم تتغير. `PlatformConfig.transfer_fee_extension_auth` تحتفظ بإزاحتها ونوعها؛ فقط عندما قرأ البرنامج تغيّر.

## الصفحات المحدثة

* `products/launchlab/platform-config` — قسم جديد "سلطات رسوم التحويل Token-2022" يغطي كلا السلطتين، كلا نقاط التسليم، وفخ الدوران؛ تم تصحيح تعليق التخطيط وقائمة المخاطر.
* `products/launchlab/instructions` — `MigrateToCpswap` تكتسب كتلة "تسليم سلطة رسوم التحويل Token-2022"؛ تسجل شروط ما بعد `Initialize` سلطات إنشاء mint الجديدة.
* `products/launchlab/accounts` — قائمة دور PDA للسلطة وقسم mint الأساسي يلاحظ أي سلطات رسوم تحويل يحتفظ بها PDA فعليًا.
* `reference/token-2022-support` — إدخال LaunchLab base-mint ينص على من يحتفظ بسلطات رسوم التحويل ومتى.
