本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
这是一份关于即将推出的 CPMM 程序更新的文档变更日志条目。如需查看所有更新的索引,请参阅
reference/changelog。如需了解协议本身的历史时间线,请参阅 introduction/history-and-milestones。PoolState.pool_creator,并将两个目标都固定为该创建者的规范关联代币账户。现有的创建者签名指令保持不变。
它还允许专门的权限创建 CPMM Permission PDA。该委托是有意不对称的:专门的权限可以授予 InitializeWithPermission 的访问权限,而只有程序管理员可以通过 ClosePermissionPda 撤销授权。
集成者速览
- 新增指令:
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接受程序管理员或专门的创建权限 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 来创建缺失的创建者 ATA。调用者无法选择受益人、替换任意代币账户、请求部分金额或更改池的创建者费用配置。 新的权限 PDA 创建者角色可以为任何permission_authority 创建授权,并为新账户支付租金。在此更改下,它无法关闭该 PDA。将其视为委托授权权限,而不是完整的权限管理员。
迁移说明
- 保持现有
CollectCreatorFee交易不变。 - 仅在目标 CPMM 部署和客户端 IDL 包含该指令后添加无权限指令。
- 自动化可以扫描具有非零
creator_fees_token_0或creator_fees_token_1的池,并在不持有创建者密钥的情况下触发收集。 - 当另一个调用者先清空计数器时,将
NoFeeCollect作为良性竞态处理。 - 不要传递任意接收者代币账户;从
pool_state.pool_creator、每个保险库铸币和匹配的代币程序派生创建者 ATA。
更新的页面
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的对比。

