Langsung ke konten utama

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 →
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

GrupInstruksiDapat dipanggil oleh
Konfigurasi globalCreateConfig / UpdateConfigAdmin
Daur hidup peluncuranInitialize / InitializeV2Siapa saja (kreator) — peluncuran SPL Token; V2 merekam amm_creator_fee_on untuk kelulusan CPMM yang akan datang
Daur hidup peluncuranInitializeWithToken2022Siapa saja (kreator) — peluncuran Token-2022, TransferFeeConfig opsional
PerdaganganBuyExactIn / BuyExactOutSiapa saja — pembelian input-pasti / output-pasti pada kurva ikatan
PerdaganganSellExactIn / SellExactOutSiapa saja — penjualan input-pasti / output-pasti pada kurva ikatan
KelulusanMigrateToAmmDompet migrasi (diatur pada GlobalConfig) — kelulusan ke AMM v4. Digunakan ketika amm_creator_fee_on = BothToken sehingga biaya kreator dapat dikumpulkan dari kedua sisi.
KelulusanMigrateToCpswapDompet migrasi — kelulusan ke CPMM. Digunakan ketika amm_creator_fee_on = QuoteToken dan diperlukan untuk peluncuran Token-2022. Membungkus InitializeWithPermission pada CPMM.
BiayaCollectFeeAdmin — kumpulkan biaya protokol dari peluncuran
BiayaCollectMigrateFeeAdmin — kumpulkan biaya migrasi yang terakumulasi
BiayaClaimCreatorFeeKreator — klaim biaya kreator yang terakumulasi selama fase kurva
VestingCreateVestingAccountKreator — alokasikan token terkunci kepada penerima, dibuka setelah kelulusan
VestingCreatePlatformVestingAccountAdmin platform — alokasikan token terkunci kepada penerima sisi platform
VestingClaimVestedTokenPenerima — klaim token yang tidak terkunci setelah tebing
Konfigurasi platformCreatePlatformConfig / UpdatePlatformConfigAdmin platform
Konfigurasi platformUpdatePlatformCurveParam / RemovePlatformCurveParamAdmin platform — kelola daftar per-platform bentuk kurva yang diizinkan
Biaya platformClaimPlatformFee / ClaimPlatformFeeFromVaultAdmin platform
Akses platformCreatePlatformGlobalAccess / ClosePlatformGlobalAccessAdmin — batasi platform mana yang dapat menggunakan GlobalConfig tertentu
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:
  • BothTokenMigrateToAmm → 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).
  • QuoteTokenMigrateToCpswap → pool CPMM dengan creator_fee_on = OnlyQuoteToken (kreator terus mendapatkan biaya dari pool CPMM melalui NFT LaunchLab Fee Key — lihat products/launchlab/creator-fees).
Catatan tentang nama enum AmmCreatorFeeOn. Sumber Rust menyebut enum ini AmmCreatorFeeOn dengan varian QuoteToken dan BothToken. Namanya menyesatkan: dalam praktik operasional saat ini varian tidak hanya mengontrol sisi mana biaya kreator dikumpulkan dari pool CPMM pasca-kelulusan — varian juga memilih program target kelulusan target program (AMM v4 vs CPMM) dan berpasangan dengan migrate_type pada PoolState peluncuran. Perlakukan bidang ini sebagai “target migrasi + sisi biaya kreator pasca-kelulusan” digabungkan menjadi satu. Nama enum on-chain belum difaktorisasi ulang, tetapi penalaran tentangnya sebagai MigrationTarget cocok dengan kenyataan lebih dekat.

Initialize

