For the complete documentation index, see llms.txt. This page is also available as Markdown.

نموذج الامتثال

يشغّل Bloom إطار Arc الخاص بـ Plume دون تعديل. والامتثال هو مفروض بواسطة عقد الرمز نفسه — وليس بواسطة أي فحص خارج السلسلة أو مرشح للمُرتّب أو سياسة للمنصة. وهذه هي الخاصية التي تجعله قابلاً للنقل: فالقواعد تنتقل مع الرمز إلى أي مسار تنفيذ، على كلا مساري المحافظ.

معمارية الإنفاذ

ArcToken._update (في كل عملية نقل/سكّ/حرق)
   └─ RestrictionsRouter (واحد لكل سلسلة، سجلّ لأنواع الوحدات)
        ├─ TRANSFER_RESTRICTION → WhitelistRestrictions (لكل رمز)
        ├─ YIELD_RESTRICTION    → YieldBlacklistRestrictions (لكل رمز)
        └─ GLOBAL_SANCTIONS     → (الخانة موجودة؛ لا توجد وحدة عالمية منشورة)
  • WhitelistRestrictions — قائمة السماح. بينما transfersAllowed تكون قيمته false (الوضع المقيّد)، فإن أي تحويل يكون فيه أحد الطرفين خارج القائمة يفشل مع الخطأ المعرّف TransferRestricted() (0xe827105e). وتعمل عملية التحقق داخل الرمز عند كل حركة رصيد — تحويل بمحفظة EVM، أو تحويل موقّع على Solana، أو بيع في واجهة متجر، أو حركة السيولة الأولية؛ كلها تمر عبر البوابة نفسها. لا توجد طريقة للالتفاف عليها إلا عبر الصلاحيات الإدارية الخاصة بالمُصدِر نفسه.

  • YieldBlacklistRestrictions — يستبعد العناوين من توزيعات العائد؛ وتبقى حصتهم التناسبية داخل عقد الرمز.

  • GLOBAL_SANCTIONS — يدعم الموجّه وحدات على مستوى السلسلة تُطبَّق على كل رمز (مثل قائمة عقوبات). لا يوجد أي منها منشور اليوم؛ وهذه الخانة هي الموضع الطبيعي لوحدة تُدار على مستوى السلسلة.

نموذج الثقة، بصياغة صريحة

علامة قائمة السماح هي قرار المُصدِر خارج السلسلة. تتم إجراءات KYC/AML ضمن عملية المُصدِر (مزوّدوه، قواعده)؛ وتسجّل السلسلة وتفرض النتيجةisWhitelisted(addr). الانضمام والمراجعة هو الآلية المحيطة بذلك القرار — كيف يتقدّم المستثمر، وكيف يقرر المُصدِر، وأثر التدقيق الذي يتركه — وهي لا تغيّر هذا النموذج: ما يزال القرار بيد المُصدِر، وما يزال الأمر مجرد قيمة منطقية على السلسلة، ولا توجد أي مستندات في أي مكان. هذا هو النموذج نفسه لإطار Arc كما يُستخدم على Plume. وهو عن قصد ليس نظام هوية على السلسلة: لا توجد مطالبات هوية، ولا إثباتات على السلسلة، ولا دليل تشفيري على الجهة التي تنتمي إليها أي عنوان. إن المعايير التي تحمل هوية قابلة للتحقق على السلسلة (مثل ERC-3643) تتنازل عن قدر كبير من خفة التحويلات مقابل هذه الخاصية؛ أما Arc فيقايض آليات أخف بثقة يحتفظ بها المُصدِر. ويعرض Bloom هذا بصراحة بدلًا من الإيحاء بأكثر مما هو موجود.

صلاحيات المُصدِر (على نمط وكيل التحويل)

ArcToken.initialize يمنح معالج الإعداد كل دور:

الدور
الصلاحية

ADMIN_ROLE / DEFAULT_ADMIN_ROLE

ربط/استبدال وحدات القيود، وإدارة الأدوار

MINTER_ROLE / BURNER_ROLE

إدارة العرض

YIELD_MANAGER_ROLE / YIELD_DISTRIBUTOR_ROLE

تعيين رمز العائد، وتنفيذ التوزيعات

UPGRADER_ROLE

ترقية الرمز عبر UUPS (محتفظ بها لدى المُصدِر؛ ويمكن منحها للمصنع لإجراء ترقيات عبر المصنع)

وحدة القائمة البيضاء WHITELIST_ADMIN_ROLE

إضافة/إزالة العناوين، وتبديل الوضع المقيّد

آثار يجدر معرفتها: محفظة مستثمر مفقودة لا يمكن استعادتها إلا عبر إجراء من المُصدِر (إدراج عنوان بديل في قائمة السماح، وإذا لزم الأمر، استخدام صلاحيات السكّ/الحرق/الترقية وفقًا لإجراءاته القانونية — لا يملك Arc أي آلية مضمّنة لنقلٍ قسري). لذلك فإن حفظ مفاتيح المُصدِر جزء من وضع الامتثال؛ ويجعل عارض الأدوار في التطبيق حاملي كل صلاحية مرئيين.

ما يضيفه Rome — وما يحافظ عليه registerToken

يظهر مستخدمو محافظ Solana على أنهم عناوين EVM اصطناعية (مشتقة من المفتاح العام لـ Solana الخاص بهم). بالنسبة إلى طبقة الامتثال، هم عناوين عادية: يضعهم المُصدِر في قائمة السماح، وتتحقق منهم البوابة، ويصل إليهم العائد — قائمة سماح واحدة تمتد عبر عالمي المحافظ. الآثار المتعلقة بالحيازة موضحة في LANES.md.

لأن Rome يحدّ عدد الحسابات في كل معاملة، فإن الرموز تُنشَر على مراحل وتكتسب حالة المصنع عبر ArcTokenFactoryV2.registerToken بدلًا من createToken. وتحافظ أدوات الحماية على نموذج الأمان الأصلي بدقة: يجب أن يكون الرمز وكيلًا معياريًا (codehash)، ويجب أن تكون نسخته التنفيذية مدرجة في القائمة البيضاء للمصنع (codehash)، ويجب أن يكون لدى المستدعي الرمز ADMIN_ROLE، والتسجيل لمرة واحدة فقط. لا يضعف المسار المرحلي أي شيء من سطح الامتثال.

آخر تحديث

هل كان هذا مفيدا؟