يُعد إصدار ADAMANT Exchange Bot v3.0.0 علامة فارقة تتضمن تحديثاً شاملاً لبيئة التشغيل، وحماية فائقة للأموال، وتغطية اختبارية موسعة، وتحسينات في تجربة المستخدم.
تحديث بيئة التشغيل والبنية التحتية
تم تحديث متطلبات المحرك لتتوافق مع إصدار LTS من Node.js 22.13 أو أحدث. استُبدلت مكتبات web3-eth و web3-utils القديمة بمكتبة ethers الإصدار 6 لإدارة عملات Ethereum و ERC-20. كما تمت ترقية بناء معاملات Bitcoin و Dash و Dogecoin إلى BitcoinJS-lib 7 باستخدام معاملات البيتكوين الموقعة جزئياً (PSBT). تم تحديث استعلامات قاعدة البيانات باستخدام MongoDB Driver 7، مع اعتماد واجهة برمجة التطبيقات (API) غير المتزامنة القائمة على الوعود (Promise-based) وإلغاء الاستدعاءات (callbacks) القديمة. تم ترحيل الاتصال بالعقدة إلى adamant-api 3.x، باستخدام AdamantApi و WebSocketClient. أُزيلت وحدات Lisk (LSK) وخيارات التكوين القديمة بالكامل. كما تبنى المشروع إعدادات ESLint 9 المسطحة، و Prettier 3، و Jest 30، و markdownlint كأدوات تطوير حديثة.
التزامن، تتبع الإيداعات، وحماية الأموال
تم تقديم مراقبة إيداعات Mempool مع نافذة نزاع مدتها خمس دقائق للحماية من ظروف السباق (race conditions) واستغلال المطالبات المزدوجة. تم تنفيذ آلية قفل لكل UTXO لمنع الإنفاق المتزامن للعملات على سلاسل كتل UTXO بما في ذلك BTC و DASH و DOGE. أصبحت طلبات التبادل والإلغاء الواردة الآن متسلسلة لكل مرسل لمنع حدوث ظروف السباق. تمت إضافة التعرف التلقائي والمعالجة السريعة لمعاملات Dash InstantSend. كما تم تقديم إجراء وقائي unsupportedCoinGuard للتعامل بمرونة مع عمليات نقل العملات غير المدعومة وإخفاقات نقل الشبكة.
أوامر الدردشة وتجربة المشغل
تمت إضافة أمر الدردشة /cancel (المعروف أيضاً باسم cancel)، مما يسمح للمستخدمين بإلغاء التبادلات المعلقة التي تنتظر توضيح العملة المستهدفة واسترداد الأموال تلقائياً بعد خصم رسوم الشبكة. يتم الآن وضع الإيداعات السابقة في قائمة انتظار للاسترداد تلقائياً عندما يرسل المستخدم تحويلاً جديداً أثناء وجوده في حالة inUpdateState. تم تحسين أداة formatNumber لتنسيق الأرقام الأسية (e+ و e-) إلى تمثيل عشري كامل سهل القراءة. تمت إضافة دعم لعملة Onyxcoin (XCN) من نوع ERC-20 إلى التكوينات وسجل العملات.
التكوين ومرونة العقدة
تم تنفيذ التحقق الصارم من المخطط في configSchema.js مع فحوصات بدء التشغيل السريع لاكتشاف التكوينات غير الصالحة على الفور. تم بناء nodeClient.js مرن يدعم التوزيع الدوري (round-robin) والتجاوز التلقائي للفشل عبر نقاط نهاية RPC و REST متعددة. تمت إضافة تجاوزات دقيقة لكل عملة للرسوم، وحدود التأكيد، والحدود اليومية بالدولار الأمريكي، ونطاقات الأسعار.
الاختبار والتوثيق
تمت إضافة مجموعة اختبار شاملة تتكون من 31 حزمة اختبار Jest تغطي 690 اختبار وحدة، تشمل المساعدات، ومحولات التشفير، والتحقق من مخطط التكوين، ووحدات التبادل دون الحاجة إلى تبعيات خارجية للشبكة أو قاعدة البيانات. تم توسيع التوثيق التشغيلي ليشمل دليل وكلاء الذكاء الاصطناعي AGENTS.md وملف CONTRIBUTING.md ونسخة محدثة من README.md.
تغييرات جذرية
الحد الأدنى المدعوم لإصدار Node.js هو الآن 22.13، مما يتطلب من المشغلين ترقية بيئة التشغيل الخاصة بهم. استُبدلت مكتبات web3-eth و web3-utils القديمة بمكتبة ethers الإصدار 6، وهو ما قد يؤثر على أي تكاملات مخصصة تعتمد على واجهات برمجة تطبيقات مكتبة Ethereum السابقة. يستخدم بناء معاملات Bitcoin و Dash و Dogecoin الآن BitcoinJS-lib 7 مع PSBT، مما يغير تدفق بناء المعاملات الداخلي. يحل MongoDB Driver 7 محل المشغل السابق، مما يلغي أنماط الاستعلام القائمة على الاستدعاءات (callbacks). أُزيلت جميع وحدات Lisk (LSK) وخيارات التكوين القديمة بالكامل، وسيحتاج المشغلون الذين لديهم تكوينات متعلقة بـ LSK إلى إزالة تلك الإدخالات. يفرض التحقق الصارم من المخطط الآن بدء تشغيل سريع، مما يعني أن قيم التكوين غير الصالحة التي كان يتم التسامح معها سابقاً ستؤدي الآن إلى رفض البوت للعمل.