> ## 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-10-22 — CLMM: CreateCustomizablePoolV2 يفتح إنشاء مجموعات متعددة للجميع

> تمت إعادة تسمية CreatePermissionedPool إلى CreateCustomizablePoolV2 وتم إزالة بوابة Permission PDA الخاصة به، بحيث يمكن لأي دافع أن ينشئ مجموعات CLMM إضافية لنفس الزوج ورسم الرسوم عند عنوان مشتق من seed_index. تم حذف حساب Permission والتعليمات الإدارية CreatePermissionPda و ClosePermissionPda. كسر للعملاء الذين يستدعون التعليمات القديمة؛ لم يتغير تخطيط الحساب أو رمز الخطأ.

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

  [عرض النسخة الإنجليزية →](/reference/changelog/2026-10-22-clmm-customizable-pool-v2)
</Info>

<Info>
  يغطي هذا الإدخال ترقية برنامج CLMM مجدولة لـ **2026-10-22**. تم التحقق منها مقابل فرع `feat/create-customizable-pool-v2` من `raydium-clmm` (head `18f5db1`) قبل النشر. تأكد من البرنامج المنشور قبل الاعتماد على اسم التعليمات الجديد أو قائمة الحساب.
</Info>

أضافت [إصدار 2026-07-30](/ar/reference/changelog/2026-07-30-clmm-permissioned-pools) `CreatePermissionedPool`، الذي يسمح للمستدعي بإنشاء أكثر من مجموعة واحدة لنفس `(amm_config, token_mint_0, token_mint_1)` بطي `seed_index` في مجموعة PDA. كانت مقيدة: كان على الدافع أن يحتفظ بـ `Permission` PDA صادرة من قبل مسؤول.

يزيل هذا الإصدار تلك البوابة. تمت إعادة تسمية التعليمات إلى **`CreateCustomizablePoolV2`**، ويمكن لأي شخص استدعاؤها، وتم حذف آلية الإذن بالكامل من البرنامج. رياضيات المجموعة والمبادلة والسيولة وأوامر الحد والرسوم والمكافآت لم تتغير.

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

