Skip to main content
Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
LaunchLab, Initialize sırasında seçilen üç eğri şeklini destekler: constant-product (en yaygın, standart x · y = k eğrisinin sanal-rezerv formu), linear-price ve fixed-price. Mezuniyet eşiği formülü üç şekil arasında paylaşılır. Bu sayfa constant-product matematiğini ayrıntılı olarak açıklar; linear ve fixed formlar sonunda özetlenmiştir.

LaunchState üzerinde depolanan parametreler

Rust struct’taki alan adları accounts içinde açıklanan PoolState alanlarıyla eşleşir; yukarıdaki birimler kavramsal olarak verilmiştir.

Sanal rezervlerle constant-product eğrisi (curve_type = 0)

Varsayılan ve en çok kullanılan eğri. Pump tarzı başlatmalar hepsi bu formu kullanır. Eğri, başından itibaren bir sanal quote rezervi V_q ve bir sanal base rezervi V_b olduğunu varsayar (PoolState üzerinde virtual_quote ve virtual_base olarak depolanır), böylece etkili havuz bu rezervlerle bir CPMM gibi görünür. Alımlar x · y = k matematiğini takip eder:
base_out için çözüldüğünde:
Base satıldığında s etkili fiyat:
LaunchLab’ın mezuniyet öncesi uyguladığı aynı x · y = k değişmezi, mezuniyet sonrası CPMM eğrisidir, bu nedenle geçiş mekanik olarak sorunsuz olur: base_sold = base_supply_graduation konumundaki marjinal fiyat, mezuniyet sonrası havuzun (quote_vault, base_vault_remaining) rezervleriyle açıldığı fiyata eşittir.

Fixed-price eğrisi (curve_type = 1)

Düz fiyat eğrisi. Her alım/satış sabit bir fiyattan gerçekleşir, Initialize sırasında yapılandırılabilir:
Takımın ne zaman satın aldıklarından bağımsız olarak tüm katılımcılar için tekdüze fiyatlandırma istediği adil başlatmalar için yararlıdır. Mezuniyet, base_supply_graduation satıldığında tetiklenir (doğrusal maliyet ilişkisi quote_reserve_target türetimini basit hale getirir).

Linear-price eğrisi (curve_type = 2)

Fiyat base_sold ile doğrusal olarak artar:
Entegre maliyet:
base_sold içinde ikinci dereceden — erken alıcılar neredeyse sıfır öderken, geç alıcılar önemli ölçüde daha fazla öder, marjinal fiyat her zaman sabit bir eğimde yükselir. Zincir üstü uygulama curve/linear_price.rs içinde yer alır.

Eğri şekli karşılaştırması

Mezuniyet eşiği

quote_reserve_target, Initialize sırasında base_sold değerini 0’dan base_supply_graduation’a çıkarmak için gereken quote olarak hesaplanır:
Bir başlatma, quote_vault.balance ≥ quote_reserve_target olur olmaz mezun olur. Alımlar ayrık boyutlarda geldiğinden, mezuniyet sırasındaki gerçek bakiye hedefi biraz aşabilir — fazlalık, ortaya çıkan CPMM havuzunda ekstra quote tarafı likidite olur.

İşlenmiş örnek — ikinci dereceden bir başlatma

Parametreler:
  • base_supply_max = 1_000_000_000 (1 milyar base token, 6 ondalık)
  • base_supply_graduation = 800_000_000 (%80 satıldığında mezuniyet tetiklenir)
  • k = 40 (fiyat ölçeği)
  • Ücretler: %1 alım, %1 satış, bölünme lp:creator:protocol = 60:20:20.
İlk fiyat (s = 0): 0 (saf ikinci dereceden sıfırdan başlar). %50 satıldığında fiyat (s = 500_000_000):
Mezuniyette fiyat (s = 800_000_000):
Mezuniyete ulaşmak için gereken quote (entegre maliyet):
Yani ≈ 6.827 quote-native birimi (yapılandırılan 6 ondalık quote mint’inde, örn. quote USDC ise ~6.827 USDC). Üzerine uygulanan ücret:
İlk alım 10 USDC:
  • Sanal durum: s = 0, quote_vault = 0.
  • Ücreti çıkar: quote_after_fee = 10 × 0.99 = 9.9.
  • (40 / (3e18)) × s³ = 9.9 çöz ⇒ s ≈ 6.22e6 base token satın alındı.
  • %1 ücret (0.1 USDC) bölünmesi: lp 0.06, creator 0.02, protocol 0.02. LP payı quote_vault’ta kalır; diğer ikisi ilgili tahakkuk sayaçlarına yönlendirilir.
%75 satıldığında alım (mezuniyete yaklaşırken): Aynı 10 USDC, eğri dik olduğu için çok daha az base satın alır. s₀ = 750e6 konumunda Newton çözümü quote_in_after_fee = 9.9 ile kabaca ∆s ≈ 0.4e6 verir — ilk alıma kıyasla USDC başına base’de ~15 kat azalma.

Eğri aşaması sırasında ücret mekaniği

Her Buy sırasında:
  • lp_share quote_vault’ta kalır. Bu, etkili eğriyi daha sıkı hale getirir (aynı base arzına karşı daha fazla quote rezervi).
  • protocol_share LaunchState.state_data.protocol_fees_quote değerini artırır.
  • creator_share LaunchState.state_data.creator_fees_quote değerini artırır.
Sell sırasında aynı bölünme uygulanır ancak ücret giden quote_out’tan alınır. Her iki sayaç da CollectFees aracılığıyla taranır (yönetici veya yaratıcı, her biri kendi sayacına).

Hassasiyet

  • Base tarafı miktarları: u64.
  • Quote tarafı miktarları: u64.
  • Ara küpler / ürünler: u128.
  • “Tam quote satın al” ve “tam quote sat” için Newton çözümleri, yapılandırılabilir maksimum yineleme sayısı (varsayılan 10) ile u128 sabit nokta içinde yinelenir. Başarısızlık modu NotConverged — mezuniyet öncesi kenar durumları dışında nadirdir.

CPMM’ye geçiş

Graduate tetiklendiğinde:
İkinci dereceden eğri için, cpmm_initial_price mekanik olarak price(base_sold) olur (geçiş anındaki marjinal eğri fiyatıdır). CPMM havuzu tam o fiyattan açılır, bu nedenle eğri UI’dan CPMM UI’a geçen bir gözlemci hiçbir sıçrama görmez.

Sonraki adımlar

Kaynaklar: