هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
لكل برنامج من برامج Raydium دور امتياز واحد على الأقل — مفتاح يمكنه ترقية البرنامج أو إنشاء تكوينات جديدة أو سحب رسوم البروتوكول. تقليل ما يمكن لهذه الأدوار فعله (وحمايتها خلف توقيعات متعددة مع تأخيرات) هو الدفاع الأساسي ضد مسؤول مخترق. تُفصّل هذه الصفحة الأدوار وكيفية تأمينها عمليًا.
الأدوار حسب البرنامج
AMM v4
CPMM
جمع رسوم المنشئ لا يقدم دورًا امتيازيًا.
CollectCreatorFeePermissionless يقبل أي دافع، يقيد مالك المستقبل إلى PoolState.pool_creator، ويقيد كلا الوجهتين إلى ATAs الكنسية لذلك المنشئ. يمكن للمستدعي تمويل ATAs المفقودة وتشغيل الكنس لكن لا يمكنه إعادة توجيه الرسوم.
CLMM
يسمح حمل PDA
Permission لصلاحيته باستدعاء CreatePermissionedPool — إنشاء مجموعات إضافية لزوج لديه بالفعل واحدة كنسية، كل واحدة في عنوان مشتق من seed_index مختلف. الإذن محصور على إنشاء المجموعة فقط: لا يمكنه نقل الأموال أو تغيير الرسوم أو لمس أي مجموعة موجودة. إلغاؤه (ClosePermissionPda) يوقف الصلاحية عن إنشاء مجموعات إضافية لكن يترك المجموعات المُنشأة بالفعل دون تغيير.
limit_order_admin هو دور تشغيلي ضيق مقصود. يوجد حتى يتمكن حارس خارج السلسلة من كنس الأوامر المملوءة دون الحاجة إلى أن يكون صاحب الأمر متصلاً. مفتاح الحارس ساخن (يعيش على VM الحارس) ويتم تدويره بشكل مستقل عن التوقيعات المتعددة أعلاه. بشكل ملموس، سلطة الحارس محدودة بـ:
SettleLimitOrder— دفع إخراج الأمر المملوء إلى ATA المالك بسعر حد الأمر.CloseLimitOrder— إغلاق حساب أمر مستقر بالكامل لاسترجاع الإيجار (الإيجار يذهب لمالك الأمر).
OpenLimitOrder أو IncreaseLimitOrder أو DecreaseLimitOrder أو تحوير أي حقل مجموعة أو التوقيع على أي تعليمة أخرى — يتم فرض هذه الفحوصات على السلسلة بواسطة قيود البذرة و has_one في هيكل Accounts للتعليمة. يمكن لحارس مخترق في أسوأ الحالات أن يكون غير متاح (تبقى الأوامر متوقفة حتى يقوم المالك بتسويتها بنفسه) أو تسوية/إغلاق أوامر قابلة للملء بشرعية خارج الترتيب؛ لا يمكنه نقل أموال المستخدم إلى أي مكان آخر غير حيث أذن به المالك بالفعل.
Farm v6
المزارع الفردية ليس لديها مسؤول بروتوكول — يتحكم منشئ كل مزرعة فقط في مزرعته، وقوى المنشئ محدودة (لا يمكنه الاستيلاء على حصص المستخدم، لا يمكنه تغيير رمز الرهن).
LaunchLab
قائمة السماح لمسؤول المنصة تقيد نفسها بنفسها: فهي تحد من حسابات
GlobalConfig التي قد تستخدمها الإطلاقات تحت تلك المنصة. لا تمنح سلطة على منصات أخرى أو أموال إطلاق موجودة. تعيش عناوين السلطة المفوضة الكنسية في reference/program-addresses.
سلطة ترقية البرنامج
تستخدم برامج Raydium آلية ترقية BPF Loader v3 القياسية في Solana. سلطة الترقية لجميع البرامج هي Squads multisig 3/4. لماذا 3/4: عدد كافٍ من الموقعين بحيث أن اختراق واحد غير كافٍ؛ قليل بما يكفي بحيث أن تنسيق ترقية شرعية قابلة للتتبع. الأربع سلطات مستقلة، موقعون أجهزة باردة معزولة يحتفظ بها أعضاء الفريق الأساسي. التوقيع المتسلسل يمنع الموافقات المتوازية على نفس المعاملة؛ تحمل المعاملات نافذة انتهاء صلاحية ثابتة. يتم مراجعة عمليات Multisig بشكل دوري بالشراكة مع برنامج STRIDE من Solana (Asymmetric Research).إزالة سلطة الترقية
لم تقم Raydium بتعيين سلطة ترقية أي برنامج إلى null. يعمل البروتوكول تحت مبدأ أن البرامج تحتاج إلى أن تكون قابلة للترقية (لإصلاح الأخطاء، إضافة امتدادات مثل Token-2022، إصلاح انجراف التكامل). المقايضة: يثق المستخدمون بأن Squads multisig 3/4 سيقوم فقط بنشر ترقيات مراجعة جيدًا. لا يوجد برنامج Raydium مجمد حاليًا أو بطيء الحركة بما يكفي ليتم التعامل معه كبديل غير قابل للتغيير — AMM v4، تاريخيًا الأكثر ثباتًا منهم، تم نشره مرة أخرى في 2026-07-22. آخر فتحة نشر لكل برنامج عام؛ اقرأها قبل افتراض أن أي منها خامل:
(من حساب
ProgramData لكل برنامج؛ solana program show <PROGRAM_ID> يبلغ عن نفس الفتحة.)
سلطة AmmConfig
إنشاء كل AmmConfig جديد له إذن — يصرح Squads multisig 3/5 بفئات رسوم وتباعد علامات جديدة. تشير المجموعات الموجودة إلى AmmConfig الخاص بها بواسطة PDA؛ فئة رسوم المجموعة هي ما يقوله AmmConfig. هل يمكن للمسؤولين تغيير AmmConfig موجود؟ نعم، من الناحية التقنية.updateAmmConfig قابل للاستدعاء من قبل المسؤول. عمليًا، يتم تجنب التعديلات على AmmConfigs المنشورة لأنها تغير اقتصاديات جميع المجموعات التي تستخدم هذا التكوين بصمت. سياسة البروتوكول هي إنشاء AmmConfig جديد لأي تغيير والهجرة.
هل يمكن للمسؤولين سرقة رسوم البروتوكول عبر التكوين؟ لا — يحتوي AmmConfig على معاملات الرسوم لكن ليس مستقبل رسوم البروتوكول؛ هذا عنوان منفصل غير قابل للتغيير لكل مجموعة.
مطالبة رسوم البروتوكول
جزء من رسوم المبادلة (عادة 3–12 bps من 25 bps رسوم المبادلة، حسب التكوين) يتراكم في خزان رسوم البروتوكول. يمكن للـ multisig سحب هذه الرسوم المتراكمة. لا يرى المستخدمون رصيد LP الخاص بهم يتغير من هذا — إنها حصة البروتوكول المخصصة مسبقًا، وليس أموال LP.سلطة منشئ المزرعة
تعطي Farms v6 المنشئ القوة لـ:- تمويل خزان المكافآت (إضافة المزيد من الرموز).
- تمديد الجدول الزمني (دفع وقت الانتهاء لاحقًا).
- استدعاء
withdrawRewardبعد وقت الانتهاء لاسترجاع رصيد الخزان غير المستخدم.
- سحب حصص LP للمستخدم المرهونة.
- تغيير رمز الرهن.
- تغيير معدلات الانبعاث بأثر رجعي (فقط للأمام عبر
setRewards). - تجميد حصاد المستخدم.
تكوين Squads multisig
تشغل Raydium اثنين من Squads multisigs منفصلين لسطح مخاطر مختلف. يمكن فحص كليهما على السلسلة عبر واجهة مستخدم Squads Protocol.
الخصائص التشغيلية لـ multisig الترقية:
- 24 ساعة timelock على أي معاملة. ترقية موافق عليها اليوم لا تُنفذ قبل 24 ساعة على الأقل، مما يعطي المستخدمين وقتًا للرد.
- التوقيع على أجهزة باردة معزولة. الأجهزة الباردة لديها بطاقات شبكة تمت إزالتها فعليًا؛ تتصل فقط بمحفظة أجهزة وتقرأ بيانات المعاملة عبر رمز QR من جهاز ساخن منفصل.
- التوقيع المتسلسل. فقط بعد أن يقوم جهاز بارد واحد بإنشاء وتوقيع معاملة يمكن لجهاز بارد التالي البدء في عملية التوقيع — منع التوقيعات المتضاربة أو المتوازية على نفس المعاملة.
- انتهاء صلاحية المعاملة. كل معاملة تحمل نافذة انتهاء صلاحية ثابتة، لذا تلغي المعاملات القديمة نفسها تلقائيًا.
- فرض TOTP + مفتاح فعلي على الأجهزة الساخنة المستخدمة لبدء المعاملة والبث على السلسلة.
- قائمة انتظار معاملات عامة. يمكن لأي شخص مراقبة الترقيات المعلقة على واجهة مستخدم Squads.
التحقق من السلطة على السلسلة
أبسط طريقة للتحقق من سلطة ترقية البرنامج الحالية:Authority هي عنوان Squads multisig المتوقع، فهناك خطأ ما. تنشر Raydium عناوين السلطة المتوقعة على reference/program-addresses.
لأدوار AmmConfig / pool admin، جلب الحساب على السلسلة وفك التشفير:
AmmConfig ليس لديه حقل admin — مسؤول البرنامج هو pubkey مترجم في البرنامج (crate::admin::ID)، والسلطات التشغيلية لكل تكوين هي protocolOwner / fundOwner. سلطة ترقية BPF هي مسألة منفصلة على مستوى المحمل؛ اقرأها باستخدام solana program show.
تغييرات السلطة التاريخية
اعتبارات جانب المستخدم
ماذا يجب أن تفعل كمستخدم/LP/متكامل؟- تحقق من سلطة الترقية قبل التخصيصات الكبيرة. تأكد من أنها تطابق Squads multisig الموثقة.
- راقب نشاط multisig. واجهة مستخدم Squads تعرض المعاملات المعلقة؛ ترقية مجدولة تعطيك 24 ساعة للتراجع إذا اختلفت مع التغيير.
- استراتيجيات استرجاع تدرك timelock. إذا كنت تشغل auto-compounder، تأكد من أن مسار الاسترجاع الخاص بك لا يتطلب تعليمة يتم تغييرها.
- لا تفترض عدم قابلية البرنامج للتغيير. يمكن ترقية كل برنامج Raydium؛ خطط لذلك.
الأخطاء الشائعة للمتكاملين
1. تخزين عناوين السلطة مؤقتًا
إذا قمت بترميز عنوان سلطة الترقية أو عنوان Squads multisig للمسؤول في الكود الخاص بك وتم تدويره لاحقًا، فإن التحقق الخاص بك يفشل. جلب منreference/program-addresses في وقت التشغيل أو تحديث دوري.
2. افتراض استقرار AmmConfigs
يمكن إنشاء AmmConfig جديد في أي وقت. يجب على المجمع/الموجه الخاص بك إعادة جلب قائمة التكوين الكاملة بشكل دوري (كل ساعة بخير).3. متجهات حزن منشئ المزرعة
إذا كنت تودع في مزرعة منخفضة السمعة، يمكن لمنشئها إنهاء المزرعة مبكرًا واسترجاع خزان المكافآت (بافتراض عدم رهن أي مستخدم بعد). بمجرد رهن المستخدمين، يتم فرض الحقوق الموزعة بشكل متناسب من قبل البرنامج؛ الاسترجاع يحصل فقط على الباقي بعد النهاية العقلانية.المؤشرات
reference/program-addresses— عناوين السلطة الكنسية.security/attack-vectors— كيف تتجلى اختراقات المسؤول.ray/treasury— عناوين الخزانة وجمع الرسوم.security/disclosure— الإبلاغ عن مشاكل مسؤول مشبوهة.
- Squads Protocol — واجهة مستخدم multisig.
- وثائق برنامج Solana والمحمل — آلية الترقية، وكيفية إلغاء سلطة الترقية يجعل البرنامج غير قابل للتغيير.

