Skip to main content
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
LaunchLab 支援三種在 Initialize 時選定的曲線形狀:constant-product(最常見,標準 x · y = k 曲線的虛擬準備金形式)、linear-pricefixed-price。畢業門檻公式在所有三種形狀間共用。本頁詳細說明 constant-product 數學;linear 和 fixed 形式在末尾總結。

儲存在 LaunchState 上的參數

Rust 結構中的欄位名稱與 accounts 中描述的 PoolState 欄位相符;上述單位是概念性的。

虛擬準備金的 Constant-product 曲線(curve_type = 0

預設且最常使用的曲線。所有 Pump 風格的啟動都使用此形式。該曲線假設從一開始就存在一個虛擬報價準備金 V_q 和一個虛擬基礎準備金 V_b(儲存為 PoolState 上的 virtual_quotevirtual_base),因此有效池看起來像具有這些準備金的 CPMM。購買遵循 x · y = k 數學:
解出 base_out
在基礎售出 s 時的有效價格:
LaunchLab 在畢業前應用的同一 x · y = k 不變量然後在畢業後字面上就是 CPMM(或 AMM v4)曲線,所以畢業交接在機制上是無縫的:在 base_sold = base_supply_graduation 處的邊際價格等於畢業後池以 (quote_vault, base_vault_remaining) 作為準備金時開啟的價格。

Fixed-price 曲線(curve_type = 1

平價曲線。每次買入/賣出都以恆定價格進行,在 Initialize 時可配置:
適用於團隊希望無論何時購買,所有參與者都獲得統一定價的公平啟動。當 base_supply_graduation 已被售出時觸發畢業(線性成本關係使 quote_reserve_target 直接推導)。

Linear-price 曲線(curve_type = 2

價格隨 base_sold 線性增加:
積分成本:
關於 base_sold 二次——早期購買者幾乎不花錢,晚期購買者花費大得多,邊際價格始終以固定斜率上升。鏈上實現位於 curve/linear_price.rs

曲線形狀比較

畢業門檻

quote_reserve_targetInitialize 時計算,表示將 base_sold 從 0 推動到 base_supply_graduation 所需的報價:
啟動在 quote_vault.balance ≥ quote_reserve_target 時立即畢業。由於購買以離散大小進入,畢業時的實際餘額可能略超目標——盈餘成為結果 CPMM 池中額外的報價端流動性。

工作範例——二次啟動

參數:
  • base_supply_max = 1_000_000_000(10 億個基礎代幣,6 位小數)
  • base_supply_graduation = 800_000_000 (售出 80% 觸發畢業)
  • k = 40(價格縮放)
  • 手續費:1% 買方、1% 賣方,分割 lp:creator:protocol = 60:20:20
初始價格s = 0):0(純二次從零開始)。 50% 售出時的價格s = 500_000_000):
畢業時的價格s = 800_000_000):
達成畢業所需的報價(積分成本):
因此約 6.827 個報價本地單位(在任何配置的 6 位小數報價鑄幣中,例如,如果報價是 USDC,則約 6,827 個 USDC)。 應用的手續費
首次購買 10 USDC:
  • 虛擬狀態:s = 0quote_vault = 0
  • 減去手續費:quote_after_fee = 10 × 0.99 = 9.9
  • (40 / (3e18)) × s³ = 9.9s ≈ 6.22e6 個基礎代幣購買。
  • 1% 手續費(0.1 USDC)分割:lp 0.06、creator 0.02、protocol 0.02。lp 份額保留在 quote_vault 中;其他兩個路由到各自的累積計數器。
在 75% 售出時購買(接近畢業): 相同的 10 USDC 現在購買的基礎遠少,因為曲線陡峭。在 s₀ = 750e6 處使用 quote_in_after_fee = 9.9 的牛頓解約給出 ∆s ≈ 0.4e6 ——與首次購買相比,每 USDC 基礎減少約 15 倍。

曲線階段期間的手續費機制

每次 Buy
  • lp_share 保留在 quote_vault 中。這是使有效曲線更緊(相對於相同基礎供應的更多報價準備金)的原因。
  • protocol_share 遞增 LaunchState.state_data.protocol_fees_quote
  • creator_share 遞增 LaunchState.state_data.creator_fees_quote
Sell 上,相同的分割適用,但手續費取自出站 quote_out 兩個計數器都通過 CollectFees 掃過(管理員或創作者,各自到其計數器)。

精度

  • 基礎端數量:u64
  • 報價端數量:u64
  • 中間立方 / 乘積:u128
  • 「購買精確報價」和「賣出精確報價」的牛頓解以 u128 定點迭代,最大迭代次數可配置(預設 10)。失敗模式是 NotConverged ——畢業邊界邊界情況外極少見。

交接到 CPMM

Graduate 觸發時:
對於二次曲線,cpmm_initial_price 在機制上是 price(base_sold)(它是交接時刻的邊際曲線價格)。CPMM 池以恰好那個價格開啟,所以從曲線 UI 切換到 CPMM UI 的觀察者看不到跳躍。

後續步驟

來源: