Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
مصدر الحقيقة. الجداول أدناه يتم إعادة توليدها من 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 العادي، تعيش جداول الأخطاء الخاصة بها بجانب مرجع التعليمات بدلاً من هنا. الرموز أدناه محجوزة من قبل هذه الفصول: يحافظ إصدار LaunchLab على الرموز 60006021 دون تغيير. يزيل أخطاء الوصول العام للمنصة السابقة ويعين 6022 لخطأ التحقق من حساب السماح الجديد: تم حذف المتغيرات القديمة PlatformGlobalAccessDenied (6022) و InvalidPlatformGlobalAccess (6023). لا تفك تشفير 6022 باستخدام IDL السابق.

ربط أخطاء SDK بأخطاء البرنامج

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

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

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