Buat peluncuran baru. Argumen
launch_params: {
    curve_type:                 u8,
    base_supply_max:            u64,
    base_supply_graduation:     u64,
    k:                          u128,              // atau initial_virtual_quote_reserve untuk curve_type=1
    open_time:                  u64,
    quote_mint:                 Pubkey,
    base_token_metadata: {                         // nama/simbol/uri inline; program CPI ke Metaplex
        name:   String,
        symbol: String,
        uri:    String,
    },
    fees: {
        buy_numerator:   u64,
        buy_denominator: u64,
        sell_numerator:  u64,
        sell_denominator: u64,
        lp_share:        u64,
        creator_share:   u64,
        protocol_share:  u64,
        total_share:     u64,
    },
    post_graduation_lp_policy:  u8,                // 0 = Burn, 1 = Lock, 2 = ToCreator
}
Akun (ringkas)
#NamaWSCatatan
1creatorWSMembayar sewa + pembuatan base mint.
2launch_configPengikatan konfigurasi protokol.
3launch_stateWAkun baru.
4launch_authorityPDA.
5base_mintWSKeypair segar (atau PDA) — instruksi ini menginisialisasinya.
6base_vaultWATA dari launch_authority pada base_mint.
7quote_mint
8quote_vaultWATA dari launch_authority pada quote_mint.
9metadataWPDA metdata Metaplex.
10metaplex_program
11token_programSPL Token saja.
12system_program
13rent
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_type dikenali.
Kondisi sesudahnya
  • base_mint memiliki supply = base_supply_max, semuanya di base_vault.
  • base_mint.mint_authority = launch_authority, freeze_authority = None.
  • LaunchState diinisialisasi dengan status = Active, base_sold = 0, quote_reserve_real = 0.
  • quote_reserve_target dihitung dari parameter kurva + base_supply_graduation + buy_numerator (kira-kira).
Kesalahan umumInvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.

Buy (varian kanonik: BuyExactIn)

Pengguna menyediakan quote_in tetap; kurva menghitung base_out. Argumen
quote_in:          u64
minimum_base_out:  u64
Akun
#NamaWS
1userWS
2launch_stateW
3launch_authority
4base_vaultW
5quote_vaultW
6user_base_ataW
7user_quote_ataW
8base_mint
9quote_mint
10token_program
11associated_token_program
12system_program
Kondisi sebelumnya
  • launch_state.status == Active.
  • now ≥ open_time.
  • user_quote_ata.balance ≥ quote_in.
  • quote_in > 0.
Efek
  1. Pisahkan quote_in menjadi quote_in_after_fee dan bagian biaya.
  2. Newton-solve kurva untuk base_out yang diberikan quote pasca-biaya.
  3. require(base_out ≥ minimum_base_out) jika tidak balik ExceededSlippage.
  4. Pindahkan quote_in pengguna → vault. Pindahkan base_out vault → pengguna.
  5. Perbarui base_sold += base_out, quote_reserve_real += quote_in_after_fee × (lp_share / total_share).
  6. Perbarui penghitung biaya (protocol_fees_quote, creator_fees_quote).
  7. state_data.num_buys += 1.
  8. Jika quote_reserve_real ≥ quote_reserve_target setelah pembaruan, SDK biasanya menggabungkan Graduate ix dalam transaksi yang sama. Program tidak secara otomatis kelulusan di dalam BuyGraduate berikutnya diperlukan.

BuyExactOut

Pengguna menentukan base_out yang tepat; program menghitung quote_in. Argumen
base_out:      u64
maximum_quote_in: u64
Akun yang sama seperti 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_sold di bawah 0 (redundan dengan di atas mengingat akuntansi konsisten).
  • Peluncuran adalah Active.
Efek — simetris ke 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
  • MigrateToAmmmigrate_to_amm_wallet yang dicatat pada GlobalConfig pengikatan.
  • MigrateToCpswapmigrate_to_cpswap_wallet yang dicatat pada GlobalConfig pengikatan.
