هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
إدخال سجل تغييرات التوثيق لتحديث برنامج CPMM القادم. للاطلاع على فهرس جميع التحديثات، انظر
reference/changelog. للخط الزمني التاريخي للبروتوكول، انظر introduction/history-and-milestones.PoolState.pool_creator ويثبت كلا الوجهتين على حسابات الرموز المرتبطة الموثوقة لذلك المنشئ. تبقى التعليمة الموقعة من المنشئ الحالية دون تغيير.
كما يسمح لسلطة مخصصة بإنشاء PDAs Permission في CPMM. هذا التفويض غير متماثل عن قصد: يمكن للسلطة المخصصة منح الوصول إلى InitializeWithPermission، بينما فقط مسؤول البرنامج يمكنه إلغاء المنحة باستخدام ClosePermissionPda.
ملخص سريع للمدمجين
- تعليمة جديدة إضافية:
CollectCreatorFeePermissionless. أي موقّع يمكن أن يكونpayer. منشئ المجموعة المسجل لا يوقع. - لا يمكن للمستدعي إعادة توجيه الأموال. يجب أن يساوي
creatorقيمةpool_state.pool_creator. يجب أن تكونcreator_token_0وcreator_token_1حسابات ATA الموثوقة لذلك المنشئ لأرصدة المجموعة وبرامجها الرمزية الخاصة بها. - الدافع يغطي حسابات ATA المفقودة. كلا حسابي المستقبل يستخدمان
init_if_needed؛ يمول الدافع الإيجار عندما لا يكون أي حساب موجودًا. - الجمع كل شيء أو لا شيء. تنقل التعليمة كلا عدادات رسوم المنشئ المتراكمة بالكامل، وتصفر كليهما، وتحدث
recent_epoch. تُرجع خطأNoFeeCollectالموجود عندما يكون كلا العدادين صفرًا. - التكاملات الموجودة تبقى متوافقة. لم يتم تعديل أو إزالة
CollectCreatorFee. لا توجد تغييرات في تخطيطPoolStateأوAmmConfigأوPermissionأو الحدث أو رمز الخطأ. - إنشاء الإذن له مالك ثانٍ. يقبل
CreatePermissionPdaمسؤول البرنامج أو مالك إنشاء-إذن-PDA مخصص. يبقىClosePermissionPdaمقتصرًا على المسؤول فقط.
حسابات التعليمة الجديدة
يأخذCollectCreatorFeePermissionless 14 حسابًا بهذا الترتيب:
بخلاف
CollectCreatorFee، يحتوي التخطيط الجديد على حسابات payer و creator منفصلة وغير موقعة ولا يأخذ amm_config. لذلك يتطلب مميزًا وبناءً خاصًا به.
تأثير SDK و IDL
فرع مصدر البرنامج لا يتضمن تحديث SDK أو IDL ملتزم به. يجب على المدمجين تحديث IDL CPMM المنشور أو استخدام إصدار عميل يدعم صراحةًCollectCreatorFeePermissionless. مجموعة البناء @raydium-io/raydium-sdk-v2@0.2.42-alpha المثبتة في التوثيق تغطي فقط مسار المنشئ الموقع الأصلي.
حد الأمان
الاستدعاء بدون إذن لا يعني الحفظ بدون إذن. يمكن للمستدعي اختيار متى يجمع ويمكنه إنفاق SOL لإنشاء حسابات ATA مفقودة للمنشئ. لا يمكن للمستدعي اختيار المستفيد أو استبدال حسابات رموز عشوائية أو طلب مبلغ جزئي أو تغيير تكوين رسوم المنشئ للمجموعة. دور منشئ PDA الإذن الجديد يمكنه إنشاء منحة لأيpermission_authority، ويدفع إيجار الحساب الجديد. لا يمكنه إغلاق ذلك PDA بموجب هذا التغيير. تعامل معه كسلطة منحة مفوضة، وليس كمسؤول إذن كامل.
ملاحظات الترحيل
- احتفظ بمعاملات
CollectCreatorFeeالموجودة دون تغيير. - أضف التعليمة بدون إذن فقط بعد نشر CPMM المستهدف وIDL العميل يتضمنانها.
- يمكن للأتمتة مسح المجموعات ذات
creator_fees_token_0أوcreator_fees_token_1غير الصفرية وتفعيل الجمع دون حفظ مفاتيح المنشئ. - تعامل مع
NoFeeCollectكسباق حميد عندما يستنزف مستدعٍ آخر العدادات أولاً. - لا تمرر حسابات رموز مستقبل عشوائية؛ اشتق حسابات ATA للمنشئ من
pool_state.pool_creatorوكل رصيد خزان والبرنامج الرمزي المطابق.
الصفحات المحدثة
products/cpmm/overview— تحديث جمع رسوم المنشئ وملخص سلامة الوجهة.products/cpmm/instructions— ملخص التعليمة الجديدة وقائمة الحساب الكاملة والتأثيرات ومصفوفة تغيير الحالة.products/cpmm/accounts— مسارات جمع عداد رسوم المنشئ وإنشاء PDA الإذن المفوض.products/cpmm/fees— ميكانيكا الجمع بدون إذن والتدفق التشغيلي.products/cpmm/code-demos— تحذير توفر SDK وحد ترحيل العميل.products/launchlab/platform-config— توضيح أن منشئ CPMM المسجل يبقى المستفيد حتى عندما يفعل دافع آخر الجمع.protocol-overview/shared-infrastructure— مسارات الجمع المحدودة بالسلطة والمقيدة بالوجهة.security/admin-and-multisig— حدود سلطة المنحة المفوضة وحدود جامع بدون إذن.reference/program-addresses— عناوين مالكCreatePermissionPdaالمخصص الموثوق.reference/error-codes— توسيعNoFeeCollectلتغطية جمع رسوم المنشئ.
raydium-cp-swapcommit244e124— Feat/permissionless collect creator fee (#76)، دمج فرعfeat/permissionless-collect-creator-feeالذي كُتب هذا الإدخال ضده. تم حذف الفرع نفسه بعد الدمج.- Commits
9585ea1وd99d542، مقارنة معmasterفي78f254e.

