Skip to main content
本頁內容由 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_basereal_quote — 當前曲線狀態。結合 virtual_base / virtual_quote,它們足以計算現貨價格,無需接觸金庫。請參閱 bonding-curve
  • total_base_sell vs real_base — UI 的「畢業進度」比率。
  • migrate_type — 新初始化需要 1CPSWAP)。存儲的 0 僅對在強制執行 CPMM 之前建立的現有發行有意義。
  • amm_creator_fee_on — 在畢業後 CPMM 池上選擇 creator_fee_on = OnlyQuoteToken0)或 BothToken1)。它不選擇遷移目標。請參閱 creator-fees
  • quote_protocol_fee / platform_fee / migrate_fee — 三個獨立的費用計數器。每個都有自己的領取指令;請參閱 instructions
  • vesting_schedule — 存在於每個 PoolState 上,但當 total_locked_amount == 0 時不活躍。請參閱 vesting 了解完整的生命週期。

授權 PDA

LaunchLab 在所有發行中使用單一授權 PDA,無每次發行的種子:
該單一 PDA 是:
  • 每次發行的 base_vaultquote_vault 上的授權。
  • 每次發行的 base_mint 上的 mint_authority(畢業前)。
  • CPMM 畢業 CPI 上的簽署者,以及現有狀態的舊版 AMM v4 畢業。
  • ClaimVestedToken 轉帳出基礎金庫的簽署者。
mint_authorityMigrateToCpswap 或舊版 MigrateToAmm 呼叫後立即被撤銷,因此供應永久固定。 兩個額外的 PDA 控制費用金庫:
這些在 ClaimCreatorFeeClaimPlatformFeeFromVault 期間簽署相應費用金庫的轉帳。

基礎鑄幣

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_vaultquote_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.balancePoolState.real_quote 應保持同步。它們最多可以漂移三個待處理費用計數器(quote_protocol_feeplatform_feemigrate_fee)的總和,這些計數器位於金庫中但屬於費用計數器而不是曲線儲備。曲線數學始終使用 real_quote,從不使用原始金庫餘額。 畢業前不變量:

生命週期帳戶轉換

接下來去哪裡

來源:
  • raydium-launch/programs/launchpad/src/states/pool.rsPoolStatePoolStatusVestingScheduleAmmCreatorFeeOn
  • raydium-launch/programs/launchpad/src/lib.rs — PDA 種子常數(AUTH_SEEDCREATOR_FEE_VAULT_AUTH_SEEDPLATFORM_FEE_VAULT_AUTH_SEED)。
  • Raydium SDK v2 launchpad 模組