Skip to main content
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 →

Bir paragrafta özet

CPMM — Constant Product Market Maker, Raydium’un arayüzünde resmi olarak “Standart AMM” — klasik x · y = k AMM’nin Solana’ya özgü bir uygulamasıdır. OpenBook order book yok, Serum mirası yok, SPL Token ve Token-2022 dışında harici bağımlılık yok. Her pool, program tarafından yönetilen bir authority PDA tarafından kontrol edilen (iki token vault’u, bir LP mint’i) üçlüsüdür ve vault bakiyelerinin çarpımı ile fiyatlandırılır. CPMM, Raydium’un tüm yeni sabit-ürün poolları için önerdiği AMM’dir ve /pools/create endpoint’i ile web arayüzünün “Pool oluştur” akışının varsayılan olarak hedeflediği şeydir.

CPMM size ne sağlar

Yaratıcı ücret toplama güncellemesi. Herhangi bir ödeyici CollectCreatorFeePermissionless işlemini tetikleyebilir. Fonlar yalnızca pool yaratıcısının kanonik token hesaplarına gider ve mevcut yaratıcı tarafından imzalanan CollectCreatorFee kullanılabilir durumda kalır. Bkz. Instructions.
  • Doğrulanmış bir uzantı izin listesi ile Token-2022. CPMM, keyfi Token-2022 mint’lerini kabul etmez. Program, pool oluşturma sırasında güvenli uzantıların bir beyaz listesini uygular: TransferFeeConfig, MetadataPointer, TokenMetadata, InterestBearingConfig ve ScaledUiAmount. Mint’teki başka herhangi bir uzantı, Initialize işleminin NotSupportMint ile reddedilmesine neden olur — mint’in kendisi program tarafından tutulan küçük bir hard-coded mint izin listesinde olmadığı sürece (belirli mint’leri duruma göre eklemek için kullanılır). Transfer ücretleri özellikle swap matematiğini etkiler ve işlemin doğru tarafında uygulanır — bkz. algorithms/token-2022-transfer-fees.
  • Öngörülebilir ücretler. Her pool, oluşturma sırasında seçilen bir AmmConfig’e başvurur. Yapılandırma, bir işlem ücreti oranı (LP’ler, protokol ve fon arasında bölünmüş) ve ayrı, bağımsız bir yaratıcı-ücret oranı taşır. Yaratıcı ücreti kendi bir bölmedir — asla işlem ücretinin bir dilimi değildir. Poollar oluşturma sırasında bunu talep etmeyi seçerler. Varsayılanlar ve tam bölme matematiği products/cpmm/fees içindedir.
  • Gözlem halka tamponu aracılığıyla zincir üstü TWAP. Her swap bir observation hesabını günceller. Harici sözleşmeler, özel bir oracle olmadan TWAP hesaplamak için kümülatif-fiyat gözlemini okuyabilir.
  • Düz hesap düzeni. Bir pool tamamen altı PDA tarafından tanımlanır (authority, pool state, LP mint, iki vault, observation). Pazar başına OpenBook hesabı yok, event queue yok, request queue yok. İşlemler, AMM v4’ten hem hesaplama hem de hesap sayısı açısından daha ucuzdur.
  • Burn-and-earn uyumlu. LP token’ları LP Lock programı altında kilitlenebilir, böylece pool yaratıcısı likiditeyi geri çekme hakkını elinde tutmadan ücret talep etmeye devam edebilir. “Kalıcı” likidite lansmanları için kullanılır.

CPMM ne değildir

  • Konsantre değildir. Likidite, Uniswap v2 gibi tüm fiyat aralığına eşit şekilde yayılır. Sermaye-verimli pazar yapımı istiyorsanız — yani likiditeyi mevcut fiyata yakın konsantre etmek — CLMM kullanın.
  • Hibrit değildir. AMM v4 aksine, CPMM poolları OpenBook piyasasında bekleyen emirler yerleştirmez. CPMM poolları arasında yönlendirme, bir CLOB aracılığıyla değil, AMM Routing programı aracılığıyla gerçekleşir.
  • Keyfi eğriler için başlatılamaz. Eğri, sabit ürüne hard-coded’dir. Bir token lansmanı için bir bonding curve istiyorsanız, doldurulduğunda bir CPMM pool’a geçen LaunchLab kullanın.

