Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
LaunchLab mengekspos set instruksi yang ketat: enam panggilan yang menghadap pengguna ditambah beberapa primitif admin. SDK membungkus semuanya; halaman ini mendokumentasikan permukaan mentah untuk agregator, alat pemantauan, dan program yang memerlukan CPI.
Inventori instruksi
Pembagian “ExactIn/ExactOut” mencerminkan
SwapBaseInput / SwapBaseOutput CPMM — di chain mereka adalah diskriminator instruksi terpisah dengan pembulatan yang sedikit berbeda.
Pemilihan jalur kelulusan. migrate_type dicatat pada PoolState saat Initialize{V2,WithToken2022} dan menentukan instruksi kelulusan mana yang dapat berjalan. Peluncuran Token-2022 selalu bermigrasi ke CPMM. Peluncuran SPL Token bermigrasi ke AMM v4 atau CPMM tergantung pada pengaturan amm_creator_fee_on:
BothToken→MigrateToAmm→ pool AMM v4 (biaya kreator dapat dikumpulkan dari kedua sisi; AMM v4 tidak memiliki bidang biaya kreator asli, jadi biaya kreator diambil melalui mekanisme kunci LP NFT sebagai gantinya).QuoteToken→MigrateToCpswap→ pool CPMM dengancreator_fee_on = OnlyQuoteToken(kreator terus mendapatkan biaya dari pool CPMM melalui NFT LaunchLab Fee Key — lihatproducts/launchlab/creator-fees).
Initialize
Buat peluncuran baru.
Argumen
Kondisi sebelumnya
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Parameter biaya lulus pemeriksaan
launch_config.max_*_fee_rate. open_time ≥ now − slop(SDK memberlakukan≥ now; program mentoleransi backdating kecil).curve_typedikenali.
base_mintmemilikisupply = base_supply_max, semuanya dibase_vault.base_mint.mint_authority = launch_authority,freeze_authority = None.LaunchStatediinisialisasi denganstatus = Active,base_sold = 0,quote_reserve_real = 0.quote_reserve_targetdihitung dari parameter kurva +base_supply_graduation+buy_numerator(kira-kira).
InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (varian kanonik: BuyExactIn)
Pengguna menyediakan quote_in tetap; kurva menghitung base_out.
Argumen
Kondisi sebelumnya
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- Pisahkan
quote_inmenjadiquote_in_after_feedan bagian biaya. - Newton-solve kurva untuk
base_outyang diberikan quote pasca-biaya. require(base_out ≥ minimum_base_out)jika tidak balikExceededSlippage.- Pindahkan
quote_inpengguna → vault. Pindahkanbase_outvault → pengguna. - Perbarui
base_sold += base_out,quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - Perbarui penghitung biaya (
protocol_fees_quote,creator_fees_quote). state_data.num_buys += 1.- Jika
quote_reserve_real ≥ quote_reserve_targetsetelah pembaruan, SDK biasanya menggabungkanGraduateix dalam transaksi yang sama. Program tidak secara otomatis kelulusan di dalamBuy—Graduateberikutnya diperlukan.
BuyExactOut
Pengguna menentukan base_out yang tepat; program menghitung quote_in.
Argumen
BuyExactIn. Menggunakan integral kuadrat bentuk tertutup (atau invers CPMM, untuk curve_type 1) daripada iterasi Newton.
Sell / SellExactIn / SellExactOut
Cerminan Buy. Pengguna mengembalikan base_in ke kurva dan menerima quote_out. Biaya dikurangkan dari quote_out, sehingga pengguna menerima lebih sedikit daripada hasil integral mentah.
Kondisi sebelumnya —
user_base_ata.balance ≥ base_in.- Menjual tidak dapat mendorong
base_solddi bawah 0 (redundan dengan di atas mengingat akuntansi konsisten). - Peluncuran adalah
Active.
Buy. base_sold berkurang, quote_reserve_real berkurang. Biaya masih terakumulasi.
MigrateToAmm / MigrateToCpswap
Keluluskan peluncuran menjadi pool AMM yang dapat diperdagangkan setelah kurva mencapai total_quote_fund_raising. Kedua instruksi sesuai dengan dua target kelulusan — AMM v4 dan CPMM — dan hanya salah satu yang valid untuk peluncuran tertentu, ditentukan oleh pool_state.migrate_type (diatur saat waktu Initialize).
Yang menandatangani
MigrateToAmm—migrate_to_amm_walletyang dicatat padaGlobalConfigpengikatan.MigrateToCpswap—migrate_to_cpswap_walletyang dicatat padaGlobalConfigpengikatan.
MigrateToAmm mengambil tiga (terutama parameter pasar OpenBook yang program teruskan ke AMM v4):
MigrateToCpswap tidak mengambil yang mana pun.
Efek (umum untuk keduanya)
- Verifikasi
pool_state.status == Migrate(yaitu,quote_reserve_targettelah tercapai). Jika tidak balik denganPoolMigrated(status sudahMigrated) atauPoolFunding(masih dalam pendanaan). - Verifikasi
pool_state.migrate_typecocok dengan instruksi (0untuk AMM,1untuk CPMM). Jika tidak balik denganMigrateTypeNotMatch. - Hitung cadangan pasca-kelulusan:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI ke program target (
AMM v4 Initialize2atauCPMM InitializeWithPermission) dengan cadangan tersebut untuk membuat pool pasca-kelulusan. - Bagikan LP hasil per pengikatan
PlatformConfig.{platform_scale, creator_scale, burn_scale}(CPMM saja) — satu bagian dicetak keplatform_nft_wallet, satu ke NFT kreator dibungkus oleh program LP-Lock, satu dibakar melalui Burn & Earn. Untuk kelulusan AMM v4, disposisi LP diatur oleh parameter inisialisasi AMM v4 sendiri. - Cabut
base_mint.mint_authority(atur keNone). - Balik
pool_state.status = Migrated, aturvesting_schedule.start_time = block_time + cliff_period.
BuyExactIn, BuyExactOut, SellExactIn, SellExactOut akan menolak sejak saat ini dengan PoolMigrated. Pool AMM yang dihasilkan adalah kanonik dan berdagang seperti pool AMM v4 / CPMM lainnya.
Kesalahan umum — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
CollectFee
Penyapu admin dari biaya perdagangan terakumulasi protokol pada peluncuran tunggal.
Argumen — tidak ada.
Akun
Efek — transfer
pool_state.quote_protocol_fee dari quote_vault ke recipient_token_account, kemudian kosongkan penghitung. Dapat dipanggil kapan saja setelah pembelian pertama.
CollectMigrateFee
Penyapu admin dari biaya migrasi yang terakumulasi saat kelulusan. Bentuk akun yang sama seperti CollectFee dengan migrate_fee_owner sebagai penandatangan (bukan protocol_fee_owner) dan pool_state.migrate_fee sebagai penghitung yang dikosongkan.
ClaimCreatorFee
Penyapu per-kreator dari biaya kreator terakumulasi di setiap peluncuran yang dimiliki kreator yang menggunakan mint quote yang sama. Mengosongkan vault biaya per-kreator, bukan vault per-pool.
Argumen — tidak ada.
Akun
Efek — transfer seluruh saldo
creator_fee_vault ke recipient_token_account. Kembali dengan pemeriksaan require-greater-than-zero jika vault kosong.
ClaimPlatformFee
Penyapu per-platform yang mengosongkan vault quote peluncuran secara langsung. Gunakan ini ketika platform ingin mengklaim bagiannya untuk satu peluncuran spesifik tanpa melalui vault platform agregat.
Argumen — tidak ada.
Akun
Efek — transfer
pool_state.platform_fee dari quote_vault ke recipient_token_account, kosongkan penghitung.
ClaimPlatformFeeFromVault
Penyapu agregat per-platform. Mengosongkan vault biaya per-quote-mint platform yang mengakumulasi biaya dari setiap peluncuran yang dirutekan melalui platform.
Argumen — tidak ada.
Akun
Efek — transfer saldo penuh
platform_fee_vault ke recipient_token_account. Kembali jika vault kosong.
Instruksi vesting dan konfigurasi platform
Instruksi ini didokumentasikan di halaman tersendiri karena masing-masing memiliki model state sendiri:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformGlobalAccess,ClosePlatformGlobalAccessCreateConfig,UpdateConfig
Matriks perubahan state
Ke mana selanjutnya
products/launchlab/code-demos— contoh TypeScript untuk setiap instruksi.products/launchlab/accounts— bentuk state penuh.reference/error-codes— enum kesalahan LaunchLab.
- Modul Raydium SDK v2
LaunchLab - Sumber program Raydium LaunchLab

