[{"data":1,"prerenderedAt":237},["ShallowReactive",2],{"docs:ar:\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity":3},{"id":4,"title":5,"body":6,"cover":228,"description":229,"extension":230,"meta":231,"navigation":232,"path":233,"seo":234,"stem":235,"__hash__":236},"docs\u002Far\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity.md","الأمان",{"type":7,"value":8,"toc":218},"minimark",[9,12,17,34,38,101,121,125,151,155,181,184,198,202,212],[10,11,5],"h1",{"id":5},[13,14,16],"h2",{"id":15},"ما-الذي-يحمل-القيمة","ما الذي يحمل القيمة",[18,19,20,28],"ul",{},[21,22,23,27],"li",{},[24,25,26],"strong",{},"الـETH والرموز في المجمّعات","، في مراكز لا يستطيع أحد سحبها. ولا يغادر الـETH الخاص بجانب مجمّعه إلا حين يُباع ذلك الجانب فيه: على يد متداول، أو عبر إعادة الموازنة التي يجريها الـhook بعد أن تباعد صفقةٌ بين الأسعار الثلاثة.",[21,29,30,33],{},[24,31,32],{},"الصناديق ورسوم المنشئين ورسوم البروتوكول","، يحتفظ بها الـhook على شكل مطالبات ETH في PoolManager الخاص بـ Uniswap V4، وتُحتسب لكل مبارزة على حدة.",[13,35,37],{"id":36},"ما-الذي-يحميها","ما الذي يحميها",[18,39,40,46,56,67,73,79,85,95],{},[21,41,42,45],{},[24,43,44],{},"سيولة مقفلة."," لا يمكن إلا للمصنع فتح المجمّعات المسجّلة أو إضافة سيولة إطلاقها؛ ويُلغى السحب والتبرع.",[21,47,48,51,52,55],{},[24,49,50],{},"مستلمون محدودون."," لا يشتري الصندوق إلا الفائز في مبارزته؛ ولا تذهب رسوم المنشئ إلا إلى منشئ المبارزة: المحفظة التي أطلقتها أو عنوان سلّمته دورها فقبله. وتذهب رسوم البروتوكول إلى ",[24,53,54],{},"الخزينة الحالية","، التي يمكن لمالك المصنع تغييرها بعد 48 ساعة، بما في ذلك لرسوم البروتوكول المتراكمة بالفعل.",[21,57,58,61,62,66],{},[24,59,60],{},"صلاحيات محدودة للمصنع."," ليس للرموز مالك ولا وظيفة سك، ولا يمكن ترقية الـhook ولا إيقافه. ويمكن لمالك المصنع إيقاف عمليات الإطلاق الجديدة، أو اقتراح شروط محدودة للمبارزات المستقبلية، أو تغيير الخزينة بعد المهلة. ويمكنه أيضًا أن يخفض فورًا حصة البروتوكول من رسوم المبادلة في كل المبارزات، حتى الصفر، أو يرفعها من جديد، دون أن تتجاوز أبدًا شروط المبارزة: وما لا يأخذه البروتوكول يذهب إلى الصناديق. ويمكن للمالك التخلي عن الدور نهائيًا (",[63,64,65],"code",{},"renounceOwnership","): فتبقى الشروط والخزينة ومعدّل اقتطاع البروتوكول وأي إيقاف على حالها، باستثناء تغيير مقترح مسبقًا يستطيع أي أحد تطبيقه بعد انقضاء مهلته.",[21,68,69,72],{},[24,70,71],{},"التسوية قبل المبادلة."," تسوّي أول مبادلة بعد الإغلاق المتوسط المنتهي قبل التداول. ويقع سقف إعادة الشراء على نحو 10% فوق مرجع يُحفظ بدقة كسور الـtick: متوسط أسّي لمدة 30 دقيقة لـticks مجمّع ETH، لا يتجاوز الـtick الحالي كي يتبع السعر نزولًا فورًا.",[21,74,75,78],{},[24,76,77],{},"جولات بعملة ETH فقط."," تستخدم النسبة ومتوسط الجولة مجمّعَي ETH. والتبديل عبر A\u002FB الذي لا يحرّك أي سعر بعملة ETH لا يغيّر الإشارة ولا نشاط جولة كانت لتبقى هادئة.",[21,80,81,84],{},[24,82,83],{},"رسوم على التنفيذ الكامل فقط."," تُلغى المبادلات التي تُقتطع رسومها مسبقًا إذا لم تستطع إكمال المبلغ المطلوب بالكامل. ورسوم غاز الشبكة منفصلة.",[21,86,87,90,91,94],{},[24,88,89],{},"إعادة موازنة معزولة."," لا تُبقى إلا الحلقات المربحة، مقيّدة بالـETH في المجمّع البائع. وتُلغى المحاولة الفاشلة وتُتخطّى؛ أما عند نقص الغاز فتُلغى المبادلة (",[63,92,93],{},"ArbitrageStarved",")، كي لا يستطيع المستدعي تخطّيها بحجب الغاز. ولا يضمن ذلك تطابق الأسعار ولا الحماية من كل خسائر التداول.",[21,96,97,100],{},[24,98,99],{},"القواعد نفسها عبر كل المسارات."," يقتطع الـhook الرسوم والضرائب ويحرق الرموز سواء كان الموجّه هو موجّه Duel أو موجّه V4 آخر.",[102,103,104,105,108,109,112,113,116,117,120],"p",{},"يبدأ المصنع مع إيقاف عمليات الإطلاق مؤقتًا. ما دامت ",[63,106,107],{},"paused()"," تساوي true، لا يستطيع إطلاق مبارزة إلا ",[63,110,111],{},"owner()","؛ وتُلغى استدعاءات الآخرين بخطأ ",[63,114,115],{},"CreationPaused",". يفتح المالك عمليات الإطلاق باستخدام ",[63,118,119],{},"setPaused(false)",". يستمر تداول المبارزات القائمة.",[13,122,124],{"id":123},"ما-يعرضه-الموقع","ما يعرضه الموقع",[18,126,127,133,139,145],{},[21,128,129,132],{},[24,130,131],{},"صور من الموقع وحده."," لا تعرض الصفحات صور المبارزة إلا من عنوان Duel نفسه، ولا تعرض إلا صورًا عالجها الموقع: ملف JPEG أو PNG أو WebP يُقرأ أولًا من ترويسته (1536 × 1536 بكسل و5 MB كحد أقصى)، ويُفك ترميزه في WebAssembly، ويُصغّر ليتسع ضمن 1024 بكسل، ثم يُعاد ترميزه بصيغة WebP دون بياناته الوصفية. ولا تسمح سياسة أمان الصفحات بتحميل الصور من أي مكان آخر.",[21,134,135,138],{},[24,136,137],{},"برامج ترميز معزولة."," تُفك ترميز الصور في Worker خاص بها، لا يصل إليه إلا الموقع ولا يحتفظ بشيء: لا مفتاح ولا مخزن. ولن يصيب أي خلل في برنامج ترميز إلا الصورة التي يقرؤها. ويتحقق الموقع مما يجيب به ذلك الـWorker (صورة WebP ثابتة بالمقاس المتوقع) قبل الاحتفاظ بها، وتبدأ برامج فك الترميز المكتوبة بلغة C من جديد مع كل صورة.",[21,140,141,144],{},[24,142,143],{},"مبارزات أُطلقت من العقد مباشرة."," قد تشير بياناتها إلى أي عنوان. ولا يعرض الموقع أي صورة https؛ بل يجلب صورة IPFS مرة واحدة من بوابة عامة (5 MB و10 ثوانٍ كحد أقصى)، ويعالجها كأنها مرفوعة، ويعرض نسخته منها، أو الأحرف الأولى من اسم الجانب.",[21,146,147,150],{},[24,148,149],{},"رفع ضمن حدود."," لا يقبل الموقع الصور إلا من صفحاته: عشر صور في الدقيقة من العنوان الواحد، وعددًا محدودًا يوميًا. وتُحذف الصورة التي لا تشير إليها أي مبارزة بعد يوم.",[13,152,154],{"id":153},"كيف-جرى-التحقق","كيف جرى التحقق",[18,156,157,163,169,175],{},[21,158,159,162],{},[24,160,161],{},"الاختبارات الآلية"," تغطي سلوك العقود وتطبيق الويب وروبوت التنبيهات. والتغطية مقياس للاختبارات، لا دليل على أن كل سلوك ممكن آمن.",[21,164,165,168],{},[24,166,167],{},"اختبارات الـfork"," تختبر التكامل مع عقود Uniswap V4 المنشورة على Robinhood Chain، بما فيها Universal Router وPermit2 وV4 Quoter.",[21,170,171,174],{},[24,172,173],{},"اختبارات الانحدار"," تحتفظ بالحالات التي وُجدت خلال المراجعة الداخلية، ومنها محاسبة الرسوم وحالات الإطلاق الحدّية والتسوية والمجمّعات المستنزفة.",[21,176,177,180],{},[24,178,179],{},"اختبارات الثوابت"," تتحقق من المحاسبة عبر تسلسلات عشوائية من الصفقات والتسويات والمطالبات: يجب أن تطابق مطالبات الـETH المبالغ المستحقة، وألا تبقى رموز وسيطة في الـhook أو المصنع أو الموجّه. واجتياز الجولات المضبوطة من الاختبار لا يثبت الأمان لكل تسلسل ممكن.",[102,182,183],{},"وجدت المراجعة الداخلية وأصلحت مسارًا بمخرج محدد يلتف على ضريبة مكافحة القنص، ونسبةً لا تتبع جانبًا اشتُري وحده، ومجمّعات نفدت رموزها يقرؤها سعر إعادة الشراء المرجعي بشكل خاطئ، وروابط غير آمنة في البيانات الوصفية للمبارزة.",[185,186,189],"callout",{"title":187,"type":188},"لم تخضع بعد لتدقيق خارجي","warning",[102,190,191,192,197],{},"خضعت العقود لمراجعة داخلية، لا لتدقيق خارجي. ولا يمكن ترقيتها: فأي خلل يُكتشف لاحقًا لا يمكن إصلاحه في المبارزات القائمة. اقرأ ",[193,194,196],"a",{"href":195},"\u002Fdocs\u002Fduel\u002Frisks","المخاطر",".",[13,199,201],{"id":200},"الإبلاغ-عن-ثغرة","الإبلاغ عن ثغرة",[102,203,204,205,211],{},"إذا كنت تظن أنك وجدت ثغرة، فشكرًا لأنك تخصص الوقت للإبلاغ عنها. راسلنا بشكل خاص على Telegram، على ",[193,206,210],{"href":207,"rel":208},"https:\u002F\u002Ft.me\u002Fchatwithdivine",[209],"nofollow","@chatwithdivine","، بما وجدته، وإن أمكن، بطريقة إعادة إنتاجه، وامنحنا الوقت لدراسته قبل مشاركة أي شيء علنًا. سنرد بسرعة ونبقيك على اطلاع.",[102,213,214,215,197],{},"لا نبدأ بالمراسلة أبدًا: لا تثق إلا بـ ",[193,216,210],{"href":207,"rel":217},[209],{"title":219,"searchDepth":220,"depth":221,"links":222},"",2,3,[223,224,225,226,227],{"id":15,"depth":220,"text":16},{"id":36,"depth":220,"text":37},{"id":123,"depth":220,"text":124},{"id":153,"depth":220,"text":154},{"id":200,"depth":220,"text":201},null,"كيف يحمي Duel أموال المجمّعات والصناديق والرسوم: سيولة مقفلة، وصلاحيات محدودة للمصنع، وقواعد للتسوية، واختبارات آلية، ومراجعة داخلية.","md",{},true,"\u002Far\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity",{"title":5,"description":229},"ar\u002Fdocs\u002Fduel\u002Fcontracts\u002Fsecurity","pL16A3UPY1C2N4h7d0TpsA9TV_Ss1-3Y_p8rx5TXClw",1791231666331]