الانتقال إلى المحتوى الرئيسي
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
مصدر الحقيقة. الجداول أدناه مُعاد توليدها من ملف error.rs الخاص بكل برنامج في مستودعات Raydium العامة. عند ترقية برنامج وإضافة متغير جديد، أعِد تشغيل عملية الاستخراج (الرابط في أسفل كل جدول) وأضِف الصفوف إلى الجدول دون إعادة ترتيبه — إذ تُعيَّن رموز أخطاء Anchor وفق ترتيب المصدر لا وفق الأسماء، وإعادة الترتيب تُفسد معالجة الأخطاء لدى المُدمِجين.

كيف تعمل رموز أخطاء Anchor

يُعيِّن Anchor لكل متغير في تعداد ErrorCode الخاص بالبرنامج رمزًا رقميًا يبدأ من 6000. تظهر معاملات الفشل على النحو التالي:
  • رمز الخطأ الرقمي (مثلاً 0x1771 = 6001) في سجلات المعاملة.
  • اسم الخطأ (مثلاً InvalidOwner) من IDL.
  • سلسلة #[msg(...)] التي يُصدرها Anchor في log_messages.
ينبغي للمُدمِجين المطابقة على الرمز الرقمي لا على سلسلة الرسالة (إذ يمكن إعادة صياغة السلسلة دون رفع رقم الإصدار).

أخطاء CPMM (AMM القياسي)

معرف البرنامج: انظر reference/program-addresses. المصدر: raydium-cp-swap/programs/cp-swap/src/error.rs. مصدر إعادة التوليد: github.com/raydium-io/raydium-cp-swap — error.rs.

أخطاء CLMM

معرف البرنامج: انظر reference/program-addresses. المصدر: raydium-clmm/programs/amm/src/error.rs.
ملاحظة حول إعادة الترقيم. أُعيد ترقيم تعداد ErrorCode في CLMM في هذا الإصدار: جرى حذف/إصلاح خمسة متغيرات قديمة (LOK، ZeroMintAmount، InvalidLiquidity، TransactionTooOld، InvalidRewardDesiredAmount) وعدة أخطاء إملائية (Liquitity، enought، emissiones)، وأُضيفت أحد عشر متغيرًا جديدًا في النهاية. ونظرًا لأن Anchor يرقّم الأخطاء وفق ترتيب المصدر، فقد انزاحت كل رموز 6000 فما فوق مقارنةً بإصدارات ما قبل الإطلاق. يحتاج العملاء الذين شفّروا الرموز الرقمية يدويًا بناءً على نسخة سابقة إلى تحديث خريطة الرموز.
مصدر إعادة التوليد: github.com/raydium-io/raydium-clmm — error.rs.

أخطاء AMM v4 وFarm v3 / v5 / v6 وLaunchLab

هذه البرامج موثَّقة في فصولها المخصصة (انظر products/amm-v4/instructions، وproducts/farm-staking/instructions، وproducts/launchlab/instructions). نظرًا لاستخدام هذه البرامج مزيجًا من Anchor وأسطح أخطاء Solana العادية، توجد جداول أخطائها بجوار مرجع التعليمات لا هنا. الرموز أدناه محجوزة لتلك الفصول:

تعيين أخطاء SDK إلى أخطاء البرنامج

يُغلِّف TypeScript SDK الرسمي أخطاء السلسلة في SendTransactionError، وبالنسبة لبرامج Anchor في AnchorError:
إن لم تكن تستخدم عميل Anchor، فحلِّل سجلات المعاملة:
النمط Error Number: (\d+) ثابت عبر إصدارات Anchor ويمكن الاعتماد عليه للمطابقة.

إعادة توليد هذه الجداول

عند ترقية برنامج وإضافة خطأ جديد، أعِد الاستخراج من المصدر:
احرص دائمًا على تحديث reference/changelog عند إضافة متغير جديد، حتى يعلم المُدمِجون الذين يُحدِّثون SDK بضرورة تحديث معالجات الأخطاء لديهم. المصادر: