Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Initialize: constant-product (paling umum, bentuk virtual-reserve dari kurva standar x · y = k), linear-price, dan fixed-price. Rumus ambang kelulusan dibagikan di ketiga bentuk ini. Halaman ini membahas matemnya constant-product secara detail; bentuk linear dan fixed dirangkum di akhir.
Parameter yang tersimpan di LaunchState
| Field | Arti |
|---|---|
curve_type | 0 = constant-product (virtual-reserves), 1 = fixed-price, 2 = linear-price. |
base_supply_max | Total token base yang dapat dikurasi kurva. |
base_supply_graduation | Token base yang harus dijual untuk mencapai kelulusan. Biasanya 0.8 × base_supply_max; sisa 20% menjadi LP awal pool pasca-kelulusan. |
quote_reserve_target | Jumlah quote yang memicu kelulusan. Diturunkan saat Initialize dari parameter kurva + base_supply_graduation. |
virtual_base / virtual_quote | Seed virtual-reserve untuk kurva constant-product. |
migrate_type | Memilih target kelulusan: AMM v4 vs CPMM. Lihat instructions. |
fees.buy_numerator / buy_denominator | Biaya sisi beli, misalnya 100 / 10_000 = 1.00%. |
fees.sell_numerator / sell_denominator | Biaya sisi jual. Sering sama dengan beli. |
fees.protocol_share, fees.creator_share, fees.lp_share | Pembagian di atas, berjumlah denominator. |
PoolState yang dijelaskan di accounts; unit di atas adalah konseptual.
Kurva constant-product dengan virtual reserves (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 dari awal (disimpan sebagai virtual_quote dan virtual_base di PoolState), jadi 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 sebelum kelulusan adalah literal kurva CPMM (atau AMM v4) pasca-kelulusan, jadi penyerahan kelulusan bersifat mekanis mulus: harga marginal pada base_sold = base_supply_graduation sama dengan harga pool pasca-kelulusan dibuka dengan (quote_vault, base_vault_remaining) sebagai reserve-nya.
Kurva fixed-price (curve_type = 1)
Kurva harga datar. Setiap beli/jual terjadi pada harga konstan, dapat dikonfigurasi saat Initialize:
base_supply_graduation telah terjual (hubungan biaya linear membuat derivasi quote_reserve_target sederhana).
Kurva linear-price (curve_type = 2)
Harga meningkat linier dengan base_sold:
base_sold — pembeli awal membayar mendekati nol, pembeli terlambat membayar jauh lebih banyak, dengan harga marginal selalu naik pada kemiringan tetap. Implementasi on-chain ada di curve/linear_price.rs.
Perbandingan bentuk kurva
Ambang 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 quote sisi 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:
- Status 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 rute ke penghitung 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 membuat kurva efektif lebih ketat (lebih banyak quote reserve terhadap suplai base yang sama).protocol_sharemeningkatkanLaunchState.state_data.protocol_fees_quote.creator_sharemeningkatkanLaunchState.state_data.creator_fees_quote.
Sell pembagian yang sama berlaku tetapi biaya diambil dari outbound quote_out.
Kedua penghitung disapu melalui CollectFees (admin atau creator, masing-masing ke penghitung mereka sendiri).
Presisi
- Jumlah sisi base:
u64. - Jumlah sisi quote:
u64. - Kubus / produk perantara:
u128. - Penyelesaian Newton untuk “beli exact quote” dan “jual exact quote” beriterasi dalam
u128fixed-point dengan jumlah iterasi maksimum yang dapat dikonfigurasi (default 10). Mode kegagalan adalahNotConverged— jarang di luar kasus tepi mendekati kelulusan.
Penyerahan ke CPMM
SaatGraduate diaktifkan:
cpmm_initial_price adalah price(base_sold) secara mekanis (ini adalah harga kurva marginal saat momen penyerahan). Pool CPMM membuka pada harga yang tepat, jadi pengamat yang beralih dari UI kurva ke UI CPMM tidak melihat lompatan.
Ke mana selanjutnya
products/launchlab/accounts— fieldLaunchStatemenyimpan parameter ini.products/launchlab/instructions— daftar akunBuy,Sell,Graduate.algorithms/constant-product— matematika CPMM yang digunakan pool pasca-kelulusan.
- Modul
LaunchLabRaydium SDK v2 - Sumber program Raydium LaunchLab


