> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-17 — LaunchLab：仅 CPMM 启动和平台配置控制

> LaunchLab 将 CPMM 设为新启动的唯一目标，将锁定 LP 合并到平台下，用平台管理的配置白名单替代全局平台授权，并更新 CPMM 迁移账户。

<Info>
  **本页内容由 AI 自动翻译，所有内容以英文版本为准。**

  [查看英文版 →](/reference/changelog/2026-08-17-launchlab-cpmm-only-platform-config)
</Info>

<Info>
  本条目涵盖即将推出的 LaunchLab 程序更新。在部署前已根据本地发布分支进行验证。启用生产环境中的新路径前，请确认已部署的程序和已发布的 IDL。
</Info>

此版本将 CPMM 设为新初始化启动的唯一毕业目标。它还改变了谁获得锁定 LP 权利，将 `GlobalConfig` 选择控制权转移到平台管理员，并扩展了 CPMM 迁移 CPI 输入。

## 集成者速览

* **新启动仅支持 CPMM。** `Initialize`、`InitializeV2` 和 `InitializeWithToken2022` 要求 `migrate_type = 1`。为 AMM v4 配置的新启动将返回 `MigrateTypeNotMatch`。
* **旧版 AMM v4 状态仍受支持。** `MigrateToAmm` 未被移除。它仍可毕业一个存储迁移类型为 `0` 的现有池。
* **创建者锁定 LP 在升级后转移到平台。** 在此版本之前，`creator_scale` 生成一个单独的创建者所有的费用密钥。升级后执行的迁移将 `platform_scale + creator_scale` 合并为一个平台所有的锁定 LP 份额。`burn_scale` 被销毁。
* **创建者费用保持独立。** 绑定曲线创建者费用和 CPMM 创建者费用不是 LP 费用密钥权利。`platform_cp_creator` 仍决定原始启动创建者或平台选定的地址是否成为 CPMM 创建者记录。
* **平台管理自己的配置白名单。** `PlatformConfig.restrict_global_config` 和 `PlatformAllowConfig` 替代全局管理员管理的 `requires_platform_auth` / `PlatformGlobalAccess` 模型。
* **CPMM 迁移构建者必须更改。** 升级后的路径需要十个固定的剩余账户，并为两个排序的代币添加 CPMM `support_mint` PDA。
* **委托权限可能创建 `GlobalConfig`。** 它无法更新现有配置。

## 新启动与现有状态行为

CPMM 唯一性检查在池初始化期间运行。它不会重写现有的 `PoolState` 账户。现有 AMM v4 绑定的启动保留其存储的迁移类型，可以使用保留的旧版迁移指令。

`amm_creator_fee_on` 现在仅控制 CPMM 创建者费用端（`QuoteToken` 或 `BothToken`）。客户端不得使用它来推断目标程序。

## LP 所有权变更

三个规模字段仍保留在 `PlatformConfig` 中，其总和仍必须等于 `1_000_000`。运行时分配现为：

```text theme={null}
platform locked LP = floor(total LP × (platform_scale + creator_scale) / 1_000_000)
burned LP          = total LP − platform locked LP
```

在此版本之前，LaunchLab 单独锁定 `creator_scale` 并将其费用密钥铸造给代币创建者。对于升级后执行的迁移，该相同规模被添加到平台份额。如果合并份额非零，LaunchLab 为 `platform_nft_wallet` 创建一个费用密钥，不创建新的创建者费用密钥。

此更改不修改升级前完成的迁移创建的费用密钥或锁定流动性记录。在升级前创建但之后迁移的启动遵循新分配，因为分割在 `MigrateToCpswap` 执行时应用。

由于账户布局保留，索引器不需要账户大小迁移，但 UI 和会计系统必须根据迁移版本解释 `creator_scale`。

## 平台白名单迁移

`GlobalConfig.requires_platform_auth` 被移除，其字节返回到填充。`PlatformConfig` 为 `restrict_global_config` 重用一个填充字节，因此两个账户大小保持不变。

当 `restrict_global_config = 1` 时，初始化必须包括从以下派生的 PDA：

```text theme={null}
["platform_allow_config", platform_config, global_config]
```

平台管理员创建和关闭这些账户。旧的 `CreatePlatformGlobalAccess` 和 `ClosePlatformGlobalAccess` 指令被移除，旧的 `PlatformGlobalAccess` PDA 不满足新检查。没有自动转换路径。

## CPMM 迁移账户变更

`MigrateToCpswap` 现在期望这些从零开始的 `remaining_accounts` 索引：

| 索引  | 用途                                          |
| --- | ------------------------------------------- |
| 0–4 | 平台费用密钥所有者、代币、ATA、锁定流动性 PDA 和元数据             |
| 5   | 原始创建者备用                                     |
| 6   | CPMM 权限 PDA                                 |
| 7   | 可选配置的 `platform_cp_creator` 账户              |
| 8–9 | CPMM `support_mint` PDA，用于排序的 mint0 和 mint1 |

附加单独创建者锁定账户或省略索引 8–9 的旧构建者与升级后的路径不兼容。使用 CPMM 程序下的 `[b"support_mint", mint]` 派生两个支持代币地址。

## 错误和 IDL 影响

代码 `6000`–`6021` 保持稳定。旧的平台全局访问变体被移除。`6022` 现在表示 `InvalidPlatformAllowConfig`，旧的 `6023` 不再存在。

在构造 `PlatformAllowConfig` 指令、解码更新的配置字段或构建新 CPMM 迁移布局前，刷新 LaunchLab IDL。

## 更新的页面

* `products/launchlab/instructions` 和 `accounts` — 创建限制、旧版边界、允许 PDA 和迁移账户。
* `products/launchlab/global-config` 和 `platform-config` — 布局兼容的字段变更和权限模型。
* `products/launchlab/creator-fees`、`platforms` 和费用陷阱 — 仅平台锁定 LP 和独立 CPMM 创建者费用。
* `user-flows` LaunchLab 和 Burn & Earn 页面 — 更正的创建者面向行为。
* `protocol-overview/architecture` — 仅 CPMM 新启动路径。
* `reference/program-addresses` — 委托创建配置权限。
* `reference/error-codes` 和 `security/admin-and-multisig` — 新错误和角色边界。

**验证于 2026-08-13，对比本地分支** `feat/cpswap-only-and-platform-allow-config` 在提交 `2b1999f8e226ec84148cf818ea809d3cd5f30caa`，与 `master` 在 `13b5c5210b58ceaef1ea4f9d9fbb7626d20613ee` 对比。

<Warning>
  此验证涵盖源分支，不涵盖 mainnet-beta 部署。启用更新的指令前，请确认已部署的程序和已发布的 IDL。
</Warning>
