# Известные ограничения

Честное описание текущих ограничений Rome Protocol и их последствий.

## Ограничения исполнения

**Преcompile Modexp отключен.** Предварительная компиляция модулярного возведения в степень (0x05) по умолчанию отключена. Контракты, полагающиеся на проверку RSA или другие операции modexp, будут аварийно завершаться. Может быть включена через флаг функции.

**SELFDESTRUCT удалён.** Операция SELFDESTRUCT не поддерживается в соответствии с выводом из эксплуатации в Ethereum Dencun. Контракты, использующие SELFDESTRUCT, будут откатываться.

**256 слотов хранения на каждый аккаунт хранения.** Хранилище контракта распределяется по аккаунтам Solana по 256 слотов в каждом. Контракты с большим объёмом хранилища будут использовать несколько аккаунтов, что влияет на расходы CU.

**Ограничение глубины CPI — 4.** Сильно вложенные вызовы CPI будут завершаться с ошибкой. Проектируйте контракты с неглубокими деревьями вызовов.

## Ограничения токенов

**Хуки передачи срабатывают только при `только`.** обычных `transfer` вызовах, полностью обходя хуки. Все операции моста Rome используют `только`, однако сторонние интеграции должны учитывать это.

**Операции mint и burn не используют хуки.** Хуки передачи Token-2022 не срабатывают при mint/burn. Управление осуществляется через mint authority, а не через хуки.

**Обход через обёртывание токенов.** Пользователи могут потенциально обернуть токены Token-2022 в стандартные SPL-токены, чтобы обойти хуки передачи. Это частично смягчается чёрными списками wrapper'ов и расширением PermanentDelegate, но не устраняется полностью.

## Ограничения оракула

**Нет исторических данных раундов.** Адаптеры Oracle Gateway поддерживают только `latestRoundData()`. Исторические запросы цен через `getRoundData(roundId)` вызывают revert.

**Смещения парсера эмпирически проверены.** Данные аккаунтов Pyth и Switchboard разбираются с использованием жёстко заданных байтовых смещений. Если Pyth или Switchboard изменят структуру своих аккаунтов, адаптеры будут возвращать некорректные данные до повторной проверки смещений.

## Ограничения инфраструктуры

**Модель с одним оператором.** Каждое развертывание Rome обслуживается одной сущностью (оператором пула плательщиков). Децентрализованного набора операторов нет.

**Блокировка в итеративном режиме.** Во время итеративного выполнения аккаунты блокируются на 3–4 секунды. Это может вызывать конкуренцию за часто используемые аккаунты.

**Риск расхождения с OP-Geth.** Расхождение состояния между Rome EVM и OP-Geth остаётся постоянной инженерной проблемой. Валидация footprint снижает этот риск, но не устраняет его полностью.

## Что дальше

* [Ответственное раскрытие информации](/ru/bezopasnost/responsible-disclosure.md) — как сообщать о проблемах


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rome.builders/ru/bezopasnost/known-limitations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