CPMM’nin AMM v4’ten farkları

Geçiş hikâyesinin daha derinlemesine bir incelemesi protocol-overview/versions-and-migration içindedir.

Zihinsel model

Bir CPMM pool’u, üç bakiyeyi tutan program tarafından sahip olunan bir nesnedir: vault0 (token0), vault1 (token1) ve LP mint’inin arzı. LP mint’inin arzı, yatırımcıların pool’daki talebini izler; token vault’ları gerçek varlıkları tutar. Diğer her şey — authority PDA, observation hesabı, ücret-yapılandırma işaretçisi — bu üç değişkenli ilişkiyi işlem yapılabilir, ücret toplayan ve gözlemlenebilir hale getirmek için muhasebedir. Her kullanıcıya yönelik işlem, iyi tanımlanmış bir durum geçişine indirgenir:
  • Yatırma: token0 ve token1’i içeri aktar, kullanıcıya LP mint et, fiyatta değişiklik yok.
  • Çekme: kullanıcıdan LP yak, token0 ve token1’i pool’un mevcut oranında dışarı aktar, fiyatta değişiklik yok.
  • Swap: bir token içeri aktar, diğerini dışarı aktar; oran x · y = k eğrisi boyunca hareket eder (ücretler hariç); observation hesabı yeni fiyatı örnekler.
Ücret toplama ayrı bir işlemdir; her swap’ta gerçekleşmez. Protokol ve fon toplama, ilgili yetkilerini gerektirir. Yaratıcı ücretleri, yaratıcı tarafından imzalanan yol aracılığıyla veya hedef-kısıtlı bir yol aracılığıyla izin vermeyen bir çağrıcı tarafından toplanabilir. Matematik products/cpmm/math içinde ve instruction seti products/cpmm/instructions içinde açıklanmıştır.

CPMM’yi ne zaman seçmelisiniz

CPMM’yi seçin:
  • Yeni bir token veya yeni bir çift başlatıyorsunuz ve hangi aralığın işlem göreceği konusunda güçlü görüşleriniz yok.
  • Token’lardan biri veya her ikisi Token-2022 uzantılarını kullanıyor.
  • Dinamik, tick tabanlı bir model yerine basit bir işlem başına ücret modeli istiyorsunuz.
  • Entegre ediyorsunuz ve CLMM pozisyonlarının karmaşıklığını üstlenmeden Raydium aracılığıyla yönlendirmek istiyorsunuz.
Şu durumlarda CLMM tercih edin:
  • Çift istikrarlı veya yüksek korelasyonlu (stablecoin-stablecoin, LST-SOL) ve likiditeyi pariteye yakın konsantre etmek istiyorsunuz.
  • Daha yüksek ücret APR’si için TVL başına dolar için aktif olarak aralıkları yönetmeye istekli bir pazar yapım ekibisiniz.
Şu durumlarda AMM v4 tercih edin:
  • Mevcut AMM v4 araçlarını geçiriyorsunuz ve yeni bir pool oluşturmuyorsunuz.
(Not: AMM v4’ün OpenBook hibrit modu artık aktif değildir — bu artık AMM v4’ü seçmek için bir neden değildir.)

Sonra nereye gideceğiniz

  • Accounts — bir CPMM pool’unun altı PDA’sı ve bunları nasıl türeteceğiniz.
  • MathSwapBaseInput vs SwapBaseOutput, Token-2022 transfer-ücret işleme, observation güncellemeleri.
  • Instructions — tam instruction yüzeyi hesap listeleri ile.
  • Fees — dört yönlü ücret bölümü ve nasıl toplanacağı.
  • Code demos — create / swap / deposit / withdraw için çalıştırılabilir TypeScript kod parçacıkları.
Kaynaklar: