Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Halaman ini mendokumentasikan grafik akun per-peluncuran:
PoolState (akun status akar untuk satu peluncuran), dua vaultnya, PDA otoritas, dan referensi pasca-kelulusan yang diperolehnya saat peluncuran diselesaikan.Untuk konfigurasi tingkat protokol yang membatasi setiap peluncuran, lihat products/launchlab/global-config. Untuk overlay per-platform, lihat products/launchlab/platform-config. Untuk akun vesting (VestingSchedule pada PoolState, VestingRecord per penerima manfaat), lihat products/launchlab/vesting.Inventaris akun
SDK
raydium.launchpad.getLaunchById mengembalikan PoolState ditambah flag yang menunjukkan apakah peluncuran telah lulus; jika ya, ID pool pasca-migrasi disertakan.
PoolState
Status akar per-peluncuran. Nama field di bawah cocok dengan struct Rust on-chain (states/pool.rs); beberapa nilai disederhanakan untuk keterbacaan — konsultasikan sumber untuk tata letak memori yang tepat.
PoolStatus (dari Anchor IDL):
status— tiga nilai, monoton (Funding → Migrate → Migrated). Pembacaan selalu aman; penulisan terbatas.real_base,real_quote— status kurva saat ini. Dikombinasikan denganvirtual_base/virtual_quotemereka cukup untuk menghitung harga spot tanpa menyentuh vault. Lihatbonding-curve.total_base_sellvsreal_base— rasio “kemajuan menuju kelulusan” untuk UI.migrate_type— inisialisasi baru memerlukan1(CPSWAP).0yang tersimpan tetap bermakna hanya untuk peluncuran yang ada yang dibuat sebelum penegakan CPMM-only.amm_creator_fee_on— memilihcreator_fee_on = OnlyQuoteToken(0) atauBothToken(1) pada pool CPMM pasca-kelulusan. Ini tidak memilih target migrasi. Lihatcreator-fees.token_program_flag— bidang bit, bukan boolean. Bit0 adalah mint dasar dan bit1 adalah mint kutipan, masing-masing0untuk SPL Token dan1untuk Token-2022, jadi byte mengambil empat nilai:0(keduanya warisan),1(Token-2022 dasar),2(Token-2022 kutipan),3(keduanya Token-2022). Baca satu mint dengan(token_program_flag >> bit) & 1. Membandingkan seluruh byte terhadap0untuk mengklasifikasikan mint dasar menyelesaikan2ke program yang salah. Bit1 konstan0sampai mint kutipan Token-2022 didukung.quote_protocol_fee/platform_fee/migrate_fee— tiga penghitung biaya independen. Masing-masing memiliki instruksi klaim sendiri; lihatinstructions.vesting_schedule— hadir pada setiapPoolStatetetapi tidak aktif ketikatotal_locked_amount == 0. Lihatvestinguntuk siklus hidup lengkap.
PDA otoritas
LaunchLab menggunakan satu PDA otoritas di semua peluncuran, diturunkan tanpa seed per-peluncuran:- Otoritas pada
base_vaultdanquote_vaultsetiap peluncuran. mint_authoritypadabase_mintsetiap peluncuran (pra-kelulusan).- Penandatangan pada CPI kelulusan CPMM, dan pada kelulusan AMM v4 warisan untuk status yang ada.
- Penandatangan pada transfer
ClaimVestedTokenkeluar dari vault dasar. transfer_fee_config_authoritypadaTransferFeeConfigmint dasar Token-2022, untuk seluruh fase pra-kelulusan — danwithdraw_withheld_authority-nya juga, tetapi hanya ketika platform meninggalkanPlatformConfig.transfer_fee_extension_authtidak diatur.
mint_authority dicabut segera setelah panggilan MigrateToCpswap atau MigrateToAmm warisan, jadi pasokan secara permanen tetap.
Dua PDA tambahan membatasi vault biaya:
ClaimCreatorFee dan ClaimPlatformFeeFromVault.
Mint dasar
Dibuat inline olehInitialize dengan:
mint_authority = authority(dicabut saat kelulusan).freeze_authority = None.supply = supply, sepenuhnya dimint kebase_vault.decimalsdipilih oleh kreator diInitialize(biasanya 6).
base_mint.supply konstan untuk kehidupan peluncuran. Pembelian kurva memindahkan token dari base_vault ke pembeli, tetapi tidak memanggil mint_to.
Initialize / InitializeV2 membuat mint dasar SPL Token. Instruksi InitializeWithToken2022 khusus memungkinkan mint dasar menjadi mint Token-2022 (dengan TransferFeeConfig opsional). Ketiga jalur inisialisasi memerlukan kelulusan CPMM.
Ketika InitializeWithToken2022 melampirkan TransferFeeConfig, mint dibuat dengan transfer_fee_config_authority = authority dan withdraw_withheld_authority = PlatformConfig.transfer_fee_extension_auth, kembali ke authority ketika platform belum menetapkan field itu. Kedua otoritas ditugaskan kembali ke kunci platform saat kelulusan, sisi tarik hanya jika PDA masih memegangnya. Lihat platform-config.
Mint kutipan independen dari mint dasar dan mungkin sendiri adalah mint Token-2022 — InitializeV2 dan InitializeWithToken2022 menerima program mana pun di slot program kutipan mereka. Initialize yang sudah usang tidak: akun program-kutipan mereka masih diketik ke SPL Token, jadi konfigurasi yang mint kutipannya adalah Token-2022 hanya dapat diluncurkan melalui dua yang lain. Mint kutipan tidak pernah dibuat oleh LaunchLab; itu adalah apa pun yang dinamai GlobalConfig.quote_mint. Lihat global-config dan reference/token-2022-support.
Vault
Baikbase_vault maupun quote_vault adalah akun token yang dimiliki oleh PDA LaunchLab authority, masing-masing dibuat pada program yang memiliki mintnya sendiri — jadi peluncuran dapat memiliki vault dasar warisan dan vault kutipan Token-2022, atau kombinasi lainnya. token_program_flag mencatat mana yang mana. Alamat disimpan pada PoolState dan juga dapat diturunkan:
Initialize sumber sebelum mengandalkan derivasi dalam produksi.)
Vault biaya
Dua PDA mengagregasi biaya di semua peluncuran:- Vault biaya kreator — PDA pada seed
[creator, quote_mint]. Setiap peluncuran yang menghasilkan biaya kreator yang sama pada mint kutipan yang sama dituangkan ke vault yang sama. Kreator menyapunya melaluiClaimCreatorFee. - Vault biaya platform — PDA pada seed
[platform_config, quote_mint]. Setiap peluncuran yang dirutekan melalui platform yang sama yang menggunakan mint kutipan yang sama dituangkan ke vault yang sama.platform_fee_walletplatform menyapunya melaluiClaimPlatformFeeFromVault. Ada juga varian sapuan per-peluncuran (ClaimPlatformFee) yang menarik dariquote_vaultpeluncuran secara langsung tanpa melewati vault yang diagregasi.
Quote vault ↔ real_quote
quote_vault.balance dan PoolState.real_quote harus tetap sinkron. Mereka dapat bergeser paling banyak jumlah dari tiga penghitung biaya yang tertunda (quote_protocol_fee, platform_fee, migrate_fee), yang duduk di vault tetapi milik penghitung biaya dan bukan cadangan kurva. Matematika kurva selalu menggunakan real_quote, tidak pernah saldo vault mentah.
Invarian pra-kelulusan:
PlatformCurveRule
Satu akun per pasangan (PlatformConfig, GlobalConfig), menyimpan bentuk peluncuran yang diizinkan platform pada konfigurasi itu. Seed PDA adalah [b"platform_curve_rule", platform_config, global_config].
150 + Σ(14 + 18 × constraints) dan decoder tidak boleh menganggap ukuran tetap. Grup adalah OR: peluncuran diizinkan segera setelah kendala satu grup semuanya berlaku. Nol grup berarti tidak ada pembatasan.
Bacanya hanya ketika PlatformConfig.restrict_curve_param pemilik adalah 1 — pada 0 program mengabaikan akun, dan aturan basi mungkin duduk di sana. ID field, operator, dan playbook ada di products/launchlab/curve-rules.
Transisi akun siklus hidup
Ke mana selanjutnya
products/launchlab/bonding-curve— matematika di balikreal_base↔real_quote.products/launchlab/instructions— daftar akun per-instruksi.products/launchlab/global-config— pengikatan tingkat protokol.products/launchlab/platform-config— overlay platform.products/launchlab/vesting— mekanik pasokan terkunci.products/cpmm/accounts— seperti apacpmm_pool_statepasca-kelulusan.
raydium-launch/programs/launchpad/src/states/pool.rs—PoolState,PoolStatus,VestingSchedule,AmmCreatorFeeOn.raydium-launch/programs/launchpad/src/lib.rs— konstanta seed PDA (AUTH_SEED,CREATOR_FEE_VAULT_AUTH_SEED,PLATFORM_FEE_VAULT_AUTH_SEED).- Modul
launchpadRaydium SDK v2.

