هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يغطي هذا الإدخال ترقية برنامج CPMM مجدولة لـ 2026-10-30. تم التحقق منها مقابل فرع
feat/initialize-v2 من raydium-cp-swap (head 40cbd81) قبل النشر. تأكد من البرنامج المنشور قبل الاعتماد على التعليمة الجديدة.enable_creator_fee وجانب creator_fee_on، وكلاهما ثابت عند الإنشاء. حتى الآن، لم يكن بإمكان المنشئ تعيينهما إلا عبر InitializeWithPermission، التي تتطلب Permission PDA يصدره المسؤول. كانت Initialize العامة تخزّن الرسوم دائمًا كمعطّلة. عمليًا، كانت تخرجات LaunchLab والتدفقات المقيّدة الأخرى وحدها قادرة على إنشاء مجموعة تفرض رسوم المنشئ.
يضيف هذا الإصدار InitializeV2. إنها Initialize مع معامل إضافي واحد، creator_fee_on: Option<CreatorFeeOn>، ويمكن لأي شخص استدعاؤها. رياضيات المجموعة والمبادلة والسيولة وجمع الرسوم وحصة البروتوكول من رسوم المنشئ لم تُمس.
ملخص سريع للمدمجين
- تعليمة جديدة:
InitializeV2. بدون إذن. المعاملات هيinit_amount_0وinit_amount_1وopen_timeوcreator_fee_on: Option<CreatorFeeOn>. المميز[67, 153, 175, 39, 218, 16, 38, 32]. Some(side)يفعّل رسوم المنشئ على ذلك الجانب؛Noneيتركها معطّلة. يخزّنNoneبالضبط ما تخزّنهInitialize.- نفس حسابات
Initialize، ناقصrent. أول 19 حسابًا متطابقة وبنفس الترتيب. انظر قائمة الحسابات. - المنشئ هو الموقّع.
pool_state.pool_creatorهوcreatorالموقّع. على عكسInitializeWithPermission، لا يمكن تعيين المستفيد إلى عنوان آخر. - يختار المنشئ التفعيل/التعطيل والجانب، لا المعدل. تفرض المجموعة
AmmConfig.creator_fee_rateالخاص بفئة رسومها. القيمة الافتراضية لهذا المعدل0، لذا لا تراكم المجموعة المفعّلة على مثل هذه الفئة شيئًا. - لم يتغير أي شيء موجود. تحتفظ
InitializeوInitializeWithPermissionبمميزاتها وحساباتها ومعاملاتها وسلوكها. لم يتغير تخطيط الحساب أو رمز الخطأ. - حدّث IDL الخاص بك للحصول على التعليمة الجديدة. العملاء الذين لا يستدعونها لا يحتاجون إلى أي تغيير.
ما تغير في البرنامج
تعليمة جديدة: InitializeV2
تنفّذ InitializeV2 نفس كود الإنشاء الذي تنفّذه Initialize. فهي:
- تقبل إما PDA المجموعة القانوني أو مفتاحًا عشوائيًا موقّعًا كـ
pool_state؛ - تطبّق نفس فحوصات قائمة امتدادات Token-2022 المسموح بها و
SupportMintAssociated، عبرremaining_accounts؛ - ترفض الإنشاء عندما يكون
amm_config.disable_create_poolمُعيّنًا؛ - ترفع
open_timeإلىblock_timestamp + 1عندما لا يكون في المستقبل؛ - تقفل 100 وحدة أساسية من LP وتصك الباقي للمنشئ؛
- تفرض
amm_config.create_pool_fee.
PoolState الجديد:
بايت الوسم أو المتغير غير الصالح يفشل في إلغاء تسلسل المعاملات في Anchor. لا يوجد رمز خطأ جديد.
مقارنة مسارات الإنشاء الثلاثة
إعادة هيكلة داخلية
تتشارك المعالجات الثلاثة الآن روتينinitialize_pool واحدًا. لا تغيّر إعادة الهيكلة حسابات أو معاملات أو فحوصات أو القيم المخزّنة لـ Initialize أو InitializeWithPermission. تتحقق الاختبارات الجديدة أيضًا من أن Initialize العادية على نفس الإعدادات لا تزال تخزّن رسوم المنشئ كمعطّلة.
ما يجب أن يعرفه المنشئون
- تحقق من فئة الرسوم أولًا. معدل رسوم المنشئ ينتمي إلى
AmmConfig، لا إلى المجموعة. اختر فئة يكونcreator_fee_rateفيها هو ما تريد فرضه. المعدلات مدرجة فيproducts/cpmm/fees. - الاختيار دائم. لا توجد تعليمة تغيّر
enable_creator_feeأوcreator_fee_onبعد الإنشاء. لتغييره، يجب عليك إنشاء مجموعة جديدة. - يدفعها المتداولون فوق رسوم التداول. رسوم المنشئ معدل منفصل يُضاف إلى المبادلة. لا تقلل حصص LP أو البروتوكول أو الصندوق، لكنها تجعل التداول مقابل المجموعة أغلى من مجموعة على نفس الفئة مع تعطيل الرسوم.
- الجمع لم يتغير. استخدم
CollectCreatorFeeأوCollectCreatorFeePermissionless. تُطبَّق حصة البروتوكول من إصدار 2026-09-19، ولا يمكنك إلغاء الاشتراك فيها عند الإنشاء.
ملاحظات الترحيل
- منشئو المجموعات. انتقل من
InitializeإلىInitializeV2فقط إذا كنت تريد تفعيل رسوم المنشئ. مرّرSome(side)واحذف حسابrent. تستمرInitializeفي العمل. - مستخدمو SDK. تبني
raydium.cpmm.createPoolفي@raydium-io/raydium-sdk-v2@0.2.64-alphaالتعليمةInitialize. إلى أن يصدر إصدار يتضمن منشئًا لـInitializeV2، رمّزها من IDL المحدَّث. - المفهرسون والموجّهات. توقّع المزيد من المجموعات ذات
enable_creator_fee = true، أنشأتها محافظ عادية بدلًا من LaunchLab. احسب الأسعار منenable_creator_feeوcreator_fee_onالخاصين بكل مجموعة، وليس أبدًا من مسار الإنشاء أو الفئة وحدها. فكّ ترميز التعليمة الجديدة إذا كنت تتتبع إنشاء المجموعات من التعليمات. التتبع من حساباتPoolStateلا يحتاج إلى أي تغيير. - واجهات المستخدم. اعرض ما إذا كانت المجموعة تفرض رسوم منشئ وبأي معدل، إذ يمكن الآن أن تختلف مجموعتان على نفس الفئة.
- LaunchLab والتدفقات المقيّدة بإذن الأخرى. لا تغيير. تظل
InitializeWithPermissionهي المسار عندما يجب أن يختلف الدافع عن المنشئ المسجَّل.
ما لم يتغير
- كل تخطيطات الحسابات، بما في ذلك
PoolStateوAmmConfig. InitializeوInitializeWithPermission: المميزات والحسابات والمعاملات والقيم المخزّنة.PermissionوCreatePermissionPdaوClosePermissionPda.- رياضيات المبادلة والإيداع والسحب، وفرض رسوم المنشئ، وحصة البروتوكول من رسوم المنشئ.
- رموز الخطأ.
6000–6015لم تتغير؛ لم يُلحَق شيء. - معرّف البرنامج.
الصفحات المحدثة
products/cpmm/instructions: لافتة الترقية؛ صفوف الملخص ومصفوفة تغيّر الحالة؛ قسمInitializeV2جديد بالمعاملات والترميز وقائمة الحسابات؛ يشير الشرط اللاحق لـInitializeالآن إلىInitializeV2.products/cpmm/fees: يسرد قسم “رسوم المنشئ” مسارات الإنشاء الثلاثة ويشير إلى أن تفعيل الرسوم لا يحدد معدلها.products/cpmm/accounts: ملاحظاتpoolStateومعرّف المجموعة؛ ملاحظات حقليcreator_fee_on/enable_creator_fee؛ ملاحظةPermission؛ صف دورة حياة الحساب.products/cpmm/overview: تنبيه “ما الجديد” وبند “رسوم يمكن التنبؤ بها”.products/cpmm/code-demos: ملاحظة بأنcreatePoolتبنيInitializeوكيفية الوصول إلىInitializeV2.protocol-overview/shared-infrastructure: لم تعد رسوم المنشئ مقتصرة على مجموعات LaunchLab المتخرجة.reference/token-2022-support: مسارات إنشاء مجموعات CPMM.
raydium-cp-swap feat/initialize-v2 (40cbd81): programs/cp-swap/src/lib.rs، instructions/initialize_v2.rs، instructions/initialize.rs، instructions/initialize_with_permission.rs، instructions/mod.rs، states/pool.rs، و tests/initialize_v2.test.ts.
