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 — 選擇 MigrateToAmmMigrateToCpswap 是否為有效的畢業路徑。Token-2022 發行必須使用 CPMM。
  • amm_creator_fee_on — 僅在畢業到 CPMM 時有意義。在畢業後的 CPMM 池上選擇 creator_fee_on = OnlyQuoteToken0)或 BothToken1)。儘管名稱如此,此枚舉實際上也驅動遷移目標——在當前運營實踐中,BothTokenMigrateToAmm 配對;QuoteTokenMigrateToCpswap 配對。 參閱 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_mintmint_authority(畢業前)。
  • 畢業後 CPI 到 AMM v4 / CPMM 的簽名者(MigrateTo*)。
  • ClaimVestedToken 從基礎金庫轉帳的簽名者。
mint_authority 在執行 MigrateToAmm / MigrateToCpswap 後立即被撤銷,使供應量永久固定。 兩個額外的 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。Token-2022 發行必須畢業到 CPMM 池,因為 AMM v4 僅支持 SPL Token 金庫。

金庫

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 中提取,無需通過聚合金庫。
聚合金庫模式允許高容量的創建者或平台在許多發行中攤銷費用累積的租金成本。

報價金庫 ↔ 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 模組