Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Это журнал изменений документации — запись обновлений этих страниц с момента запуска проекта. Каждый релиз ниже ссылается на собственную запись; откройте её для полного резюме, затронутых разделов и даты проверки. Для собственной исторической хронологии протокола см.
introduction/history-and-milestones.Релизы
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, восстановление избыточных lamports и конец переходных шлюзов
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, восстановление избыточных lamports и исправленные владельцы комиссий
CPMM переходит на Anchor
1.0.2 на Agave 3.1.10 и добавляет администратора CollectExcessLamports, который возвращает арендную плату, освобождённую SIMD-0437 из хранилищ, минтов LP и PDA — включая завёрнутые SOL хранилища, через раунд SyncNative / UnwrapLamports, который оставляет завёрнутый баланс нетронутым. Три поведенческих изменения идут вместе: CreateAmmConfig теперь записывает жёстко закодированные ключи protocol_fee_owner и fund_fee_owner вместо подписывающего (существующие конфиги не мигрируются — прочитайте поля), жёстко закодированный четырёхадресный MINT_WHITELIST Token-2022 удалён, поэтому PDA реестра SupportMintAssociated — единственный оставшийся обход, и ClosePermissionPda теперь принимает выделенный орган выдачи прав. Добавлен 6015. Никакие инструкции, видимые пользователю, или макеты аккаунтов не изменены.Читать полную запись →AMM v4: зависимости Solana 3.0 и восстановление избыточных lamports
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 перестал читать свой завершающий sysvar аренды, но по-прежнему принимает старый список из пяти аккаунтов. AmmError получает код 60 (нумеруется с 0, а не 6000).Читать полную запись →LaunchLab: правила кривой платформы заменяют список параметров кривой
Ограничения параметров запуска переходят с
PlatformConfig в PDA 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 поставляется с двумя чистыми внецепочными проверками, поэтому создатель никогда не должен узнавать правило из отменённой транзакции, и запись документирует репетицию devnet перед включением флага на mainnet.Читать полную запись →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. Платформы также могут ограничивать запуски своими собственными 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, проверенный на соответствие развёртываниям mainnet-beta в реальном времени и
@raydium-io/raydium-sdk-v2@0.2.42-alpha.Читать полную запись →Соглашения документации
- Версионирование: эта документация использует календарное версионирование (YYYY-MM-DD). Каждое обновление добавляет новую страницу записи и новую строку в начало хронологии выше.
- Одна страница на релиз: каждое резюме релиза находится на собственной странице в
reference/changelog/, поэтому этот индекс остаётся коротким и каждая запись независимо ссылаема. - Дата проверки: каждая запись записывает, когда содержание было последний раз перепроверено на соответствие состоянию в цепи / API и исходному коду программы. Если не указано, предположите дату основной записи.
- Критические изменения: выделены в прямоугольном предупреждении на затронутых страницах и помечены в записи.
- Охват: этот журнал изменений охватывает сам набор документации. Собственная историческая хронология протокола находится в
introduction/history-and-milestonesи является источником истины для «когда X произошло на Raydium».
Исправления
Если вы найдёте ошибку в этой документации, пожалуйста, откройте issue или pull request в репозитории документации. Исправления регистрируются как записи журнала изменений.Указатели
introduction/history-and-milestones— собственная хронология протокола.security/audits— история аудитов.ray/protocol-fees— разделение комиссий протокола.reference/program-addresses— источник истины адресов программ.