Dompet ini biasanya dipegang oleh crank kelulusan yang dioperasikan Raydium; dalam praktik kelulusan mendarat detik setelah ambang batas terlampaui, terlepas dari siapa yang memicu pembelian akhir. Argumen MigrateToAmm mengambil tiga (terutama parameter pasar OpenBook yang program teruskan ke AMM v4):
base_lot_size:               u64
quote_lot_size:              u64
market_vault_signer_nonce:   u8
MigrateToCpswap tidak mengambil yang mana pun. Efek (umum untuk keduanya)
  1. Verifikasi pool_state.status == Migrate (yaitu, quote_reserve_target telah tercapai). Jika tidak balik dengan PoolMigrated (status sudah Migrated) atau PoolFunding (masih dalam pendanaan).
  2. Verifikasi pool_state.migrate_type cocok dengan instruksi (0 untuk AMM, 1 untuk CPMM). Jika tidak balik dengan MigrateTypeNotMatch.
  3. Hitung cadangan pasca-kelulusan:
    • base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
    • quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
  4. CPI ke program target (AMM v4 Initialize2 atau CPMM InitializeWithPermission) dengan cadangan tersebut untuk membuat pool pasca-kelulusan.
  5. Bagikan LP hasil per pengikatan PlatformConfig.{platform_scale, creator_scale, burn_scale} (CPMM saja) — satu bagian dicetak ke platform_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.
  6. Cabut base_mint.mint_authority (atur ke None).
  7. Balik pool_state.status = Migrated, atur vesting_schedule.start_time = block_time + cliff_period.
Kondisi sesudahnyaBuyExactIn, 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 umumPoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.

CollectFee

Penyapu admin dari biaya perdagangan terakumulasi protokol pada peluncuran tunggal. Argumen — tidak ada. Akun
#NamaWSCatatan
1protocol_fee_ownerSHarus sama dengan global_config.protocol_fee_owner.
2authorityPDA [b"vault_auth_seed"]; menandatangani transfer vault.
3pool_stateWDimutasi untuk mengosongkan quote_protocol_fee.
4global_configSumber kebenaran untuk penandatangan.
5quote_vaultWDikosongkan oleh quote_protocol_fee.
6recipient_token_accountWATA dari protocol_fee_owner pada quote_mint.
7quote_mint
8token_programSPL Token (quote mint selalu SPL Token).
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
#NamaWSCatatan
1creatorWSKreator pool.
2fee_vault_authorityPDA [b"creator_fee_vault_auth_seed"].
3creator_fee_vaultWPDA di seeds [creator, quote_mint]; vault kreator agregat.
4recipient_token_accountWinit_if_needed; ATA dari creator pada quote_mint.
5quote_mint
6token_program
7system_programUntuk pembuatan ATA jika diperlukan.
8associated_token_program
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
#NamaWSCatatan
1platform_fee_walletWSHarus sama dengan platform_config.platform_fee_wallet.
2authorityPDA [b"vault_auth_seed"].
3pool_stateWDikosongkan oleh pool_state.platform_fee.
4platform_configSumber kebenaran untuk penandatangan.
5quote_vaultWDikosongkan.
6recipient_token_accountWinit_if_needed; ATA dari platform_fee_wallet.
7quote_mint
8token_program
9system_program
10associated_token_program
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
#NamaWSCatatan
1platform_fee_walletWSHarus sama dengan platform_config.platform_fee_wallet.
2fee_vault_authorityPDA [b"platform_fee_vault_auth_seed"].
3platform_config
4platform_fee_vaultWPDA di seeds [platform_config, quote_mint].
5recipient_token_accountWinit_if_needed; ATA dari platform_fee_wallet.
6quote_mint
7token_program
8system_program
9associated_token_program
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:

Matriks perubahan state

Instruksistatusreal_basereal_quotePenghitung biayaPool state-post
Initialize{V2,WithToken2022}Funding000
BuyExactIn(q_in)Funding+∆+∆q_after_feequote_protocol_fee += ∆, platform_fee += ∆
SellExactIn(b_in)Funding−∆−∆q_before_fee(sama)
Ambang batas tercapai→ Migrate
MigrateToAmm / MigrateToCpswap→ Migrated(beku)(beku)migrate_fee diaturdibuat, LP dibagi per PlatformConfig
CollectFee / CollectMigrateFeesetiappenghitung dikosongkan
ClaimCreatorFee / ClaimPlatformFee*setiapmengosongkan vault
CreateVestingAccountFundingbumps allocated_share_amount
ClaimVestedTokenMigratedmengosongkan base_vault

Ke mana selanjutnya

Sumber: