Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Это история изменений документации — запись об обновлениях этих страниц с момента запуска проекта. Каждый релиз ниже ссылается на отдельную запись; откройте её для полного резюме, затронутых разделов и даты проверки. Для собственной исторической хронологии протокола см.
introduction/history-and-milestones.Релизы
CPMM: InitializeV2 открывает комиссию создателя для каждого создателя пула
Новая инструкция без разрешений
InitializeV2 позволяет любому создателю включить комиссию создателя и выбрать её сторону при создании пула. Она принимает те же аргументы, что и Initialize, плюс creator_fee_on: Option<CreatorFeeOn>: Some(side) включает комиссию, None сохраняет то же, что сохраняет Initialize. До этого только InitializeWithPermission, закрытая PDA Permission, могла создать пул с включённой комиссией. Аккаунты совпадают с Initialize без завершающего sysvar rent, а подписывающий creator всегда записывается как pool_creator. Создатель выбирает включение/выключение и сторону, но не ставку, которая остаётся creator_fee_rate уровня комиссий. Изменение аддитивное: Initialize, InitializeWithPermission и все остальные инструкции не изменились, и ни одна раскладка аккаунта или код ошибки не изменились.Читать полную запись →CLMM: CreateCustomizablePoolV2 открывает создание мультипулов для всех
CreatePermissionedPool переименован в CreateCustomizablePoolV2 и теряет свой Permission PDA gate, поэтому любой плательщик может создавать дополнительные пулы для одной и той же пары и комиссии на адресе, производном от seed_index. Аргументы и вывод адреса пула остаются неизменными, но дискриминатор меняется и аккаунт permission покидает слот 3, поэтому клиенты, собранные для старой инструкции, должны быть пересобраны. pool_creator не аутентифицируется, поэтому owner пула V2 не является доказательством того, кто его создал. Аккаунт Permission, CreatePermissionPda, ClosePermissionPda и ключ permission_pda_admin удалены; Permission PDA, созданные ранее, остаются на цепи как инертные данные. Ни одна раскладка аккаунта или код ошибки не изменились. IDL сокращается до 37 инструкций.Читать полную запись →CLMM: Anchor 1.0, восстановление избыточных лампортов и фиксированные владельцы комиссий
CLMM переходит на Anchor
1.0.2 на Agave 3.1.10, то же самое, что сделали CPMM и LaunchLab 2026-09-09. Обе публичные CPI крейты теперь закрепляют =1.0.2, поэтому одна программа может делать CPI в CPMM и CLMM. Новый админ CollectExcessLamports возвращает ренту, освобожденную SIMD-0437. Он обрабатывает один пул за вызов: PDA PoolState подписывает свои собственные хранилища и хранилища вознаграждений, хранилища wSOL проходят через раунд SyncNative / UnwrapLamports, и любой аккаунт, принадлежащий CLMM, в remaining_accounts дебетуется до минимума ренты. CreateAmmConfig теперь записывает жестко закодированные ключи protocol_fee_owner и fund_fee_owner вместо подписывающего. На мейннете это ключи, уже хранящиеся на всех 21 конфигах, и существующие конфиги не переписываются. Добавлено 6052. Ни одна инструкция, видимая пользователю, или раскладка аккаунта не изменились.Читать полную запись →CPMM: протокол получает долю комиссии создателя
CPMM теперь может удерживать часть комиссии создателя. Разделение применяется при сборе комиссии, а не при её начислении: своп по-прежнему начисляет всю комиссию создателя на
creator_fees_token*, а CollectCreatorFee / CollectCreatorFeePermissionless затем перемещают долю в существующие счетчики protocol_fees_token* пула и платят создателю остаток — округляя вниз, поэтому пыль остается с создателем. Ставка поступает из нового AmmConfig.creator_fee_share_rate (вырезанного из отступа; аккаунт по-прежнему 236 байт, но старый padding[0] теперь является активным полем) или из PDA CreatorFeeShare для каждого создателя, который переопределяет его, управляемого новыми админами CreateCreatorFeeShare / CloseCreatorFeeShare. Критично для клиентов с комиссией создателя: обе инструкции сбора принимают новые аккаунты, добавленные в конец их списков — существующие аккаунты сохраняют свои позиции, но новые являются обязательными, поэтому транзакция до обновления отклоняется за отсутствующие аккаунты. UpdateAmmConfig получает param = 8. PoolState, математика свопа и проверка k остаются нетронутыми, и ни один код ошибки не был добавлен. Попутно: исправление двухпроходного упорядочивания в CollectExcessLamports.Читать полную запись →LaunchLab: Anchor 1.0, восстановление избыточных лампортов и конец переходных шлюзов
LaunchLab переходит на Anchor
1.0.2 на Agave 3.1.10 и снимает с производства свои переходные леса. Устаревший Initialize теперь безусловно завершается с NotApproved. MigrateToAmm критично нарушает кошелек миграции: все три аргумента и девять аккаунтов OpenBook удалены, следуя собственному удалению OpenBook в AMM v4, и программа больше не инициализирует рынок через CPI. Шлюз часов get_upgrade_timestamp удален, поэтому три торговых remaining_accounts безусловно требуются (с валидацией слота system_program), MigrateToCpswap всегда принимает разрешенный путь CPMM, и InitializeWithToken2022 теряет свое ограничение amm_fee_on. Новый админ CollectExcessLamports возвращает ренту, освобожденную SIMD-0437 — учтите, что исходные аккаунты должны быть сгруппированы по тому, какой из трех PDA органов хранилища их владеет. Три ограничения адреса MigrateToCpswap переместились в тело инструкции, изменив 2012 на 2502. Добавлено 6031. Ни одна раскладка аккаунта, торговая инструкция или поведение комиссии не изменились.Читать полную запись →CPMM: Anchor 1.0, восстановление избыточных лампортов и фиксированные владельцы комиссий
CPMM переходит на Anchor
1.0.2 на Agave 3.1.10 и добавляет админ CollectExcessLamports, который возвращает ренту, освобожденную SIMD-0437, из хранилищ, LP минтов и PDA — включая завернутые SOL хранилища, через раунд SyncNative / UnwrapLamports, который оставляет завернутый баланс нетронутым. Три поведенческих изменения идут попутно: CreateAmmConfig теперь записывает жестко закодированные ключи protocol_fee_owner и fund_fee_owner вместо подписывающего (существующие конфиги не мигрируются — читайте поля), жестко закодированный четырехадресный Token-2022 MINT_WHITELIST удален, поэтому PDA реестра SupportMintAssociated является единственным оставшимся обходом, и ClosePermissionPda теперь принимает выделенный орган выдачи прав. Добавлено 6015. Ни одна инструкция, видимая пользователю, или раскладка аккаунта не изменились.Читать полную запись →AMM v4: зависимости Solana 3.0 и восстановление избыточных лампортов
AMM v4 пересобирается против
solana-program 3.0.0, spl-token 9.0.0, spl-associated-token-account 8.0.0 и нового крейта solana-system-interface, и добавляет только для админов WithdrawExcessLamports (тег 18), который возвращает ренту, освобожденную SIMD-0437. Каждая инструкция, видимая трейдерам и LP, сохраняет свои аккаунты, аргументы и математику, и ничего в релизе не нарушает: CreateConfigAccount перестал читать свой завершающий сисвар ренты, но по-прежнему принимает старый список из пяти аккаунтов. AmmError получает код 60 (он нумеруется с 0, а не с 6000).Читать полную запись →LaunchLab: правила кривой платформы заменяют белый список параметров кривой
Ограничения параметров запуска переходят с
PlatformConfig в аккаунты PlatformCurveRule для каждого конфига. Правило содержит до 10 групп проверок из до 25 ограничений (field, op, value) над 19 параметрами запуска, с Eq / Gte / Lte / Neq — поэтому платформа наконец может выразить диапазон значений, альтернативные уровни, крышку валюации выпуска, пол миграции, шлюз типа токена или группу, которая переключается по дате, ничего из чего не мог сделать белый список только с равенством. PlatformConfig сохраняет свой размер 944 байта: restrict_curve_param, curve_rule_manager и префикс длины удаленного вектора все выходят из отступа. Декодеры должны отбросить завершающий Vec<PlatformCurveParam>, и строители запусков должны добавить PDA правила в remaining_accounts пока флаг включен. Две инструкции удалены, четыре добавлены, два варианта UpdatePlatformConfig добавлены, добавлены 6024–6030. Требуется обновление IDL. SDK поставляется с двумя чистыми внецепочными проверками, поэтому создатель никогда не должен узнавать правило из отмененной транзакции, и запись документирует репетицию девнета перед включением флага на мейннете.Читать полную запись →LaunchLab: платформа держит орган вывода удержанных средств при создании минта
InitializeWithToken2022 теперь записывает PlatformConfig.transfer_fee_extension_auth в withdraw_withheld_authority нового базового минта вместо PDA запуска authority, поэтому платформа может собирать удержанные комиссии за передачу во время фазы кривой связывания, а не ждать выпуска — сама программа не имеет инструкции вывода удержанных средств. MigrateToCpswap переназначает этот орган только когда PDA по-прежнему его держит, что сохраняет выпуск работающим для минтов обоих поколений. transfer_fee_config_authority по-прежнему переходит только при выпуске, поэтому ротация transfer_fee_extension_auth в середине запуска молча оставляет два органа на разных ключах. Ни одна раскладка аккаунта, инструкция, аргумент или код ошибки не изменились.Читать полную запись →LaunchLab: потолок комиссии платформы поднят до 500 bps
Потолок
fee_rate платформы переходит на 50000 (500 bps) на обоих путях, которые его валидируют. CreatePlatformConfig был ограничен 10000 (100 bps) с первого релиза программы; UpdatePlatformConfig был ограничен 25000 (250 bps) с 2026-01-27. Две проверки теперь согласуются, поэтому платформа, созданная с любой разрешенной ставкой, также может быть обновлена с ней — включая через вариант AllInfo массовой операции, который переваливает fee_rate при переписывании каждого другого поля. Два пути по-прежнему вызывают разные ошибки (InvalidInput при создании, InvalidPlatformInfo при обновлении). Ни одна раскладка аккаунта, инструкция или код ошибки не изменились, и ни одна существующая платформа или запуск не переоценивается. GlobalConfig.max_share_fee_rate остается на 100 bps и ограничивает только share_fee_rate реферала за транзакцию.Читать полную запись →LaunchLab: минты котировок Token-2022
Запуск теперь может быть котирован в минте Token-2022.
CreateConfig, InitializeV2, InitializeWithToken2022, четыре инструкции свопа и каждый сбор комиссии принимают любую программу токена в своем слоте программы котировки; устаревший Initialize остается только для наследия. Границы проскальзывания свопа теперь сравниваются с тем, что плательщик фактически платит или получает, за вычетом комиссии за передачу минта котировки. Бит1 PoolState.token_program_flag становится значимым, поэтому декодеры, которые тестируют весь байт против 0, неправильно читают наследственный базовый минт как Token-2022. MigrateToCpswap переименовывает свои два аккаунта программы токена в token_program / token_program_2022, и 6023 переиспользуется для CalculateOverflow.Читать полную запись →LaunchLab: запуски только CPMM и элементы управления конфигом платформы
Новая инициализация запуска теперь требует CPMM, в то время как состояние, привязанное к наследственному AMM v4, остается мигрируемым. До этого релиза
creator_scale создавал принадлежащий создателю Fee Key; миграции CPMM, выполненные после обновления, вместо этого консолидируют platform_scale + creator_scale в один принадлежащий платформе Fee Key share. Платформы также могут ограничивать запуски своими собственными PDA PlatformAllowConfig, и строители миграции должны добавить оба PDA поддержки минтов CPMM.Читать полную запись →CLMM: замораживание позиционного NFT с ограниченным издателем
Новые минты позиционного NFT CLMM используют свой пул в качестве органа замораживания, но их аккаунты токенов остаются незамороженными по умолчанию. Замораживание происходит только на
OpenPositionV2 или OpenPositionWithToken22Nft, когда орган замораживания любого из основных минтов хранилища совпадает со списком ограниченных издателей. Соответствующая позиция не может передаваться или менять владельца, но все еще может управлять ликвидностью. Её вызов ClosePosition должен добавить пул, чтобы CLMM мог разморозить, сжечь и закрыть атомарно. Существующие позиции остаются неизменными.Читать полную запись →CPMM: сбор комиссии создателя без разрешения
Аддитивная инструкция
CollectCreatorFeePermissionless позволяет любому плательщику собрать все накопленные комиссии создателя, одновременно ограничивая бенефициара и оба назначения токенов на PoolState.pool_creator и канонические ATA создателя. Исходный путь, подписанный создателем, остается неизменным. CreatePermissionPda также принимает выделенный орган выдачи прав, в то время как ClosePermissionPda остается только для админов.Читать полную запись →CLMM: разрешенные мультипулы и защита замороженного аккаунта лимитного ордера
Два аддитивных, обратно совместимых обновления программы CLMM.
CreatePermissionedPool складывает предоставленный клиентом ненулевой seed_index в семена PDA пула, позволяя внесенному в белый список оператору (тому, кто держит PDA Permission) создавать несколько пулов на (config, mint0, mint1) — поэтому ID пула больше не является каноническим для пары. Новые админ инструкции CreatePermissionPda / ClosePermissionPda управляют этими грантами, и PoolState получает поле seed_index (вырезанное из отступа, без изменения размера). Отдельно, OpenLimitOrder теперь принимает аккаунты стороны вывода и отклоняет ордера, чьи аккаунты входного или выходного токена заморожены (NotApproved).Читать полную запись →AMM v4: удаление зависимости OpenBook / Serum
AMM v4 удаляет свою давно неиспользуемую зависимость OpenBook/Serum, все CPI книги заказов и мертвые инструкции создания рынка.
SwapBaseIn / SwapBaseOut, Deposit и Withdraw сохраняют свои раскладки (удаленные аккаунты рынка теперь игнорируются, не валидируются); критично нарушающий WithdrawPnl (17 → 10, без совместимости) и SetParams (сокращенные аккаунты + переномерованный param); и Initialize, PreInitialize, MonitorStep, MigrateToOpenBook, WithdrawSrm, SimulateInfo, AdminCancelOrders больше не вызываются. Раскладки аккаунтов на цепи и коды ошибок остаются стабильными; мигрируйте своп на точки входа V2.Читать полную запись →Stable AMM: удаление мертвого кода OpenBook (рынка)
Stable AMM удаляет свои давно неиспользуемые аккаунты и код создания рынка OpenBook. Меньшие раскладки
SwapBaseIn / SwapBaseOut (18 → 9), Deposit (14 → 12) и Withdraw (21/22 → 12) (старые раскладки по-прежнему совместимы); критично нарушающее изменение WithdrawPnl (16 → 10, без совместимости); снятие комиссии реферала; и упрощенная формула активов пула только для хранилища. Большинство других инструкций Stable больше не вызываются.Читать полную запись →CLMM: лимитные ордера, односторонняя комиссия, динамическая комиссия
Три опциональные, обратно совместимые возможности CLMM: лимитные ордера первого класса (с хранителем расчетов
limit_order_admin), сбор односторонней комиссии (CollectFeeOn) и отслеживающая волатильность динамическая комиссия. Добавляет CreateCustomizablePool, переформатирование PoolState (критично для индексатора), новые поля TickState, одиннадцать новых кодов ошибок (с числовым сдвигом) и соответствующие добавления SDK / API.Читать полную запись →Первоначальная публикация
Первый публичный релиз набора документации Raydium, проверенный против развертываний на живом мейннете-бета и
@raydium-io/raydium-sdk-v2@0.2.42-alpha.Читать полную запись →Соглашения по документации
- Версионирование: в этой документации используется календарное версионирование (YYYY-MM-DD). Каждое обновление добавляет новую страницу записи и новую строку в начало временной шкалы выше.
- Одна страница на релиз: каждое резюме релиза находится на отдельной странице в
reference/changelog/, поэтому этот индекс остаётся кратким, а каждая запись независимо ссылаема. - Проверенная дата: каждая запись фиксирует, когда содержимое было последний раз перепроверено относительно состояния on-chain / API и исходного кода программы. Если не указано иное, предполагайте основную дату записи.
- Критические изменения: выделены в прямоугольном предупреждении на затронутых страницах и помечены в записи.
- Охват: этот журнал изменений охватывает саму документацию. Собственная историческая временная шкала протокола находится в
introduction/history-and-milestonesи является источником истины для «когда произошло X на Raydium».
Исправления
Если вы найдёте ошибку в этой документации, откройте issue или pull request в репозитории документации. Исправления регистрируются как записи в журнале изменений.Ссылки
introduction/history-and-milestones— временная шкала протокола.security/audits— история аудитов.ray/protocol-fees— распределение комиссий протокола.reference/program-addresses— источник истины для ID программ.

