Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
PlatformConfig adalah overlay tingkat platform yang berada di atas GlobalConfig. Sementara GlobalConfig mendefinisikan aturan protokol-lebar (“biaya perdagangan adalah 1%, pasokan harus minimal 10M, hanya dompet ini yang dapat lulus”), PlatformConfig adalah apa yang digunakan setiap platform peluncuran — pump.fun, UI Raydium sendiri, launchpad pihak ketiga — untuk menambahkan biaya mereka, mengklaim bagian LP pasca-kelulusan, membatasi bentuk kurva mana yang dapat dipilih peluncuran mereka, dan menampilkan branding mereka (nama, situs web, gambar) di rantai.Apa itu
AkunPlatformConfig mengelola lima kepentingan lintas-platform untuk sebuah platform:
- Branding — nama, situs web, tautan gambar, semuanya disimpan inline sehingga penjelajah atau agregator apa pun dapat menampilkan platform yang meluncurkan token.
- Biaya platform — biaya perdagangan tambahan (
fee_rate) di atastrade_fee_rateprotokol. Terkumpul diplatform_fee_walletplatform. Dibatasi pada 100 bps olehGlobalConfig.max_share_fee_rate. - Pembagian migrasi LP — tiga bilangan bulat yang disimpan (
platform_scale,creator_scale,burn_scale) yang berjumlah1_000_000. Sebelum upgrade 2026-08-17, skala kreator menghasilkan Fee Key kreator terpisah. Migrasi yang dijalankan setelah upgrade menggabungkan dua yang pertama menjadi satu bagian LP terkunci milik platform; sisanya dibakar. - Daftar putih parameter kurva —
Vec<PlatformCurveParam>yang mencantumkan kombinasi(supply, total_base_sell, total_quote_fund_raising, migrate_type, migrate_cpmm_fee_on, vesting_params...)mana yang diizinkan di platform ini. Jika vektor kosong atau semua entri tidak valid, kombinasi apa pun diizinkan; jika tidak, peluncuran harus cocok dengan salah satu entri secara tepat. - Daftar izin konfigurasi global — pembatasan opt-in yang memerlukan
PlatformAllowConfigyang dibuat platform untukGlobalConfigyang dipilih.
create_platform_config dalam sumber untuk daftar seed kanonik.)
Tata letak
platform_scale + creator_scale + burn_scale harus sama dengan 1_000_000. Sebelum upgrade 2026-08-17, creator_scale dikunci secara terpisah dan Fee Key-nya pergi ke kreator token. Untuk migrasi yang dijalankan setelah upgrade, ditambahkan ke platform_scale dan hak LP terkunci-nya pergi ke platform. Contoh hasil di bawah logika yang diperbarui:
(0, 100_000, 900_000)— 90% LP dibakar, 10% terkunci ke platform.(50_000, 100_000, 850_000)— 85% dibakar, 15% terkunci ke platform.(0, 0, 1_000_000)— pembakaran penuh, tidak ada NFT yang dicetak. Peluncuran “tanpa orang dalam” yang ketat.
Bidang branding
name, web, dan img adalah larik byte inline yang diisi dengan nol hingga konstanta ukuran mereka. Untuk membacanya sebagai string, potong hingga \0 pertama:
name: 64, web: 256, img: 256) sehingga platform dapat menyertakan metadata yang cukup untuk penjelajah dan agregator tanpa menyentuh penyimpanan off-chain. Apa pun yang melebihi ukuran ini akan dikembalikan di CreatePlatformConfig dengan InvalidInput.
Mekanika biaya
Swap pada kurva yang terikat padaPlatformConfig mengenakan tiga biaya berlapis:
trade_feeterkumpul keprotocol_fee_ownerprotokol (diklaim melaluiCollectFee).platform_feeterkumpul ke vault per-platform (diklaim melaluiClaimPlatformFeeatauClaimPlatformFeeFromVault; lihatinstructions).creator_feeterkumpul ke vault per-kreator yang dikunci oleh pubkey kreator + quote mint (diklaim melaluiClaimCreatorFee).
creator_fee_rate dibatasi oleh MAX_CREATOR_FEE_RATE = 5000 (50 bps). fee_rate (biaya platform) dibatasi pada 10000 (100 bps) oleh GlobalConfig.max_share_fee_rate.
Pembagian migrasi NFT (CPMM-only)
Ketika peluncuran lulus ke CPMM, instruksi migrasi membagi token LP yang dicetak olehCPMM::InitializeWithPermission dua cara:
lp_to_platform bukan nol, program LP-Lock membungkusnya menjadi satu Fee Key NFT yang dimiliki oleh platform_nft_wallet. Ini menggantikan perilaku pra-upgrade yang membuat Fee Key platform dan kreator terpisah. Fee Key yang dibuat oleh migrasi yang diselesaikan sebelum upgrade tetap tidak berubah. Hak fee LP ini terpisah dari biaya kreator CPMM yang dikendalikan oleh platform_cp_creator.
Bagian burn dibakar langsung, jadi tidak ada akun yang dapat menariknya atau mengklaim biaya LP yang diwakili oleh bagian itu.
Peluncuran yang ada dengan migrate_type = 0 yang disimpan masih dapat menggunakan jalur AMM v4 warisan. Inisialisasi baru menolak tipe migrasi itu.
Daftar putih parameter kurva
curve_params: Vec<PlatformCurveParam> adalah mekanisme platform untuk membatasi bentuk kurva mana yang dapat dipilih peluncurannya. Jika vektor tidak kosong dan setidaknya satu entri valid, program memberlakukan di Initialize bahwa parameter peluncuran cocok dengan setidaknya satu entri secara tepat.
u64::MAX untuk bidang u64, u8::MAX untuk bidang u8, 0 untuk bidang pasokan / penjualan / penggalangan dana. BondingCurveParam dengan semua sentinel adalah “izinkan apa pun” — setara dengan perilaku daftar putih kosong.
Algoritma pencocokan di Initialize:
- Filter
curve_paramske entri yangglobal_config-nya cocok denganGlobalConfigpilihan peluncuran. - Jika daftar yang disaring kosong, izinkan parameter apa pun (platform tidak memasukkan daftar putih apa pun untuk
GlobalConfigini). - Jika setiap entri dalam daftar yang disaring memiliki
all_is_invalid()(setiap bidang adalah wildcard), izinkan parameter apa pun. - Jika tidak, ulangi entri; untuk setiap entri, periksa parameter peluncuran terhadap setiap bidang non-wildcard. Jika semua bidang non-wildcard cocok, terima dan kembalikan.
- Jika tidak ada entri yang cocok, kembalikan dengan
InvalidInput.
MAX_CURVE_PARAMS = 10 membatasi ukuran daftar putih.
PlatformAllowConfig — membatasi platform
Setiap platform memutuskan apakah akan membatasi akun GlobalConfig mana yang dapat digunakan peluncurannya. Atur restrict_global_config dengan UpdatePlatformConfig::RestrictGlobalConfig(0 | 1).
[b"platform_allow_config", platform_config, global_config].
Admin platform membuat atau menutup satu akun per pasangan yang diizinkan melalui CreatePlatformAllowConfig dan ClosePlatformAllowConfig. Ketika pembatasan adalah 1, inisialisasi mencari remaining_accounts untuk PDA yang diharapkan dan menolak akun yang hilang dengan NotEnoughRemainingAccounts. Ketika pembatasan adalah 0, tidak ada akun izin yang diperlukan.
Akun PlatformGlobalAccess yang dikelola admin protokol sebelumnya dan instruksi buat/tutup-nya sudah pensiun. Ukuran PlatformConfig dan GlobalConfig yang ada tidak berubah, tetapi dekoder harus mengganti flag global lama dengan flag platform baru. PDA akses lama tidak dikonsumsi oleh pemeriksaan baru.
Jalur baca
PoolState.platform_config menunjuk langsung ke PlatformConfig asal — ambil sekali dan cache branding-nya.
Jalur pembaruan
Rotasi dompet (
platform_fee_wallet, platform_nft_wallet, platform_vesting_wallet, platform_cp_creator, transfer_fee_extension_auth, cpswap_config) semuanya melalui UpdatePlatformConfig. Baca tabel pengiriman update_platform_config sumber untuk kode param yang tepat.
Jebakan umum
- Sentinel daftar putih salah atur.
BondingCurveParamdengantotal_locked_amount = 0bukan wildcard — cocok dengan peluncuran yang secara eksplisit menolak vesting. Wildcard untuk bidang itu adalahu64::MAX. Perangkap yang sama ada untukcliff_perioddanunlock_period. Gunakanclear()(yang program paparkan) untuk mengatur sentinel dengan benar. - Pembulatan pembagian NFT. Tiga skala harus berjumlah tepat
1_000_000. Kesalahan off-by-one diCreatePlatformConfigdikembalikan; off-by-one saat runtime akan mencetak atau membakar satu unit LP ekstra, itulah yang dicegah oleh pemeriksaan kesetaraan ketat. - Alokasi ganda vesting platform. Jika
platform_vesting_scale > 0, platform harus memanggilCreatePlatformVestingAccountsekali setelah penggalangan dana peluncuran berakhir; jika lupa, bagian itu tetap tidak dialokasikan dan dorman selamanya (anggarantotal_locked_amountpeluncuran dikonsumsi tetapi platform tidak pernah mengklaim). - Ambiguitas
platform_cp_creator. Ketika diatur kePubkey::default(), kreator peluncuran dicatat sebagaipool_creatorpool CPMM pasca-kelulusan; ketika diatur ke kunci nyata, kunci itu dicatat sebagai gantinya. Ini menentukan penerima biaya kreator CPMM pasca-kelulusan dan siapa yang dapat menandatangani jalurCPMM::CollectCreatorFeeasli. Jalur pengumpulan tanpa izin masih membayar ATA kanonik kunci yang dicatat ini. Putuskan pada waktu pembuatan konfigurasi platform model mana yang Anda inginkan. - Pembatasan tanpa akun izin. Mengaktifkan
restrict_global_configsebelum membuatPlatformAllowConfigyang diperlukan memblokir peluncuran baru yang memilih konfigurasi itu.
Penunjuk
products/launchlab/global-config— aturan sisi protokol yang harus dipenuhi peluncuran.products/launchlab/vesting— mekanikaplatform_vesting_scale.products/launchlab/creator-fees— biaya kreator versus hak Fee Key platform.products/launchlab/platforms— panduan cara integrator platform.
raydium-launch/programs/launchpad/src/states/platform_config.rs—PlatformConfig,PlatformParams,MigrateNftInfo,PlatformCurveParam,BondingCurveParam,is_valid_curve_param.raydium-launch/programs/launchpad/src/states/platform_allow_config.rs—PlatformAllowConfig.raydium-launch/programs/launchpad/src/lib.rs— entrypoint konfigurasi platform dan allow-config.

