هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
إدخال سجل تغييرات التوثيق لتحديث برنامج 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-swapfeat/permissionless-collect-creator-fee. - الالتزامات
9585ea1وd99d542، مقارنة معmasterفي78f254e.

