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 曲線,因此交接在機制上是無縫的:在 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 的觀察者看不到任何跳躍。

接下來去哪裡

來源: