Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Основные продукты Raydium не зависят от внешних oracles для определения цены — состояние пула само является oracle. Но API и SDK используют внешние oracles для отображения USD-цен пользователям, а миниты Token-2022 предоставляют более богатый набор управляющих параметров, чем SPL Token, некоторые из которых принципиально меняют модель доверия в пуле. На этой странице описаны оба вопроса.
Oracles в Raydium
Внутренний: пул как oracle
Для AMM v4, CPMM и CLMM определение текущей цены в протоколе выводится только из состояния пула:- AMM v4 / CPMM:
price = vaultB_balance / vaultA_balance(с учётом decimals). - CLMM:
price = (sqrtPriceX64 / 2^64)^2 × 10^(decimalsA - decimalsB).
CLMM ObservationState как TWAP-oracle
Пулы CLMM ведут учёт ObservationState, который записывает исторические снимки sqrt_price. Другие программы могут использовать это для вывода устойчивой к манипуляциям средневзвешенной по времени цены:
products/clmm/accounts#observation-state.
Внешний: USD-ценообразование в frontend/API
Frontend Raydium иapi-v3.raydium.io отображают USD-значения (TVL, APR комиссий, $ объём). Они берутся из:
- Pyth как основной oracle для крупных минтов.
- Jupiter’s aggregator price как резервный вариант.
- Цена, выведенная из пула для дальних минтов без охвата внешним oracle.
Манипуляция oracle неприменима к пулам Raydium
Потому что состояние пула является oracle, нет никакого «oracle-атаки» в том смысле, в котором это означает баг-баунти литература — нет внешнего манипулируемого источника данных, который злоумышленник может испортить. Экономические атаки на состояние пула (flash-loan-подобная манипуляция) рассматриваются вsecurity/attack-vectors.
Риски расширений Token-2022
SPL Token-2022 (она же «Token Extensions») добавляет настраиваемое поведение к минтам через расширения. Некоторые расширения меняют свойства доверия пулов, которые их содержат. Программы Raydium обрабатывают некоторые автоматически и указывают на другие как на предупреждения для пользователей.Transfer fee
Что это: Настраиваемая комиссия (процент передачи, вверх доmaximum_fee кепа в абсолютных терминах), выплачиваемая отправителем authority минта при каждой передаче.
Риск: Комиссия может быть изменена authority-ом конфигурации комиссии. Если вы внесли ликвидность, когда комиссия составляла 1%, а authority повысит её до 50%, последующие свопы вернут гораздо меньше, чем ожидалось.
Смягчение в Raydium: Пулы читают текущий transferFeeConfig во время свопа и корректируют математику. Сам пул не повреждается, но пользователи видят худший результат. Authority комиссии также может запланировать отложенное изменение; UI Raydium помечает пулы с предстоящими изменениями комиссии.
Остаточный риск: Если вредоносный authority комиссии изменяет комиссию во время вашего в-полёте свопа, ваш minimumAmountOut защищает нижний предел — tx откатывается. Если вы доверяете издателю минта, всё в порядке; если нет, не вносите LP.
Transfer hook
Что это: Передача вызывает отдельную программу («hook») для запуска пользовательской валидации или побочных эффектов. Риск: Hook может заблокировать любую передачу, включая внутренние передачи пула во время свопа. Обновляемый hook может стать вредоносным позже — то, что было безопасно во время депозита, может стать невозможным для вывода во время вывода. Смягчение в Raydium: Raydium указывает программный ID hook’а в состоянии пула. Интеграции должны отображать программный ID hook’а пользователям, чтобы они могли проверить, это ожидаемая (не обновляемая, проверенная) программа. Остаточный риск: Если hook обновляем и его authority становится враждебным, пул может быть заморожен. Raydium не блокирует пулы с transfer hooks, но помечает их. Вносите LP в пул с transfer hook только если hook проверен как безопасный.Freeze authority
Что это: Freeze authority минта может заморозить любой токен-аккаунт, содержащий этот минт, препятствуя всем передачам. Риск: Freeze authority с возможностью заморозить аккаунт хранилища пула эффективно закрывает пул — пользователи не могут вывести, трейдеры не могут совершать свопы. Это применяется к SPL Token и Token-2022; это не ново с Token-2022, но это всё ещё риск. Смягчение в Raydium: Ничего на уровне программы — freeze в SPL Token непрозрачен для пула. UI Raydium предупреждает о пулах с замораживаемыми минтами. Пользователи, вносящие депозиты, должны проверить, что freeze authority null или принадлежит мультиподписи, которой они доверяют (USDC имеет freeze authority; это издатель Circle). Остаточный риск: Примите, что замораживаемые миниты могут быть заморожены. Крупные миниты (USDC, USDT, USDY) имеют freeze authorities, удерживаемые издателем и используемые только для соответствия нормативным требованиям; это обычно приемлемо.Permanent delegate
Что это: Расширение Token-2022, которое назначает permanent delegate’а, который может передавать токены от любого держателя без одобрения. Риск: Permanent delegate может опустошить хранилище пула в любое время. Смигчение в Raydium: CPMM и CLMM отказываются создавать пулы с минтами, у которых есть permanent delegate. Инициализация откатывается. Ни один работающий пул Raydium не имеет минта с permanent delegate. Остаточный риск: Нулевой (при условии, что проверка верна, что обе аудиты проверили).Non-transferable
Что это: Миниты, которые не могут быть переданы держателями. Риск: Пулы зависят от передачи для перемещения токенов между пользовательскими ATA и хранилищами пулов. Non-transferable миниты тривиально ломают пулы. Смягчение в Raydium: Создание пула откатывается на non-transferable минтах. Фермы также отказываются от non-transferable стейкинг-минтов.Default-frozen / close-authority / interest-bearing
Менее влиятельные расширения, обрабатываемые Raydium:- Default-frozen: новые аккаунты токенов нужно разморозить перед использованием. Raydium обрабатывает это прозрачно при создании ATA.
- Close-authority: назначенный authority может закрывать аккаунты токенов. Хранилища пула принадлежат выведённому от программы authority пула, поэтому close-authority на минте не применяется к хранилищу.
- Interest-bearing: отображаемый баланс накапливает проценты;
amountостаётся фиксированным, ноuiAmountрастёт. Математика пула Raydium используетamount, не проценты; отображение корректируется отдельно.
Mint authority
Не специфичный для Token-2022 риск, но стоит отметить: если минт сохраняет mint authority, держатель может раздувать предложение по желанию. Для запущенных токенов это разбавляет LP’ей по текущей цене пула. LaunchLab отказывается создавать запуски, если только mint authority не null.Метки рисков в UI
Frontend Raydium помечает каждый пул применимыми риск-тегами:- TRANSFER_FEE — ненулевая transfer fee.
- TRANSFER_HOOK — расширение transfer-hook активно.
- FREEZE — минт имеет freeze authority.
- MINT — минт имеет mint authority (предложение может раздуться).
- CLOSE — минт имеет close authority.
Чек-лист интегратора
Перед композицией с пулом Raydium:- Проверьте расширения каждого минта через
getMint(mint, TOKEN_2022_PROGRAM_ID). - Пропустите пулы, где любой минт имеет permanent_delegate или non_transferable (их не должно быть в Raydium, но защита в глубину).
- Проверьте freeze authority для обоих минтов; только null или доверенный authority.
- Для пулов с transfer hooks проверьте программный ID hook’а против белого списка.
- Размер exposure с учётом transfer-fee сценариев (что если комиссия пойдёт максимум?).
- Используйте CLMM TWAP (ObservationState) вместо спот-цены для ценообразования производных.
Заявление о принятии остаточного риска
Программы Raydium обеспечивают то, что может быть обеспечено на уровне программы:- Создание пула отказывает permanent-delegate / non-transferable минтам.
- Математика свопа правильно корректируется для текущих transfer fees.
- ObservationState предоставляет устойчивый к манипуляциям oracle.
- Freeze authority минта может заморозить пул.
- Fee authority минта может поднять transfer fee (вверх до
maximum_feeкепа) в любой момент. - Transfer-hook программа может быть обновлена на вредоносный код.
- Акодовальная ставка interest-bearing минта может быть изменена.
Ссылки
algorithms/token-2022-transfer-fees— математические корректировки для минтов с transfer fee.security/attack-vectors— как эти риски проявляются как конкретные атаки.integration-guides/wallet-integration— отображение Token-2022 риск-меток.products/clmm/accounts— макет ObservationState.
- SPL Token-2022 extensions docs.
- Логика валидации инициализации пула:
src/raydium/cpmm/instrument.ts,src/raydium/clmm/instrument.ts. - Pyth — внешний oracle цен, используемый на frontend.


