> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/ar/alamn/known-limitations.md).

# القيود المعروفة

قيود Rome EVM الحالية وتبعاتها — أوبيكودات غير مدعومة، وتخطيط حسابات التخزين، وسقوف CU، وعمق CPI، وحدود الأوراكل.

توثيق صريح للقيود الحالية لبروتوكول Rome وتداعياتها.

## قيود التنفيذ

**‏SELFDESTRUCT غير مدعوم.** لا يوجد معالج لهذا opcode، لذا فإن العقد الذي ينفذه يلغي المعاملة بأكملها (انظر أدناه)، ولا يُرجِع إطارًا واحدًا فقط.

**أي opcode لا يطبّقه Rome يلغي المعاملة بأكملها.** لا يملك المفسّر معالجًا لهذا البايت، لذا تنتهي المعاملة بـ `IncompatibleVersionEVM(opcode)`، ولا يُعتمَد أيّ مما فعله، ويصل الفشل إلى المُرسِل بدلًا من أن يبتلعه عقدٌ مستدعي.

**لا يوجد جدول غاز لكل opcode.** قيمة الغاز المُمرَّرة إلى `CALL`, `DELEGATECALL`, `STATICCALL` و `CREATE` تُقبل للتوافق مع ABI ولكن لا يُفرض استخدامها — يعمل العقد المُستدعى بميزانية المتبقي الكاملة للمستدعي، ولا توجد منحة 2300 غاز. حماية إعادة الدخول القائمة على المنحة (`transfer()` / `send()`) لا فائدة منها في Rome؛ استخدم حواجز صريحة لمنع إعادة الدخول ونمط checks-effects-interactions.

**Modexp (0x05) معطّل.** يُلغى الاستدعاء مع `تم تعطيل استدعاء big_mod_exp` حتى تفعّل سولانا `big_mod_exp` syscall.

**256 خانة تخزين لكل حساب تخزين.** تُقسَّم تخزينات العقد عبر حسابات Solana تضم كل منها 256 خانة. العقود ذات البصمة التخزينية الكبيرة تستخدم عدة حسابات، مما يؤثر في تكاليف CU.

**\~1.4 مليون وحدة حوسبة لكل معاملة ذرّية.** العمل الذي يتجاوز ميزانية معاملة Solana واحدة يعود إلى التنفيذ التكراري (مقسّم عبر عدة معاملات). بعض العمليات ذرّية فقط ولا يمكن تنفيذها تكراريًا — ولا سيما CPI لمسار legacy (`CpiProhibitedInIterativeTx`؛ أما تأثيرات المسار المخبأ فتُرحَّل ويمكن تنفيذها تكراريًا).

**حدّ عمق CPI هو 4.** ستفشل استدعاءات CPI المتداخلة بعمق. صمِّم العقود بأشجار استدعاء ضحلة.

## قيود أوراكل

**لا توجد بيانات تاريخية للجولات.** موائمات Oracle Gateway تدعم فقط `latestRoundData()`. الاستعلامات التاريخية عن الأسعار عبر `getRoundData(roundId)` تفشل.

**تُتحقَّق إزاحات المحلِّل مقابل التخطيطات الحالية.** تُحلَّل بيانات حسابات Pyth وSwitchboard باستخدام إزاحات البايت. إذا غيّر Pyth أو Switchboard تخطيط حساباتهما، فستُرجِع الموائمات بيانات غير صحيحة إلى أن يُعاد التحقق من الإزاحات.

## قيود الأدوات

**لا يوجد تتبّع للمعاملات بأسلوب Ethereum.** `debug_traceTransaction` و `trace_*` غير مدعومة. وطريقة التتبّع الوحيدة هي `debug_traceRomeTransaction`، والتي تفكّك معاملة تجمع عدة استدعاءات في دفعة واحدة إلى استدعاءاتها الفرعية وCPIs الخاصة بها. تُرجِع المعاملات العادية `null`. وبالنسبة لكل شيء آخر، استخدم `eth_call` و [عبر المستكشف](/ar/alttbyqat-ala-rome/via.md) (والذي يعرض تعليمات Solana الكامنة وراء معاملة) للتصحيح. انظر [JSON-RPC](/ar/almrja/json-rpc.md).

**`eth_getLogs` محدود بنطاق.** ترفض السلاسل العامة نطاقات الكتل الواسعة جدًا (الخطأ `-32005`); لذا قَيِّد استعلاماتك. انظر [JSON-RPC](/ar/almrja/json-rpc.md).

## قيود البنية التحتية

**نموذج المشغّل الواحد.** يتم تشغيل كل نشر لـ Rome بواسطة جهة واحدة (مشغّل مجمّع الدافعين). لا توجد مجموعة مشغّلين لا مركزية.

**قفل وضع التنفيذ التكراري.** أثناء التنفيذ التكراري، تُقفَل الحسابات لبضع ثوانٍ، مما قد يسبب تزاحمًا على الحسابات كثيرة الاستخدام.

## ما التالي

* [الإفصاح المسؤول](/ar/alamn/responsible-disclosure.md) — كيفية الإبلاغ عن المشكلات


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/ar/alamn/known-limitations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
