Langsung ke konten utama
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Entri ini mencakup upgrade program CPMM yang dijadwalkan untuk 2026-10-30. Ini diverifikasi terhadap branch feat/initialize-v2 dari raydium-cp-swap (head 40cbd81) sebelum deployment. Konfirmasi program yang di-deploy sebelum mengandalkan instruksi baru.
Setiap pool CPMM memiliki flag enable_creator_fee dan sisi creator_fee_on, keduanya tetap sejak pembuatan. Hingga kini, kreator hanya dapat mengaturnya melalui InitializeWithPermission, yang memerlukan PDA Permission yang diterbitkan admin. Initialize publik selalu menyimpan biaya dalam keadaan nonaktif. Dalam praktiknya, hanya kelulusan LaunchLab dan alur terbatas lainnya yang dapat membuat pool yang mengenakan biaya kreator. Rilis ini menambahkan InitializeV2. Instruksi ini adalah Initialize dengan satu argumen tambahan, creator_fee_on: Option<CreatorFeeOn>, dan siapa pun dapat memanggilnya. Matematika pool, swap, likuiditas, pengumpulan biaya, dan bagian protokol dari biaya kreator tidak tersentuh.

TL;DR untuk integrator

  • Instruksi baru: InitializeV2. Tanpa izin. Argumennya adalah init_amount_0, init_amount_1, open_time dan creator_fee_on: Option<CreatorFeeOn>. Discriminator [67, 153, 175, 39, 218, 16, 38, 32].
  • Some(side) mengaktifkan biaya kreator di sisi tersebut; None membiarkannya nonaktif. None menyimpan persis apa yang disimpan Initialize.
  • Akun yang sama dengan Initialize, dikurangi rent. 19 akun pertama identik dan dalam urutan yang sama. Lihat daftar akun.
  • Kreator adalah penandatangan. pool_state.pool_creator adalah creator yang menandatangani. Berbeda dengan InitializeWithPermission, penerima manfaat tidak dapat diatur ke alamat lain.
  • Kreator memilih aktif/nonaktif dan sisinya, bukan tarifnya. Pool mengenakan AmmConfig.creator_fee_rate dari tingkat biayanya. Tarif tersebut default-nya 0, sehingga pool yang diaktifkan pada tingkat seperti itu tidak mengakumulasi apa pun.
  • Tidak ada yang sudah ada yang berubah. Initialize dan InitializeWithPermission mempertahankan discriminator, akun, argumen, dan perilakunya. Tidak ada tata letak akun atau kode kesalahan yang berubah.
  • Perbarui IDL Anda untuk mendapatkan instruksi baru. Klien yang tidak pernah memanggilnya tidak perlu perubahan.

Apa yang berubah dalam program

Instruksi baru: InitializeV2

InitializeV2 menjalankan kode pembuatan yang sama dengan Initialize. Instruksi ini:
  • menerima PDA pool kanonik atau keypair acak yang ditandatangani sebagai pool_state;
  • menerapkan daftar putih Token-2022 dan pemeriksaan SupportMintAssociated yang sama, melalui remaining_accounts;
  • menolak pembuatan ketika amm_config.disable_create_pool diatur;
  • menaikkan open_time ke block_timestamp + 1 ketika nilainya tidak di masa depan;
  • mengunci 100 unit dasar LP dan me-mint sisanya ke kreator;
  • mengenakan amm_config.create_pool_fee.
Satu-satunya perbedaan adalah apa yang ditulisnya ke dalam PoolState baru: Byte tag atau byte varian yang tidak valid menggagalkan deserialisasi argumen Anchor. Tidak ada kode kesalahan baru yang terlibat.

Perbandingan tiga jalur pembuatan

Refaktor internal

Ketiga handler kini berbagi satu rutin initialize_pool. Refaktor ini tidak mengubah akun, argumen, pemeriksaan, atau nilai yang disimpan oleh Initialize maupun InitializeWithPermission. Pengujian baru juga memeriksa bahwa Initialize biasa pada konfigurasi yang sama tetap menyimpan biaya kreator dalam keadaan nonaktif.