* **`CreatePermissionedPool` → `CreateCustomizablePoolV2`.** نفس الحجج (`CreateCustomizableParams`، `seed_index: u16`) واشتقاق عنوان المجموعة نفسه. يتغير مميز Anchor مع الاسم، لذا فإن المعاملة المبنية مقابل التعليمات القديمة تفشل بعد الترقية. أعد بناؤها مقابل IDL الجديد.
* **حساب `permission` اختفى من قائمة الحساب.** كان يجلس في الفتحة 3، لذا فإن كل حساب من `amm_config` فما بعده يتحرك لأعلى موضع واحد. انظر [قائمة الحساب الجديدة](#createcustomizablepoolv2-account-list).
* **إنشاء المجموعات المتعددة بدون إذن الآن.** يمكن لأي دافع إنشاء مجموعات إضافية لزوج ورسم مع `seed_index` غير صفري. تعامل مع الزوج كما لو كان يحتمل أن يكون لديه العديد من مجموعات CLMM لكل رسم، تم إنشاؤها بواسطة أي شخص.
* **`Permission` و `CreatePermissionPda` و `ClosePermissionPda` تم حذفها.** البرنامج و IDL لم يعودا يعرفان نوع `Permission`.
* **حدّث IDL الخاص بك.** يسقط تعليمتين ونوع حساب واحد، لـ 37 تعليمة و 53 خطأ.
* **لم يتغير تخطيط الحساب ولم يتم إضافة رمز خطأ.** `PoolState.seed_index` يحتفظ بإزاحته؛ فقط معناه يتسع من "مجموعة مرخصة" إلى "أي مجموعة V2".

## ما تغير في البرنامج

### تمت إعادة تسمية `CreatePermissionedPool` إلى `CreateCustomizablePoolV2`

المعالج هو نفس الكود تحت اسم جديد. لا يزال:

* يتطلب `seed_index > 0`؛
* يشتق المجموعة في `["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]`؛
* يأخذ نفس `CreateCustomizableParams` مثل `CreateCustomizablePool`، لذا فإن الرسم من جانب واحد (`collect_fee_on`) والاختيار الديناميكي للرسوم يعملان بنفس الطريقة؛
* يطبق نفس فحوصات دعم Token-2022 مثل `CreatePool`؛
* يسجل `pool_creator` كـ `pool_state.owner` ويكتب `seed_index` في `PoolState`؛
* ينبعث `PoolCreatedEvent`.

فحص Permission PDA هو السلوك الوحيد الذي تم إزالته.

| | المميز القديم | المميز الجديد |
| - | - | - |
| التعليمات | `create_permissioned_pool` → `[36, 243, 179, 35, 42, 239, 53, 229]` | `create_customizable_pool_v2` → `[29, 172, 106, 188, 103, 45, 70, 100]` |

### قائمة حساب `CreateCustomizablePoolV2`

| # | الحساب | W | S | ملاحظات |
| - | - | - | - | - |
| 1 | `payer` | W | S | يدفع الإيجار لكل حساب جديد. أي محفظة. |
| 2 | `pool_creator` | | | مكتوب إلى `pool_state.owner`. ليس موقّعًا ولم يتم التحقق منه. |
| 3 | `amm_config` | | | رسم الرسوم الذي تربط به المجموعة. |
| 4 | `pool_state` | W | | `init` في PDA المشتق من `seed_index`. |
| 5 | `token_mint_0` | | | يجب أن يتم الفرز قبل `token_mint_1`. |
| 6 | `token_mint_1` | | | |
| 7 | `token_vault_0` | W | | PDA `["pool_vault", pool_state, token_mint_0]`. |
| 8 | `token_vault_1` | W | | PDA `["pool_vault", pool_state, token_mint_1]`. |
| 9 | `observation_state` | W | | PDA `["observation", pool_state]`. |
| 10 | `tick_array_bitmap` | W | | PDA `["pool_tick_array_bitmap_extension", pool_state]`. |
| 11 | `token_program_0` | | | البرنامج الذي يمتلك `token_mint_0`. |
| 12 | `token_program_1` | | | البرنامج الذي يمتلك `token_mint_1`. |
| 13 | `system_program` | | | |
| 14 | `rent` | | | |

`remaining_accounts` لم تتغير: PDAs سجل الدعم عندما يحتاج Token-2022 mint إليها، و `DynamicFeeConfig` **الأخير** عندما `enable_dynamic_fee = true`.

<Warning>
  `pool_creator` لم يتم التحقق منه. يمكن لأي دافع كتابة أي عنوان في `pool_state.owner`. يحصل هذا العنوان على الحق في استدعاء `InitializeReward` على المجموعة، لكن لا يمكن استخدامه كإثبات لمن أنشأها. لا تصنف أو تسمي أو تثق في مجموعة V2 من خلال حقل `owner` الخاص بها.
</Warning>

### تم الحذف: `Permission` و `CreatePermissionPda` و `ClosePermissionPda`

* نوع حساب `Permission` (`["permission", authority]`، 280 بايت) تم حذفه من البرنامج.
* تم حذف `CreatePermissionPda` و `ClosePermissionPda`، جنبًا إلى جنب مع مفتاح `permission_pda_admin` المخصص الذي يمكنه توقيعهما.
* PDAs الإذن التي تم إنشاؤها قبل الترقية تبقى على السلسلة. البرنامج لم يعد يقرأها ولا يوجد تعليمات تغلقها.

## رموز الخطأ

لا تغيير. `6000`–`6052` تحتفظ بأرقامها. `NotApproved` (`6000`) لم يعد لديها حالة "الموقّع ليس `admin` ولا `permission_pda_admin`"، لأن تلك التعليمات اختفت.

## ملاحظات الترحيل

* **منشئو المجموعات.** انتقل من `CreatePermissionedPool` إلى `CreateCustomizablePoolV2`، وأسقط حساب `permission`، وحرّك الحسابات المتبقية لأعلى فتحة واحدة. لم تعد بحاجة إلى منحة إدارية.
* **الفهارس والموجهات.** فهرس مجموعات CLMM من `PoolCreatedEvent` أو بمسح حسابات `PoolState`، وليس بشتقاق PDA ذي أربع بذور. قم بتخزين `seed_index` لأي مجموعة حيث تكون غير صفرية، لأنك تحتاجها لإعادة اشتقاق العنوان. توقع المزيد من المجموعات غير الكنسية الآن بعد أن يتمكن أي شخص من إنشاؤها، ولا تفترض أن المجموعة الكنسية هي الأعمق.
* **واجهات المستخدم.** يمكن أن يكون لزوج ورسم العديد من المجموعات بأسعار بدء مختلفة. أظهر السيولة وعنوان المجموعة، ولا تقدم مجموعة كرسمية بسبب `owner` الخاص بها.
* **مستهلكو IDL.** أزل أي كود فك تشفير أو عميل لـ `Permission` و `CreatePermissionPda` و `ClosePermissionPda`.

## ما لم يتغير

* **كل تخطيط حساب**، بما في ذلك `PoolState` (حقل `seed_index` وإزاحته هي نفسها).
* **`CreatePool` و `CreateCustomizablePool`.** لا يزالان ينشئان المجموعة الكنسية الوحيدة لكل زوج ورسم، مع `seed_index = [0, 0]`.
* **المجموعات التي تم إنشاؤها من خلال `CreatePermissionedPool` قبل الترقية.** عناوينها وحالتها و `seed_index` لم تتغير.
* **رموز الخطأ والمبادلة والسيولة والرسم والرسم الديناميكي وسلوك المكافآت وأوامر الحد.**
* **معرّف البرنامج.**

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

* `products/clmm/instructions`: لافتة الترقية؛ صفوف الجرد والبوابة الإدارية؛ قسم `CreateCustomizablePoolV2` مع قائمة الحساب الجديدة.
* `products/clmm/accounts`: `Permission` تم حذفها من الجرد وتوثيقها كمتقاعدة؛ وصف `seed_index`؛ تمت إعادة تسمية مساعد PDA إلى `deriveCustomizablePoolV2`؛ صفوف دورة الحياة.
* `products/clmm/overview`: ملاحظة "ما الجديد".
* `security/admin-and-multisig`: تم إزالة دور `permission_pda_admin` من جدول CLMM.
* `reference/error-codes`: وصف `NotApproved`.
* `reference/token-2022-support`: مسارات إنشاء مجموعة CLMM.
* `sdk-api/anchor-idl`: عدد تعليمات CLMM.
* `protocol-overview/versions-and-migration`: نقطة نقطية لسجل ترقية CLMM.

**تم التحقق مقابل**: فرع `raydium-clmm` `feat/create-customizable-pool-v2` (`18f5db1`): `instructions/create_customizable_pool_v2.rs`، `instructions/mod.rs`، `instructions/admin/mod.rs`، `states/mod.rs`، `states/pool.rs`، `lib.rs`، و `admin/create_permission_pda.rs` المحذوفة، `admin/close_permission_pda.rs`، `states/permission.rs`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.