Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
LaunchLab mendukung tiga bentuk kurva yang dipilih saat
Initialize: constant-product (yang paling umum, bentuk virtual-reserve dari kurva standar x · y = k), linear-price, dan fixed-price. Formula ambang batas kelulusan dibagikan di ketiga bentuk. Halaman ini menjelaskan matematika constant-product secara detail; bentuk linear dan fixed dirangkum di akhir.Parameter yang disimpan di LaunchState
Nama field dalam struct Rust cocok dengan field
PoolState yang dijelaskan di accounts; unit di atas bersifat konseptual.
Kurva constant-product dengan virtual reserve (curve_type = 0)
Kurva default dan paling banyak digunakan. Semua peluncuran gaya Pump menggunakan bentuk ini. Kurva berpura-pura ada virtual quote reserve V_q dan virtual base reserve V_b sejak awal (disimpan sebagai virtual_quote dan virtual_base di PoolState), sehingga pool efektif terlihat seperti CPMM dengan reserve tersebut. Pembelian mengikuti matematika x · y = k:
base_out:
s:
x · y = k yang sama yang diterapkan LaunchLab pra-kelulusan kemudian menjadi kurva CPMM pasca-kelulusan, sehingga perpindahan bersifat mekanis mulus: harga marginal pada base_sold = base_supply_graduation sama dengan harga pembukaan pool pasca-kelulusan dengan (quote_vault, base_vault_remaining) sebagai reserve-nya.
Kurva fixed-price (curve_type = 1)
Kurva harga datar. Setiap pembelian/penjualan terjadi pada harga konstan, dapat dikonfigurasi saat Initialize:
base_supply_graduation telah terjual (hubungan biaya linear membuat quote_reserve_target mudah diturunkan).
Kurva linear-price (curve_type = 2)
Harga meningkat secara linear dengan base_sold:
base_sold — pembeli awal membayar mendekati nol, pembeli akhir membayar jauh lebih banyak, dengan harga marginal selalu naik pada slope tetap. Implementasi on-chain berada di curve/linear_price.rs.
Perbandingan bentuk kurva
Ambang batas kelulusan
quote_reserve_target dihitung saat Initialize sebagai quote yang diperlukan untuk mendorong base_sold dari 0 ke base_supply_graduation:
quote_vault.balance ≥ quote_reserve_target. Karena pembelian datang dalam ukuran diskrit, saldo aktual saat kelulusan dapat sedikit melebihi target — surplus menjadi likuiditas sisi quote tambahan di pool CPMM yang dihasilkan.
Contoh terperinci — peluncuran kuadratik
Parameter:base_supply_max = 1_000_000_000(1 miliar token base, 6 desimal)base_supply_graduation = 800_000_000(80% terjual memicu kelulusan)k = 40(skala harga)- Biaya: 1% beli, 1% jual, pembagian
lp:creator:protocol = 60:20:20.
s = 0): 0 (kuadratik murni dimulai dari nol).
Harga pada 50% terjual (s = 500_000_000):
s = 800_000_000):
10 USDC:
- State virtual:
s = 0,quote_vault = 0. - Kurangi biaya:
quote_after_fee = 10 × 0.99 = 9.9. - Selesaikan
(40 / (3e18)) × s³ = 9.9⇒s ≈ 6.22e6token base dibeli. - Biaya 1% (
0.1 USDC) dibagi: lp0.06, creator0.02, protocol0.02. Bagian lp tetap diquote_vault; dua lainnya menuju counter akrual masing-masing.
s₀ = 750e6 dengan quote_in_after_fee = 9.9 memberikan kira-kira ∆s ≈ 0.4e6 — pengurangan ~15× dalam base per USDC dibandingkan pembelian pertama.
Mekanika biaya selama fase kurva
Pada setiapBuy:
lp_shareditinggalkan diquote_vault. Ini yang membuat kurva efektif lebih ketat (lebih banyak quote reserve terhadap supply base yang sama).protocol_sharemenambahLaunchState.state_data.protocol_fees_quote.creator_sharemenambahLaunchState.state_data.creator_fees_quote.
Sell pembagian yang sama diterapkan tetapi biaya diambil dari quote_out keluar.
Kedua counter disapu melalui CollectFees (admin atau creator, masing-masing ke counter mereka).
Presisi
- Jumlah sisi base:
u64. - Jumlah sisi quote:
u64. - Kubus / produk perantara:
u128. - Penyelesaian Newton untuk “beli quote eksak” dan “jual quote eksak” berulang dalam
u128fixed-point dengan jumlah iterasi maksimal yang dapat dikonfigurasi (default 10). Mode kegagalan adalahNotConverged— jarang di luar kasus tepi mendekati kelulusan.
Perpindahan ke CPMM
KetikaGraduate dijalankan:
cpmm_initial_price adalah price(base_sold) secara mekanis (ini adalah harga kurva marginal pada saat perpindahan). Pool CPMM dibuka pada harga yang tepat, sehingga pengamat yang beralih dari UI kurva ke UI CPMM tidak melihat lompatan.
Ke mana selanjutnya
products/launchlab/accounts— fieldLaunchStateyang menyimpan parameter ini.products/launchlab/instructions— daftar akunBuy,Sell,Graduate.algorithms/constant-product— matematika CPMM yang digunakan pool pasca-kelulusan.
- Modul Raydium SDK v2
LaunchLab - Sumber program Raydium LaunchLab