Yang perlu diketahui kreator

  • Periksa tingkat biaya terlebih dahulu. Tarif biaya kreator milik AmmConfig, bukan pool. Pilih tingkat yang creator_fee_rate-nya sesuai dengan yang ingin Anda kenakan. Tarif tercantum di products/cpmm/fees.
  • Pilihan ini permanen. Tidak ada instruksi yang mengubah enable_creator_fee atau creator_fee_on setelah pembuatan. Untuk mengubahnya, Anda harus membuat pool baru.
  • Trader membayarnya di atas biaya perdagangan. Biaya kreator adalah tarif terpisah yang ditambahkan ke swap. Biaya ini tidak mengurangi bagian LP, protokol, atau dana, tetapi membuat pool lebih mahal untuk diperdagangkan dibandingkan pool pada tingkat yang sama dengan biaya nonaktif.
  • Pengumpulan tidak berubah. Gunakan CollectCreatorFee atau CollectCreatorFeePermissionless. Bagian protokol dari rilis 2026-09-19 berlaku, dan Anda tidak dapat memilih keluar darinya saat pembuatan.

Catatan migrasi

  • Pembuat pool. Beralih dari Initialize ke InitializeV2 hanya jika Anda ingin biaya kreator aktif. Teruskan Some(side) dan hapus akun rent. Initialize tetap berfungsi.
  • Pengguna SDK. raydium.cpmm.createPool di @raydium-io/raydium-sdk-v2@0.2.64-alpha membangun Initialize. Sampai sebuah rilis menyediakan builder InitializeV2, enkode dari IDL yang diperbarui.
  • Indexer dan router. Perkirakan lebih banyak pool dengan enable_creator_fee = true, dibuat oleh wallet biasa alih-alih LaunchLab. Kutip harga dari enable_creator_fee dan creator_fee_on milik setiap pool sendiri, jangan pernah hanya dari jalur pembuatan atau tingkat biayanya. Dekode instruksi baru jika Anda melacak pembuatan pool dari instruksi. Pelacakan dari akun PoolState tidak memerlukan perubahan.
  • UI. Tampilkan apakah pool mengenakan biaya kreator dan pada tarif berapa, karena dua pool pada tingkat yang sama kini dapat berbeda.
  • LaunchLab dan alur berizin lainnya. Tidak ada perubahan. InitializeWithPermission tetap menjadi jalur ketika pembayar dan kreator yang tercatat harus berbeda.

Apa yang tidak berubah

  • Setiap tata letak akun, termasuk PoolState dan AmmConfig.
  • Initialize dan InitializeWithPermission: discriminator, akun, argumen, dan nilai yang disimpan.
  • Permission, CreatePermissionPda dan ClosePermissionPda.
  • Matematika swap, deposit, dan withdraw, pengenaan biaya kreator, dan bagian protokol dari biaya kreator.
  • Kode kesalahan. 6000–6015 tidak berubah; tidak ada yang ditambahkan.
  • Program ID.

Halaman yang diperbarui

  • products/cpmm/instructions: banner upgrade; baris ringkasan dan matriks perubahan status; bagian InitializeV2 baru dengan argumen, pengodean, dan daftar akun; kondisi pasca Initialize kini merujuk ke InitializeV2.
  • products/cpmm/fees: bagian “Creator fee” mencantumkan ketiga jalur pembuatan dan mencatat bahwa mengaktifkan biaya tidak menetapkan tarifnya.
  • products/cpmm/accounts: catatan poolState dan ID pool; catatan bidang creator_fee_on / enable_creator_fee; catatan Permission; baris siklus hidup akun.
  • products/cpmm/overview: callout “What’s new” dan poin “Predictable fees”.
  • products/cpmm/code-demos: catatan bahwa createPool membangun Initialize dan cara menggunakan InitializeV2.
  • protocol-overview/shared-infrastructure: biaya kreator tidak lagi terbatas pada pool yang lulus LaunchLab.
  • reference/token-2022-support: jalur pembuatan pool CPMM.
Diverifikasi terhadap: raydium-cp-swap branch feat/initialize-v2 (40cbd81): programs/cp-swap/src/lib.rs, instructions/initialize_v2.rs, instructions/initialize.rs, instructions/initialize_with_permission.rs, instructions/mod.rs, states/pool.rs, dan tests/initialize_v2.test.ts.