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 →
Bu sürüm, seçili KYC-kısıtlı yayıncı havuzları için koşullu transferilemezlik yolu ekler. Her yeni position’ı dondurmaz, havuz varlıklarını dondurmaz veya position sahiplerinin likiditeyi yönetmesini engellemez. CLMM havuz PDA, her yeni position NFT mint’i için dondurma yetkisi olur, ancak NFT token hesabı varsayılan olarak donmuş kalmaz. Program bunu yalnızca position OpenPositionV2 veya OpenPositionWithToken22Nft kullandığında ve temel vault mint’lerinden en az biri hardcoded kısıtlı-yayıncı listesinden bir dondurma yetkisine sahip olduğunda dondurur.

Entegratörler için Özet

  • Yeni position NFT mint’lerinin dondurma yetkisi vardır, ancak varsayılan olarak donmuş değildir. OpenPosition, OpenPositionV2 ve OpenPositionWithToken22Nft, position’ın pool_state’ini mint dondurma yetkisi olarak ayarlar. Mint yetkisi, tek NFT basıldıktan sonra yine de kaldırılır.
  • Dondurma V2 yolu artı yayıncı eşleşmesi gerektirir. OpenPositionV2 ve OpenPositionWithToken22Nft, vault_0_mint.freeze_authority ve vault_1_mint.freeze_authority’yi inceler. Yeni NFT hesabı yalnızca en az biri program listesiyle eşleşirse dondurulur. Eşleşme olmadan, donmuş kalmaz ve transferilebilir.
  • Donmuş, sahibine bağlı demektir. SPL Token, NFT transferini ve token-hesap sahibi değişikliklerini yerel AccountFrozen hatası ile reddeder. Likiditeyi artırma/azaltma ve ücret/ödül toplama, NFT sahibi imzaladığında çalışmaya devam eder.
  • Kapatma kullanılabilir kalır. ClosePosition, donmuş bir NFT hesabını algılar, havuz PDA’sını kullanarak çözer, ardından NFT’yi yakar ve position’ı atomik olarak kapatır.
  • Donmuş kapatma bir kalan hesap gerektirir. İstemci, personal_position.pool_id’yi ilk kalan hesap olarak eklemelidir. Eksik olması CLMM AccountLack döndürür; yanlış havuz geçirmek NotApproved döndürür.
  • Mevcut position’lar etkilenmez. Güncelleme, NFT mint yetkilerini geriye dönük olarak değiştirmez veya mevcut token hesaplarını dondurmaz.
  • CLMM durum düzeni veya bildirilen IDL hesap-listesi değişikliği yok. PoolState, PersonalPositionState ve komut argümanları bayt-uyumlu kalır. Kapatma-yolu gereksinimi remaining_accounts aracılığıyla taşınır.

Tetikleme mantığı

Program, açık sırada iki vault mint’ini değerlendirir:
Eksik dondurma yetkisi eşleşmez. Bir tarafın eşleşmesi yeterlidir. İlk liste, CLMM’nin Superstate varlık algılaması tarafından kullanılan aynı yayıncı yetkisini içerir. Mevcut mainnet-beta ve devnet eşleşme anahtarları reference/program-addresses içinde bulunur. Kontrol, paylaşılan açık-position işleyicisinde yalnızca vault mint hesapları sağlandığında çalışır. Bu şu anlama gelir:

Position NFT yetki değişiklikleri

Bu güncellemeden önce, yeni oluşturulan klasik SPL position NFT mint’i dondurma yetkisini tutmadı. Güncellemeden sonra, her yeni position NFT mint’i havuzunu dondurma yetkisi olarak adlandırır; sıradan havuzlardaki position’lar da dahil. Bu yetki ayarı tek başına NFT token hesabını dondurmaz; sıradan ve eşleşmeyen position’lar donmuş kalır. Havuz PDA’sını global yönetici veya yayıncı anahtarı yerine kullanmak, yetkileri bir havuzla sınırlar. Harici bir taraf PDA olarak imza atamaz ve CLMM, keyfi position hesaplarını dondurmak veya çözmek için genel amaçlı komut sunmaz. Yeni kod yetkileri yalnızca iki yerde kullanır:
  1. Temel yayıncı kontrolü eşleştiğinde basımdan hemen sonra dondurun.
  2. Yakılmadan hemen önce ClosePosition sırasında çözün.

