> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-17 — CLMM: kısıtlı-yayıncı position NFT dondurma

> CLMM, V2 açık yolu kısıtlı-yayıncı listesiyle eşleşen bir dondurma yetkisine sahip temel mint bulduğunda yeni bir position NFT hesabını koşullu olarak dondurur.

<Info>
  **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 →](/reference/changelog/2026-08-17-clmm-restricted-position-nft-freeze)
</Info>

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:

```rust theme={null}
must_freeze = restricted_ids.contains(vault_0_mint.freeze_authority)
           || restricted_ids.contains(vault_1_mint.freeze_authority)
```

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`](/tr/reference/program-addresses#clmm-restricted-issuer-freeze-authorities) 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:

| Açık yolu                    | Position NFT programı | Kısıtlı-yayıncı dondurma davranışı                                                                    |
| ---------------------------- | --------------------- | ----------------------------------------------------------------------------------------------------- |
| `OpenPosition` V1            | SPL Token             | Dondurmaz. V1, sevk edilen liste tarafından hedeflenen Token-2022 yayıncı varlıklarına hizmet edemez. |
| `OpenPositionV2`             | SPL Token             | Her iki vault mint'ini inceler ve eşleşmede dondurur.                                                 |
| `OpenPositionWithToken22Nft` | Token-2022            | Her iki vault mint'ini inceler ve eşleşmede dondurur.                                                 |

## 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:

```text theme={null}
bildirilen: nft_owner, position_nft_mint, position_nft_account,
            personal_position, system_program, token_program
remaining[0]: personal_position.pool_id   // salt okunur, imzalayan değil
```

İşleyici, `PoolState`'i yüklemeden önce anahtarı doğrular, havuz imzalayan tohumlarını türetir ve şunları gerçekleştirir:

```text theme={null}
NFT hesabını çöz → NFT'yi yak → NFT token hesabını / position durumunu kapat
```

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.

<Warning>
  **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.
</Warning>

## Uyumluluk matrisi

| Senaryo                                  | NFT'yi Aktar | Likiditeyi Yönet | Eski kapatma oluşturucusu   | Güncellenmiş kapatma oluşturucusu |
| ---------------------------------------- | ------------ | ---------------- | --------------------------- | --------------------------------- |
| Mevcut position                          | değişmez     | evet             | evet                        | evet                              |
| Yeni position, sıradan havuz             | evet         | evet             | evet                        | evet                              |
| Yeni V2 position, kısıtlı-yayıncı havuzu | hayır        | evet             | `AccountLack` ile başarısız | evet; atomik çözme ve yakma       |

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.

<Warning>
  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.
</Warning>
