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

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

يعين Anchor لكل متغير من متغيرات enum 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.
ملاحظة حول إعادة الترقيم. تم إعادة ترقيم enum 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 دون تغيير. أزال إصدار 2026-08-17 أخطاء الوصول العام للمنصة السابقة وعيّن 6022 لخطأ التحقق من حساب السماح؛ يضيف إصدار 2026-08-24 6023؛ يضيف إصدار 2026-08-31 60246030: تم حذف المتغيرات القديمة PlatformGlobalAccessDenied (6022) و InvalidPlatformGlobalAccess (6023). لا تفك تشفير 6022 باستخدام IDL السابق، ولاحظ أن 6023 — الذي تم إخلاؤه من قبل إصدار 2026-08-17 — يتم إعادة استخدامه من قبل إصدار 2026-08-24 لخطأ غير ذي صلة، لذا يجب عدم فك تشفيره باستخدام IDL من أي إصدار سابق. يتم الاحتفاظ بـ 6020 عن قصد. يرقّم Anchor المتغيرات حسب الموضع، لذا حذفه سيحول كل رمز بعده وسيكسر كل عميل يفك تشفير 60216030.

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

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

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

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