Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يغطي هذا الإدخال ترقية برنامج CLMM مجدولة لـ 2026-10-22. تم التحقق منها مقابل فرع feat/create-customizable-pool-v2 من raydium-clmm (head 18f5db1) قبل النشر. تأكد من البرنامج المنشور قبل الاعتماد على اسم التعليمات الجديد أو قائمة الحساب.
أضافت إصدار 2026-07-30 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 فما بعده يتحرك لأعلى موضع واحد. انظر قائمة الحساب الجديدة.
  • إنشاء المجموعات المتعددة بدون إذن الآن. يمكن لأي دافع إنشاء مجموعات إضافية لزوج ورسم مع 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 هو السلوك الوحيد الذي تم إزالته.

قائمة حساب CreateCustomizablePoolV2

remaining_accounts لم تتغير: PDAs سجل الدعم عندما يحتاج Token-2022 mint إليها، و DynamicFeeConfig الأخير عندما enable_dynamic_fee = true.
pool_creator لم يتم التحقق منه. يمكن لأي دافع كتابة أي عنوان في pool_state.owner. يحصل هذا العنوان على الحق في استدعاء InitializeReward على المجموعة، لكن لا يمكن استخدامه كإثبات لمن أنشأها. لا تصنف أو تسمي أو تثق في مجموعة V2 من خلال حقل owner الخاص بها.

تم الحذف: 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.