# 监控代币迁移

当绑定曲线募资目标达到时，迁移会自动发生。无需调用任何 SDK 方法。链上程序会处理该过渡。

## 迁移如何进行

何时 `totalFundRaisingB` 已筹集相当于以下数量的计价代币：

1. **状态变化** — 池状态从 `0` （交易）变为 `1` （迁移中）
2. **交易停止** — 买入和卖出交易被拒绝
3. **流动性转移** — 代币和计价代币从绑定曲线金库转移到新的 AMM 池中
4. **LP 分配** — LP 代币根据以下规则分发 `migrateCpLockNftScale`:
   * `burnScale` → 永久销毁（流动性永久锁定）
   * `creatorScale` → 通过 Burn & Earn 锁定，创作者接收 Fee Key NFT
   * `platformScale` → 通过 Burn & Earn 锁定，平台接收 Fee Key NFT
5. **状态完成** — 池状态变为 `2` （已迁移）
6. **AMM 交易** — 代币现在在 Raydium AMM（CPMM 或 AMMv4）上进行交易

### 迁移目的地

| `migrateType` | 目的地                | 手续费分配 | 备注                                  |
| ------------- | ------------------ | ----- | ----------------------------------- |
| `'cpmm'`      | CPMM               | 是     | 创作者和平台会收到 Fee Key NFT，以获取持续的 LP 手续费 |
| `'amm'`       | AMM v4（Hybrid AMM） | 否     | LP 代币被销毁，不进行持续的手续费分配                |

> **注意：** 使用 `'cpmm'` 以启用迁移后为创作者和平台进行手续费分成。

### 手续费如何处理

### 迁移前（绑定曲线）

手续费会累积在协议、平台和创作者金库中。可以随时使用各自的领取方法提取这些费用。

### 迁移后（AMM 池）

被锁定的 LP 代币可从 AMM 池中赚取交易手续费。Fee Key NFT 持有者使用 `harvestLockLiquidity()`领取其份额。手续费与 LP 份额成比例（`creatorScale` / `platformScale`).

### 检测迁移

监控池状态以检测何时发生迁移：

```typescript
const poolInfo = await raydium.launchpad.getRpcPoolInfo({ poolId })

switch (poolInfo.status) {
  case 0:
    console.log('Trading active')
    break
  case 1:
    console.log('Migration in progress')
    break
  case 2:
    console.log('Migrated to AMM')
    // 查找用于继续交易的新 AMM 池
    break
}
```

## 迁移后

一旦迁移：

* 交易将在 Raydium AMM 池上继续（而非绑定曲线）
* 绑定曲线的手续费仍可从 launchpad 金库中领取
* LP 手续费需使用单独的方式领取： `harvestLockLiquidity()`
* 如果配置了以下项，则开始归属（Vesting）： `cliffPeriod` 和 `unlockPeriod` 已配置
