Ana içeriğe atla
Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
Bu giriş, 2026-10-30 tarihinde planlanmış bir CPMM program yükseltmesini kapsamaktadır. Dağıtımdan önce raydium-cp-swap deposunun feat/initialize-v2 dalı (head 40cbd81) karşısında doğrulanmıştır. Yeni talimata güvenmeden önce dağıtılan programı onaylayın.
Her CPMM havuzunun, her ikisi de oluşturma sırasında sabitlenen bir enable_creator_fee bayrağı ve bir creator_fee_on tarafı vardır. Şimdiye kadar bir yaratıcı bunları yalnızca admin tarafından verilen bir Permission PDA’sı gerektiren InitializeWithPermission aracılığıyla ayarlayabiliyordu. Herkese açık Initialize ücreti her zaman devre dışı olarak kaydediyordu. Pratikte yalnızca LaunchLab mezuniyetleri ve diğer kapılı akışlar yaratıcı ücreti alan bir havuz oluşturabiliyordu. Bu yayın InitializeV2 ekler. Bu, fazladan bir argümana, creator_fee_on: Option<CreatorFeeOn>, sahip Initialize’dır ve herkes çağırabilir. Havuz matematiği, swap, likidite, ücret tahsili ve yaratıcı ücretinin protokol payı etkilenmez.

Entegratörler için TL;DR

  • Yeni talimat: InitializeV2. İzinsiz. Argümanlar init_amount_0, init_amount_1, open_time ve creator_fee_on: Option<CreatorFeeOn>’dur. Ayırıcı [67, 153, 175, 39, 218, 16, 38, 32].
  • Some(side) yaratıcı ücretini o tarafta etkinleştirir; None kapalı bırakır. None, tam olarak Initialize’ın kaydettiğini kaydeder.
  • Initialize ile aynı hesaplar, rent hariç. İlk 19 hesap özdeştir ve aynı sıradadır. Bkz. hesap listesi.
  • Yaratıcı imzalayandır. pool_state.pool_creator, imzalayan creator’dır. InitializeWithPermission’dan farklı olarak, lehtar başka bir adrese ayarlanamaz.
  • Yaratıcı oranı değil, açık/kapalı durumunu ve tarafı seçer. Havuz, ücret katmanının AmmConfig.creator_fee_rate oranını uygular. Bu oran varsayılan olarak 0’dır, bu nedenle böyle bir katmandaki etkin bir havuz hiçbir şey tahakkuk ettirmez.
  • Mevcut hiçbir şey değişmedi. Initialize ve InitializeWithPermission ayırıcılarını, hesaplarını, argümanlarını ve davranışlarını korur. Hiçbir hesap düzeni veya hata kodu değişmedi.
  • Yeni talimatı almak için IDL’nizi yenileyin. Onu hiç çağırmayan istemciler değişiklik gerektirmez.

Programda ne değişti

Yeni talimat: InitializeV2

InitializeV2, Initialize ile aynı oluşturma kodunu çalıştırır. Şunları yapar:
  • pool_state olarak kanonik havuz PDA’sını veya imzalanmış rastgele bir keypair’i kabul eder;
  • aynı Token-2022 izin listesini ve SupportMintAssociated kontrollerini remaining_accounts aracılığıyla uygular;
  • amm_config.disable_create_pool ayarlandığında oluşturmayı reddeder;
  • open_time gelecekte değilse onu block_timestamp + 1 değerine yükseltir;
  • 100 LP temel birimini kilitler ve kalanını yaratıcıya basar;
  • amm_config.create_pool_fee ücretini tahsil eder.
Tek fark, yeni PoolState içine ne yazdığıdır: Geçersiz bir etiket veya varyant baytı Anchor’ın argüman deserializasyonunda başarısız olur. Yeni bir hata kodu söz konusu değildir.

Üç oluşturma yolunun karşılaştırması

Dahili yeniden düzenleme

Üç işleyici artık tek bir initialize_pool rutinini paylaşır. Yeniden düzenleme, Initialize veya InitializeWithPermission’ın hesaplarını, argümanlarını, kontrollerini veya kaydedilen değerlerini değiştirmez. Yeni testler ayrıca aynı config üzerindeki düz bir Initialize’ın yaratıcı ücretini hâlâ devre dışı olarak kaydettiğini kontrol eder.

