Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Запись в журнале изменений документации для предстоящего обновления программы CPMM. Индекс всех обновлений см. в
reference/changelog. Историческую временную шкалу протокола см. в introduction/history-and-milestones.PoolState.pool_creator и оба назначения как канонические associated token accounts этого создателя. Существующая инструкция, подписанная создателем, остаётся без изменений.
Также позволяет выделенному органу создавать CPMM Permission PDA. Это делегирование намеренно асимметрично: выделенный орган может предоставить доступ к InitializeWithPermission, в то время как только администратор программы может отозвать грант с помощью ClosePermissionPda.
TL;DR для интеграторов
- Новая дополнительная инструкция:
CollectCreatorFeePermissionless. Любой подписант может бытьpayer. Записанный создатель пула не подписывает. - Вызывающий не может перенаправить средства.
creatorдолжен равнятьсяpool_state.pool_creator.creator_token_0иcreator_token_1должны быть каноническими ATA этого создателя для минтов хранилища пула и их соответствующих программ токенов. - Плательщик покрывает отсутствующие ATA. Обе учётные записи получателя используют
init_if_needed; плательщик финансирует аренду, когда любая учётная запись не существует. - Сбор — всё или ничего. Инструкция переводит оба полностью накопленных счётчика комиссий создателя, обнуляет оба и обновляет
recent_epoch. Возвращает существующую ошибкуNoFeeCollect, когда оба счётчика равны нулю. - Существующие интеграции остаются совместимыми.
CollectCreatorFeeне изменяется и не удаляется. Нет изменений макетаPoolState,AmmConfig,Permission, событий или кодов ошибок. - Создание Permission имеет второго владельца.
CreatePermissionPdaпринимает администратора программы или выделенного владельца create-permission-PDA.ClosePermissionPdaостаётся только для администратора.
Новые учётные записи инструкции
CollectCreatorFeePermissionless принимает 14 учётных записей в этом порядке:
В отличие от
CollectCreatorFee, новый макет имеет отдельные учётные записи payer и не подписывающего creator и не принимает amm_config. Поэтому требует собственный дискриминатор и построитель.
Влияние на SDK и IDL
Ветка исходного кода программы не включает зафиксированное обновление SDK или IDL. Интеграторы должны обновить развёрнутый CPMM IDL или использовать выпуск клиента, который явно поддерживаетCollectCreatorFeePermissionless. Закреплённый в документации набор построителей @raydium-io/raydium-sdk-v2@0.2.42-alpha охватывает только исходный путь, подписанный создателем.
Граница безопасности
Вызов без разрешения не означает хранение без разрешения. Вызывающий может выбрать, когда собирать, и может потратить SOL на создание отсутствующих creator ATA. Вызывающий не может выбрать бенефициара, подставить произвольные учётные записи токенов, запросить частичную сумму или изменить конфигурацию комиссий создателя пула. Новая роль создателя permission-PDA может создать грант для любогоpermission_authority и платит аренду новой учётной записи. Она не может закрыть этот PDA в соответствии с этим изменением. Рассматривайте это как делегированный орган предоставления доступа, а не полного администратора разрешений.
Примечания по миграции
- Оставьте существующие транзакции
CollectCreatorFeeбез изменений. - Добавьте инструкцию без разрешения только после развёртывания целевого CPMM и клиента, включающего её IDL.
- Автоматизация может сканировать пулы с ненулевыми
creator_fees_token_0илиcreator_fees_token_1и запускать сбор без хранения ключей создателя. - Обрабатывайте
NoFeeCollectкак доброкачественное состояние гонки, когда другой вызывающий сначала опустошает счётчики. - Не передавайте произвольные учётные записи токенов получателя; выведите creator ATA из
pool_state.pool_creator, каждого минта хранилища и соответствующей программы токенов.
Обновлённые страницы
products/cpmm/overview— обновление сбора комиссий создателя и сводка безопасности назначения.products/cpmm/instructions— сводка новой инструкции, полный список учётных записей, эффекты и матрица изменения состояния.products/cpmm/accounts— пути сбора счётчиков комиссий создателя и делегированное создание Permission PDA.products/cpmm/fees— механика сбора без разрешения и операционный поток.products/cpmm/code-demos— предупреждение о доступности SDK и граница миграции клиента.products/launchlab/platform-config— уточнено, что записанный создатель CPMM остаётся бенефициаром даже когда другой плательщик запускает сбор.protocol-overview/shared-infrastructure— пути сбора с ограничением по органу и назначению.security/admin-and-multisig— границы делегированного органа предоставления доступа и сборщика без разрешения.reference/program-addresses— канонические адреса выделенного владельцаCreatePermissionPda.reference/error-codes— расширенныйNoFeeCollectдля охвата сбора комиссий создателя.
raydium-cp-swapветкаfeat/permissionless-collect-creator-fee.- Коммиты
9585ea1иd99d542, сравнены сmasterв78f254e.

