本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
本頁記錄了每次發行的帳戶圖表:
PoolState(一次發行的根狀態帳戶)、其兩個金庫、授權 PDA,以及發行結算時獲得的畢業後參考。有關約束每次發行的協議級設定,請參閱 products/launchlab/global-config。有關每個平台的疊加層,請參閱 products/launchlab/platform-config。有關歸屬帳戶(PoolState 上的 VestingSchedule、每個受益人的 VestingRecord),請參閱 products/launchlab/vesting。帳戶清單
SDK 的
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— 新初始化需要1(CPSWAP)。存儲的0僅對在強制執行 CPMM 之前建立的現有發行有意義。amm_creator_fee_on— 在畢業後 CPMM 池上選擇creator_fee_on = OnlyQuoteToken(0)或BothToken(1)。它不選擇遷移目標。請參閱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(畢業前)。 - CPMM 畢業 CPI 上的簽署者,以及現有狀態的舊版 AMM v4 畢業。
ClaimVestedToken轉帳出基礎金庫的簽署者。
mint_authority 在 MigrateToCpswap 或舊版 MigrateToAmm 呼叫後立即被撤銷,因此供應永久固定。
兩個額外的 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。所有三個初始化路徑都需要 CPMM 畢業。
金庫
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,從不使用原始金庫餘額。
畢業前不變量:
生命週期帳戶轉換
接下來去哪裡
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模組。

