هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
تم استبدالها في 2026-10-22. تمت إعادة تسمية
CreatePermissionedPool إلى CreateCustomizablePoolV2 وأصبحت بدون صلاحيات، وتم حذف حساب Permission مع CreatePermissionPda / ClosePermissionPda. يصف هذا الإدخال البرنامج كما هو في 2026-07-30. انظر إدخال 2026-10-22.CreatePool / CreateCustomizablePool الكلاسيكية لم تتغير.
ملخص سريع للمدمجين
- معرفات المجموعات يمكن أن تكون غير قانونية الآن، خلف بوابة صلاحيات. تاريخيًا كان هناك عنوان CLMM واحد بالضبط لكل
(amm_config, token_mint_0, token_mint_1)— بذور PDA ثبتتها. تعليمة جديدة،CreatePermissionedPool، تطويseed_index: u16غير صفري يوفره العميل في بذور PDA للمجموعة، لذا يمكن لمشغل مدرج في القائمة البيضاء إنشاء عدة مجموعات لنفس الزوج ومستوى الرسوم، كل واحدة في عنوانها الخاص. لأن عناوين المجموعات التعسفية هي قدرة مميزة، يجب على الدافع أن يحتفظ بـPermissionPDA منحها المسؤول. تعليمتان للمسؤول،CreatePermissionPdaوClosePermissionPda، تدير تلك المنح. OpenLimitOrderتتحقق الآن من الجانب الناتج. التعليمة تأخذ ثلاثة حسابات إضافية —output_token_account,output_vault,output_vault_mint— وترفض الأمر بـNotApprovedإذا كان حساب الإدخال أو الإخراج للمالك مجمدًا. هذا يضمن أن الملء النهائي يمكن تسليمه، وهو مهم لـ Token-2022 mints المجمدة افتراضيًا / قائمة السماح (الرموز المرخصة). يجب على العملاء المبنيين مقابل قائمة الحسابات أحادية الجانب القديمة إضافة الحسابات الثلاثة الناتجة.
ما تغير في البرنامج
تعليمة جديدة: CreatePermissionedPool
نفس الشكل والمعاملات مثل CreateCustomizablePool (تأخذ نفس CreateCustomizableParams، لذا الرسوم أحادية الجانب وخيار الرسوم الديناميكية متاحة)، بالإضافة إلى:
- معامل
seed_index: u16، والذي يجب أن يكون غير صفري. يتم إلحاقه (little-endian) ببذور PDA للمجموعة:["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]. - حساب
permission: PDA["permission", payer]. يرفض Anchor الاستدعاء إذا لم يكن موجودًا أو لم يكن مملوكًا للبرنامج — وجوده وحده هو التفويض. - حساب
pool_creatorمسجل كـpool_state.owner، والذي قد يختلف عنpayerالذي يدفع الرسوم.
seed_index = 0 يبقى محفوظًا للمجموعات القديمة: بالنسبة لتلك المجموعات، مكون البذرة ينهار إلى فارغ، مما يعيد إنتاج العنوان الكلاسيكي ذي البذور الأربع، لذا لا يتغير عنوان المجموعة الموجودة.
انظر التعليمات → CreatePermissionedPool.
حساب جديد: Permission
حساب القدرة الذي وجوده هو المنحة. يخزن فقط authority التي تم إنشاؤه لها (بالإضافة إلى الحشو). بذور PDA: ["permission", authority]. يمنح الحق في استدعاء CreatePermissionedPool وليس شيء آخر — لا يمكنه نقل الأموال أو تغيير الرسوم أو تغيير أي مجموعة. انظر الحسابات → Permission.
تعليمات إدارية جديدة: CreatePermissionPda / ClosePermissionPda
CreatePermissionPdaتهيئPermissionPDA لـpermission_authorityمعين.ClosePermissionPdaتغلقها وتسترد الإيجار للمتصل، مما يلغي المنحة. المجموعات المنشأة بالفعل تحت تلك المنحة لا تتأثر.
admin للبرنامج أو مفتاح permission_pda_admin مخصص (ثابت مختلف على mainnet مقابل devnet). انظر مفاتيح المسؤول والتوقيع المتعدد → CLMM.
PoolState: حقل seed_index
تم نحت بايتين من منطقة حشو موجودة (padding: [u8; 6] → seed_index: [u8; 2] + padding: [u8; 4]) مباشرة بعد fee_on. حجم الحساب الإجمالي لم يتغير، ولا يلزم ترحيل الفهرس. بالنسبة للمجموعات المنشأة عبر CreatePool / CreateCustomizablePool، seed_index هو [0, 0]؛ بالنسبة للمجموعات المرخصة، يحمل الفهرس المختار من قبل المنشئ وهو مطلوب لإعادة اشتقاق عنوان المجموعة خارج السلسلة.
OpenLimitOrder: حسابات الجانب الناتج وحماية الحساب المجمد
تكتسب قائمة حساب OpenLimitOrder output_token_account, output_vault, و output_vault_mint. يتم استخدامها فقط للتحقق — لا يتم خصم أي إخراج عند الفتح. يتطلب المعالج الآن أن لا يكون حساب الإدخال ولا حساب الإخراج مجمدًا، مما يعيد NotApproved بخلاف ذلك (نفس الكود الذي تم إرجاعه بالفعل عندما تكون المجموعة بها swap أو limit-order معطل). هذا يغلق فجوة حيث يمكن فتح أمر مقابل حساب رمز قد لا يتمكن أبدًا من استقبال الملء (على سبيل المثال، حساب لم يتم إذابته بعد لـ Token-2022 mint مجمد افتراضيًا).
انظر التعليمات → OpenLimitOrder.
رموز الخطأ
لا توجد رموز خطأ جديدة. الكود الموجود6000 NotApproved يغطي الآن بالإضافة إلى ذلك حساب الإدخال/الإخراج المجمد وحالات swap/limit-order-disabled على OpenLimitOrder، وحالة “الموقع ليس admin ولا permission_pda_admin” على تعليمات الصلاحيات. جدول رموز الخطأ والترقيم لم يتغيروا بخلاف ذلك من إصدار 2026-05-18. انظر رموز الخطأ → CLMM.
ملاحظات الترحيل
- قراءة عناوين المجموعات: لا تفترض مجموعة واحدة لكل
(config, mint0, mint1). قد يكون لدى الزوج الآن مجموعة قانونية بالإضافة إلى مجموعة أو أكثر مرخصة في عناوين مشتقة منseed_index. عدّد المجموعات من API / الفهرس بدلاً من اشتقاق PDA واحد، وخزّنseed_indexعندما تحتاج إلى إعادة اشتقاق مجموعة مرخصة. - وضع أوامر الحد: أضف الحسابات الثلاثة من الجانب الناتج إلى معاملة
OpenLimitOrderالخاصة بك، وعرض رسالة واضحة عند إرجاعNotApprovedلحساب مجمد. - لا يوجد حجم حساب أو فاصل تخطيط:
PoolStateبنفس الحجم؛ بايتات الحشو المتقاعدة تحتفظ الآن بـseed_index.
الصفحات المحدثة
products/clmm/overview— ملاحظة “ما الجديد” حول المجموعات المتعددة المرخصة وحماية أوامر الحد.products/clmm/instructions— قسمCreatePermissionedPoolجديد،CreatePermissionPda/ClosePermissionPdaفي جدول التعليمات وملاحظة البوابة الإدارية، وقائمة حسابOpenLimitOrderالمحدثة / الشروط المسبقة / الأخطاء.products/clmm/accounts—Permissionفي الجرد وقسمه الخاص، حقلPoolState.seed_index، مساعدات اشتقاق PDA (derivePermissionedPool,derivePermission)، ومرجع دورة الحياة السريع.security/admin-and-multisig— صفpermission_pda_adminجديد وشارح نطاق الصلاحيات في جدول أدوار CLMM.reference/error-codes— وصفNotApprovedالموسع.
- مصدر
raydium-clmm(create_permissioned_pool.rs,admin/create_permission_pda.rs,admin/close_permission_pda.rs,states/permission.rs,states/pool.rs,limit_order/open_limit_order.rs,lib.rs).

