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.
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
本页文档说明每次启动的账户图:
PoolState(一次启动的根状态账户)、其两个保险库、权限 PDA,以及启动结算时获得的毕业后引用。关于限制每次启动的协议级配置,请参见 products/launchlab/global-config。关于平台级覆盖,请参见 products/launchlab/platform-config。关于解锁账户(PoolState 上的 VestingSchedule、每位受益人的 VestingRecord),请参见 products/launchlab/vesting。账户清单
| 账户 | 所有者 | 用途 |
|---|---|---|
GlobalConfig | LaunchLab 程序 | 协议级规则:费用、供应下限、迁移钱包。每个 (curve_type, index) 一个。 |
PlatformConfig | LaunchLab 程序 | 平台级覆盖:品牌、平台费用、毕业时的 NFT 分割、曲线形状白名单。 |
PoolState | LaunchLab 程序 | 每次启动的根状态:铸币、保险库、曲线参数、销售计数器、费用计数器、解锁计划、毕业状态。 |
authority | LaunchLab 程序 | 使用种子 [b"vault_auth_seed"] 派生的单一 PDA,拥有所有启动中的保险库,并签署毕业后的 CPI。 |
base_vault | SPL Token / Token-2022 | 每次启动的保险库,持有未售出的基础代币。 |
quote_vault | SPL Token | 每次启动的保险库,持有累积的报价代币。 |
VestingRecord | LaunchLab 程序 | 每位受益人的悬崖期 + 线性解锁记录。可选。 |
creator_fee_vault | SPL Token | 每位创建者 + 每种报价铸币的保险库,持有应计创建者费用,由 ClaimCreatorFee 清扫。 |
platform_fee_vault | SPL Token | 每个平台 + 每种报价铸币的保险库,持有应计平台费用,由 ClaimPlatformFeeFromVault 清扫。 |
(毕业后)cpmm_pool_state 或 amm_pool_state | CPMM / AMM v4 程序 | 由 MigrateToCpswap / MigrateToAmm 创建的池。 |
| (毕业后)Fee Key NFT | LP-Lock 程序 | 包装创建者在 CPMM 毕业时的 LP 份额;赋予持有人在 CPMM 池上 ClaimCreatorFee 的权利。 |
raydium.launchpad.getLaunchById 返回 PoolState 以及指示启动是否已毕业的标志;如果已毕业,则包含迁移后的池 ID。
PoolState
每次启动的根状态。下面的字段名与链上 Rust 结构(states/pool.rs)匹配;为便于阅读,某些值已简化——有关确切的内存布局,请参阅源代码。
PoolStatus 值(来自 Anchor IDL):
status— 三个值,单调的(Funding → Migrate → Migrated)。读取始终安全;写入受保护。real_base、real_quote— 当前曲线状态。结合virtual_base/virtual_quote,它们足以计算现货价格,无需触及保险库。参见bonding-curve。total_base_sellvsreal_base— 用于 UI 的”毕业进度”比率。migrate_type— 选择MigrateToAmm或MigrateToCpswap是否为有效的毕业路径。Token-2022 启动必须使用 CPMM。amm_creator_fee_on— 仅在毕业到 CPMM 时有意义。在毕业后的 CPMM 池上选择creator_fee_on = OnlyQuoteToken(0)或BothToken(1)。尽管名称如此,该枚举实际上也驱动迁移目标——在当前的操作实践中,BothToken与MigrateToAmm配对;QuoteToken与MigrateToCpswap配对。 参见creator-fees。quote_protocol_fee/platform_fee/migrate_fee— 三个独立的费用计数器。每个都有自己的领取指令;参见instructions。vesting_schedule— 存在于每个PoolState上,但当total_locked_amount == 0时不活跃。参见vesting了解完整的生命周期。
权限 PDA
LaunchLab 在所有启动中使用单一权限 PDA,不带每次启动的种子派生:- 每次启动的
base_vault和quote_vault的权限。 - 每次启动的
base_mint的mint_authority(毕业前)。 - 毕业后 CPI 到 AMM v4 / CPMM(
MigrateTo*)的签署者。 ClaimVestedToken转账出基础保险库的签署者。
mint_authority 在 MigrateToAmm / MigrateToCpswap 之后立即被吊销,以便永久固定供应。
两个额外的 PDA 限制费用保险库:
ClaimCreatorFee 和 ClaimPlatformFeeFromVault 期间签署相应费用保险库的转账。
基础铸币
由Initialize 以下列方式创建:
mint_authority = authority(在毕业时吊销)。freeze_authority = None。supply = supply,完全铸造到base_vault。decimals由创建者在Initialize时选择(通常为 6)。
base_mint.supply 在启动生命周期内是常数。曲线购买将代币从 base_vault 移动到买方,但不调用 mint_to。
Initialize / InitializeV2 创建 SPL Token 启动。专用的 InitializeWithToken2022 指令允许基础铸币是 Token-2022 铸币(带有可选的 TransferFeeConfig);报价铸币仍然是 SPL Token。Token-2022 启动必须毕业到 CPMM 池,因为 AMM v4 仅支持 SPL Token 保险库。
保险库
base_vault 和 quote_vault 都是由 LaunchLab authority PDA 拥有的标准 SPL Token 账户。地址存储在 PoolState 上,也可以派生:
Initialize 账户结构验证确切的种子前缀。)
费用保险库
两个 PDA 跨启动聚合费用:- 创建者费用保险库 — PDA,种子为
[creator, quote_mint]。每次为同一创建者在同一报价铸币上赚取费用的启动都流入同一保险库。创建者通过ClaimCreatorFee清扫它。 - 平台费用保险库 — PDA,种子为
[platform_config, quote_mint]。每次通过同一平台使用同一报价铸币的启动都流入同一保险库。平台的platform_fee_wallet通过ClaimPlatformFeeFromVault清扫它。还有一个每次启动的清扫变体(ClaimPlatformFee),直接从启动的quote_vault中提取,无需通过聚合保险库。
Quote vault ↔ real_quote
quote_vault.balance 和 PoolState.real_quote 应保持同步。它们最多可能漂移三个待处理费用计数器之和(quote_protocol_fee、platform_fee、migrate_fee),这些费用坐在保险库中,但属于费用计数器而非曲线储备。曲线数学始终使用 real_quote,从不使用原始保险库余额。
毕业前不变式:
生命周期账户转换
| 事件 | 状态 | real_base | real_quote | 毕业后池 |
|---|---|---|---|---|
Initialize | Funding | 0 | 0 | — |
BuyExactIn / BuyExactOut | Funding | +base_out | +quote_in_after_fee | — |
SellExactIn / SellExactOut | Funding | −base_in | −quote_out_before_fee | — |
MigrateToAmm / MigrateToCpswap | Funding → Migrate → Migrated | (冻结) | (冻结) | 已创建,LP 根据 PlatformConfig 分割 |
ClaimCreatorFee / ClaimPlatformFee* | any | — | — | 清扫费用保险库 |
CreateVestingAccount | Funding | — | — | 凸起 vesting_schedule.allocated_share_amount |
ClaimVestedToken | Migrated only | — | — | 清扫 base_vault |
接下来去哪里
products/launchlab/bonding-curve—real_base↔real_quote背后的数学。products/launchlab/instructions— 每条指令的账户列表。products/launchlab/global-config— 协议级绑定。products/launchlab/platform-config— 平台覆盖。products/launchlab/vesting— 锁定供应机制。products/cpmm/accounts— 毕业后的cpmm_pool_state是什么样的。
raydium-launch/programs/launchpad/src/states/pool.rs—PoolState、PoolStatus、VestingSchedule、AmmCreatorFeeOn。raydium-launch/programs/launchpad/src/lib.rs— PDA 种子常数(AUTH_SEED、CREATOR_FEE_VAULT_AUTH_SEED、PLATFORM_FEE_VAULT_AUTH_SEED)。- Raydium SDK v2
launchpad模块。


