• Duel مفتوح على Robinhood Chain
  • أطلق مبارزة رمزان، ثلاثة مجمّعات، معاملة واحدة
  • تُغلق الجولة بعد --:--:--
  • جولات من أربع ساعات إعادة شراء الفائز محدودة السعر
  • سيولة مقفلة إلى الأبد، بلا رموز للفريق

العقود

يتكوّن Duel من ستة عقود، خمسة منها منشورة على Robinhood Chain وواحد لا يُنشر أبدًا، مبنية على نشر Uniswap V4 في الشبكة، باستخدام Solidity 0.8.26 وFoundry وOpenZeppelin وv4-core. وتعيش المبارزات على الشبكة: يقرؤها التطبيق عبر خادم الموقع أو مباشرة، ويقرأ تاريخها من مفهرس لأحداث الشبكة.

العقدالدور
DuelFactoryيطلق مبارزة في معاملة واحدة: رمزين، وثلاثة مجمّعات، ومراكز مقفلة، وعمليات الشراء عند الإطلاق الخاصة بالمنشئ. ويملك الإعدادات المحدودة للمبارزات المستقبلية؛ ويلتزم الإطلاق بالإعدادات التي قرأها مُطلِقه (configHash) ويُلغى إذا سرت إعدادات أخرى في الأثناء.
DuelHookالـhook الخاص بـ Uniswap V4 الذي تتشاركه المجمّعات الثلاثة لكل مبارزة: الرسوم، وضريبة مكافحة القنص، وحرق التبديل، وإعادة الموازنة، ومتوسط النسبة، والجولات وعمليات إعادة الشراء، إضافةً إلى صندوق كل مبارزة ورسوم منشئها ورسوم البروتوكول.
DuelTokenرمز ERC-20 العادي لكل جانب: مليار وحدة، قابل للحرق، بلا مالك، مع دعم permit (EIP-2612).
DuelRouterالموجّه ذو المدخل المحدد الذي يتداول عبره التطبيق، بما في ذلك permit البيع؛ وهو وحده يبيع جانبًا على عدة مراحل حين لا يستطيع مجمّع ETH الخاص به استيعاب البيع دفعة واحدة (SALE_PASSES)، وما لا يستطيع ذلك المجمّع إعادة شرائه حتى عندها عبر الجانب الآخر (sell). ويعمل أي موجّه V4 كذلك، في مبادلة واحدة.
DuelLensواجهات للقراءة فقط تجمع حالة المبارزة للتطبيق.
DuelSimulatorلا يُنشر أبدًا. يضع التطبيق شيفرته على عنوانك أنت خلال استدعاء واحد للقراءة فقط (state override)، كي تُنفَّذ الصفقة كما سترسلها وتجيب عمّا ستحصل عليه وأين ستستقر النسبة بعد إعادة موازنة المجمّعات.

الإصدار

منصة الإطلاق هذه هي Duel V1، واسمها الرمزي Petunia. ويعلن ذلك كل عقد من عقودها (VERSION() وCODENAME() على المصنع والـhook والموجّه والـlens)، ويحتفظ به كل رمز تطلقه إلى الأبد (LAUNCHPAD_VERSION() وLAUNCHPAD_CODENAME()): ويعرضه قسم «نبذة» في صفحة المبارزة كما تقوله رموزها. وأي منصة إطلاق لاحقة، تُنشر على حدة، ستتابع الترقيم باسم رمزي خاص بها، وستعلن رموزها اسمها.

العناوين

يعتمد Duel على عقود Robinhood Chain التالية:

Uniswap V4 PoolManager0x8366a39CC670B4001A1121B8F6A443A643e40951
Universal Router (الشبكة الرئيسية)0x204FAca1764B154221e35c0d20aBb3c525710498
V4 Quoter0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3

الـhook

يحمل عنوان hook في V4 قائمة الـcallbacks التي ينفّذها. ويستخدم الـhook الخاص بـ Duel ما يلي:

الـcallbackما يفعله
beforeInitializeلا يمكن إلا للمصنع فتح مجمّع على الـhook، ولا يكون ذلك إلا لمجمّعات مبارزة مسجّلة.
beforeAddLiquidityلا يمكن إلا للمصنع إضافة السيولة، عند الإطلاق.
beforeRemoveLiquidityيُلغى دائمًا: السيولة مقفلة إلى الأبد.
beforeDonateيُلغى دائمًا.
beforeSwapيسوّي جولة منتهية، ويحدّث المتوسطات، ويقتطع الرسوم والضرائب.
afterSwapيقتطع الرسوم المستحقة على المبلغ الذي لم تحدده المبادلة، ويتحقق من أن المبادلة التي اقتُطعت رسومها مسبقًا اكتملت بالكامل، ثم يعيد موازنة المجمّعات الثلاثة.

تُقتطع الرسوم عبر return deltas الخاصة بالـhook، لذا تسري أيًّا كان من يوجّه المبادلة.

من يستطيع ماذا

الجهةتستطيع
أي أحدالإطلاق، والتداول، وتسوية الجولات المنتهية، وتشغيل مطالبات المنشئ أو الخزينة، وتطبيق الشروط المقترحة بعد مرور 48 ساعة عليها
منشئ المبارزةتلقّي رسوم المنشئ لتلك المبارزة؛ وتسليم الدور، مع رسومه، إلى عنوان يقبله
مالك المصنعإيقاف عمليات الإطلاق الجديدة؛ وتغيير الشروط المحدودة للمبارزات المستقبلية أو خزينة البروتوكول بعد 48 ساعة. وتتلقى الخزينة الحالية رسوم البروتوكول المتراكمة وقت المطالبة. خفض حصة البروتوكول من رسوم المبادلة في كل المبارزات فورًا، أو رفعها من جديد، دون تجاوز شروطها أبدًا.
لا أحدسحب السيولة، أو سك الرموز، أو نقل صندوق، أو تغيير الرسوم التي يدفعها متداولو مبارزة قائمة أو حصة منشئها، أو رفع حصة البروتوكول فوق شروط مبارزة، أو انتزاع دور المنشئ في مبارزة، أو ترقية العقود

المزيد

  • الأمان: ما الذي يحمي الأموال، وكيف جرى التحقق من ذلك.
  • البناء على Duel: قراءة المبارزات والتداول من شيفرتك الخاصة.