Yaratıcıların bilmesi gerekenler

  • Önce ücret katmanını kontrol edin. Yaratıcı ücreti oranı havuza değil AmmConfig’e aittir. creator_fee_rate değeri almak istediğiniz oran olan bir katman seçin. Oranlar products/cpmm/fees sayfasında listelenmiştir.
  • Seçim kalıcıdır. Hiçbir talimat oluşturmadan sonra enable_creator_fee veya creator_fee_on değerini değiştirmez. Değiştirmek için yeni bir havuz oluşturmanız gerekir.
  • Trader’lar bunu işlem ücretinin üzerine öder. Yaratıcı ücreti, swap’a eklenen ayrı bir orandır. LP, protokol veya fon paylarını azaltmaz, ancak havuzu aynı katmandaki ücreti kapalı bir havuza göre işlem yapmak için daha pahalı hâle getirir.
  • Tahsilat değişmedi. CollectCreatorFee veya CollectCreatorFeePermissionless kullanın. 2026-09-19 yayınından gelen protokol payı uygulanır ve oluşturma sırasında bundan vazgeçemezsiniz.

Geçiş notları

  • Havuz yaratıcıları. Yalnızca yaratıcı ücretini açmak istiyorsanız Initialize’dan InitializeV2’ye geçin. Some(side) geçin ve rent hesabını çıkarın. Initialize çalışmaya devam eder.
  • SDK kullanıcıları. @raydium-io/raydium-sdk-v2@0.2.64-alpha içindeki raydium.cpmm.createPool, Initialize oluşturur. Bir sürüm InitializeV2 oluşturucusu sunana kadar talimatı yenilenmiş IDL’den kodlayın.
  • İndeksleyiciler ve yönlendiriciler. LaunchLab yerine sıradan cüzdanlar tarafından oluşturulan, enable_creator_fee = true olan daha fazla havuz bekleyin. Fiyat tekliflerini yalnızca oluşturma yoluna veya katmana göre değil, her zaman her havuzun kendi enable_creator_fee ve creator_fee_on değerlerine göre verin. Havuz oluşturmayı talimatlardan izliyorsanız yeni talimatı çözümleyin. PoolState hesaplarından izleme değişiklik gerektirmez.
  • Arayüzler. Aynı katmandaki iki havuz artık farklılık gösterebileceğinden, bir havuzun yaratıcı ücreti alıp almadığını ve hangi oranda aldığını gösterin.
  • LaunchLab ve diğer izinli akışlar. Değişiklik yok. Ödeyici ile kaydedilen yaratıcının farklı olması gerektiğinde yol hâlâ InitializeWithPermission’dır.

Değişmeyen şeyler

  • Her hesap düzeni, PoolState ve AmmConfig dahil.
  • Initialize ve InitializeWithPermission: ayırıcılar, hesaplar, argümanlar ve kaydedilen değerler.
  • Permission, CreatePermissionPda ve ClosePermissionPda.
  • Swap, depozito ve çekim matematiği, yaratıcı ücreti tahsili ve yaratıcı ücretinin protokol payı.
  • Hata kodları. 6000–6015 değişmedi; hiçbir şey eklenmedi.
  • Program ID’si.

Güncellenen sayfalar

  • products/cpmm/instructions: yükseltme başlığı; özet ve durum değişikliği matrisi satırları; argümanlar, kodlama ve hesap listesiyle yeni InitializeV2 bölümü; Initialize son koşulu artık InitializeV2’ye işaret ediyor.
  • products/cpmm/fees: “Yaratıcı ücreti” bölümü üç oluşturma yolunun tamamını listeler ve ücreti etkinleştirmenin oranını belirlemediğini belirtir.
  • products/cpmm/accounts: poolState ve havuz ID’si notları; creator_fee_on / enable_creator_fee alan notları; Permission notu; hesap yaşam döngüsü satırı.
  • products/cpmm/overview: “Yenilikler” açıklaması ve “Öngörülebilir ücretler” maddesi.
  • products/cpmm/code-demos: createPool’un Initialize oluşturduğuna ve InitializeV2’ye nasıl ulaşılacağına dair not.
  • protocol-overview/shared-infrastructure: yaratıcı ücretleri artık LaunchLab mezunu havuzlarla sınırlı değildir.
  • reference/token-2022-support: CPMM havuz oluşturma yolları.
Doğrulanmış: raydium-cp-swap dalı 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 ve tests/initialize_v2.test.ts.