Skip to main content
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Запись в журнале изменений документации для предстоящего обновления программы 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 для охвата сбора комиссий создателя.
Проверено 2026-08-13 против:
Эта проверка охватывает исходную ветку, а не развёртывание на mainnet-beta. Подтвердите развёрнутую программу и опубликованный IDL перед включением нового пути в production.