ClosePosition geçişi

Altı bildirilen hesap değişmez. Donmuş bir NFT için, havuzu ilk kalan hesap olarak ekleyin:
İşleyici, PoolState’i yüklemeden önce anahtarı doğrular, havuz imzalayan tohumlarını türetir ve şunları gerçekleştirir:
Tüm adımlar bir Solana komutunda çalışır ve bu nedenle birlikte işlenir veya geri alınır. Havuzu her kapatmada geçirmek güvenlidir: işleyici, NFT hesabı donmuş olmadığında kalan hesapları yoksayar.
Koşullu istemci kırılması. Eski bir istemci, yükseltmeden sonra position açmayı başarıyla yapabilir çünkü V2 açık hesap düzenleri değişmez. Bu position donmuş ise, aynı istemci daha sonra kapatmayı başaramayabilir çünkü ClosePosition oluşturucusu havuz kalan hesabını atlar. Etkilenen havuzlarda position açmaya izin vermeden önce kapatma oluşturucusunu güncelleyin.

Uyumluluk matrisi

Yeni CLMM özel hata varyantları veya sayısal kaymalar tanıtılmaz. SPL Token’ın yerel AccountFrozen hatası, transfer veya sahibi değiştirme denemelerini reddeder.

Güncellenen sayfalar

  • products/clmm/overview — sürüm özeti ve kısıtlı transferilemezlik uyarısı.
  • products/clmm/ticks-and-positions — yetki modeli, tetikleme, sahibi yetenekleri ve kapatma geçişi uyarısı.
  • products/clmm/accounts — position NFT mint’i ve yaşam döngüsü davranışı.
  • products/clmm/instructions — açık sonkoşullar ve donmuş ClosePosition kalan-hesap yolu.
  • products/clmm/code-demos — doğrudan Anchor kapatma örneği ve sabitlenmiş-SDK uyarısı.
  • user-flows/add-remove-liquidity — kullanıcıya yönelik kısıtlı-position davranışı.
  • user-flows/burn-and-earn — donmuş position’lar kilit emanet içine aktarılamaz.
  • security/oracle-and-token-risks / security/attack-vectors — yayıncı ve transfer-risk sınırları.
  • reference/token-2022-support — havuz izin listesi ve position saklama arasındaki fark.
  • reference/error-codes — genişletilmiş AccountLack ve NotApproved nedenleri.
  • reference/program-addresses — kısıtlı-yayıncı yetki eşleşme anahtarları.
  • reference/fee-comparison / reference/glossary — transferilemezlik istisnalar.
2026-08-13 tarihinde doğrulandı:
  • Ön-sürüm CLMM dalı feat/position-nft-freeze at ecb157760776f83f97507fa78c6e32cfb30d92a9.
  • Commit’ler 2e95310 (kısıtlı-yayıncı NFT dondurma) ve ecb1577 (havuz-kapsamlı dondurma yetkisi), master at 51fdba2 ile karşılaştırıldı.
  • Program kaynakları instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rs ve util/token.rs altında.
  • position-nft-freeze.test.ts, sıradan transferilemezliği, donmuş transfer/sahibi-değişikliği reddetmesini ve V2 artı Token-2022 çözme-kapatma akışlarını kapsayan.
Bu doğrulama, ön-sürüm kaynak dalını kapsar, mainnet-beta dağıtımını veya yayınlanan SDK sürümünü değil. Akışı etkinleştirmeden önce dağıtılan programı, üretim kısıtlı-yetki listesini ve SDK kapatma oluşturucusunu doğrulayın.