> ## 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 — CPMM: izinsiz creator-fee toplama

> CPMM, herhangi bir ödeyicinin creator ücretlerini pool oluşturucusunun kanonik ATA'larına taşımasını sağlayan hedef-kısıtlı bir talimat ekler ve Permission PDA oluşturmayı iptal etme yetkisini devretmeden devreder.

<Info>
  Yaklaşan bir CPMM program güncellemesi için bir dokümantasyon değişiklik günlüğü girdisi. Tüm güncellemelerin dizini için bkz. [`reference/changelog`](/tr/reference/changelog). Protokolün kendi tarihsel zaman çizelgesi için bkz. [`introduction/history-and-milestones`](/tr/introduction/history-and-milestones).
</Info>

Bu sürüm, creator-fee toplama için izinsiz bir operasyonel yol ekler. Herhangi biri tarama işlemini tetiklemek için ödeme yapabilir, ancak program alıcı sahibini `PoolState.pool_creator` olarak sabitleştirir ve her iki hedefi de o oluşturucunun kanonik ilişkili token hesaplarına sabitleştirir. Mevcut creator tarafından imzalanan talimat değişmeden kalır.

Ayrıca, adanmış bir yetkilinin CPMM `Permission` PDA'larını oluşturmasını sağlar. Bu delegasyon kasıtlı olarak asimetrik: adanmış yetki `InitializeWithPermission` erişimi verebilir, ancak yalnızca program yöneticisi `ClosePermissionPda` ile bir izni iptal edebilir.

## Entegratörler için TL;DR

* **Yeni ek talimat: `CollectCreatorFeePermissionless`.** Herhangi bir imzalayan `payer` olabilir. Kaydedilen pool oluşturucusu imzalamaz.
* **Çağıran fonları yönlendiremez.** `creator`, `pool_state.pool_creator` ile eşit olmalıdır. `creator_token_0` ve `creator_token_1`, o oluşturucunun pool vault mintleri ve ilgili token programları için kanonik ATA'ları olmalıdır.
* **Ödeyici eksik ATA'ları karşılar.** Her iki alıcı hesabı `init_if_needed` kullanır; ödeyici, hesaplardan biri mevcut olmadığında kira fonlarını sağlar.
* **Toplama hep-ya-hiç işlemidir.** Talimat, her iki birikmiş creator-fee sayacını da aktarır, her ikisini de sıfırlar ve `recent_epoch` günceller. Her iki sayaç da sıfır olduğunda mevcut `NoFeeCollect` hatasını döndürür.
* **Mevcut entegrasyonlar uyumlu kalır.** `CollectCreatorFee` değiştirilmez veya kaldırılmaz. `PoolState`, `AmmConfig`, `Permission`, olay veya hata kodu düzeni değişikliği yoktur.
* **Permission oluşturmanın ikinci bir sahibi vardır.** `CreatePermissionPda`, program yöneticisini veya adanmış create-permission-PDA sahibini kabul eder. `ClosePermissionPda` yalnızca yönetici tarafından kalır.

## Yeni talimat hesapları

`CollectCreatorFeePermissionless` bu sırada 14 hesap alır:

| #     | Hesap                                | Kısıtlama veya rol                                             |
| ----- | ------------------------------------ | -------------------------------------------------------------- |
| 1     | `payer`                              | Yazılabilir imzalayan; eksik creator ATA'larını finanse eder.  |
| 2     | `creator`                            | `pool_state.pool_creator` ile eşit olmalıdır; imzalamaz.       |
| 3     | `authority`                          | CPMM global vault yetkilisi PDA.                               |
| 4     | `pool_state`                         | Yazılabilir; creator-fee sayaçlarını tutar.                    |
| 5–6   | `token_0_vault`, `token_1_vault`     | Yazılabilir; pool'da depolanan vault'larla eşleşmelidir.       |
| 7–8   | `vault_0_mint`, `vault_1_mint`       | İlgili vault mint'i ile eşleşmelidir.                          |
| 9–10  | `creator_token_0`, `creator_token_1` | Yazılabilir kanonik creator ATA'ları; gerekirse başlatılır.    |
| 11–12 | `token_0_program`, `token_1_program` | Her mint için SPL Token veya Token-2022.                       |
| 13    | `associated_token_program`           | Eksik creator ATA'sını oluşturur.                              |
| 14    | `system_program`                     | Ödeyici tarafından finanse edilen hesap oluşturmayı destekler. |

`CollectCreatorFee` aksine, yeni düzen ayrı `payer` ve imzalamayan `creator` hesaplarına sahiptir ve `amm_config` almaz. Bu nedenle kendi discriminator'ı ve builder'ı gerektirir.

## SDK ve IDL etkisi

Program-source dalı, taahhüt edilmiş bir SDK veya IDL güncellemesi içermez. Entegratörler, dağıtılan CPMM IDL'sini yenilemeli veya `CollectCreatorFeePermissionless` açıkça destekleyen bir istemci sürümünü kullanmalıdır. Dokümantasyonun sabitlenmiş `@raydium-io/raydium-sdk-v2@0.2.42-alpha` builder seti yalnızca orijinal creator tarafından imzalanan yolu kapsar.

## Güvenlik sınırı

İzinsiz çağırma, izinsiz saklama anlamına gelmez. Çağıran, ne zaman toplayacağını seçebilir ve eksik creator ATA'larını oluşturmak için SOL harcayabilir. Çağıran, yararlanıcıyı seçemez, keyfi token hesaplarını değiştiremez, kısmi bir miktar talep edemez veya pool'un creator-fee yapılandırmasını değiştiremez.

Yeni permission-PDA creator rolü, herhangi bir `permission_authority` için bir izin oluşturabilir ve yeni hesabın kirasını öder. Bu değişiklik altında bu PDA'yı kapatamaz. Bunu tam bir permission yöneticisi değil, devredilmiş bir izin verme yetkilisi olarak değerlendirin.

## Geçiş notları

* Mevcut `CollectCreatorFee` işlemlerini değişmeden tutun.
* İzinsiz talimatı yalnızca hedef CPMM dağıtımı ve istemci IDL'si bunu içerdikten sonra ekleyin.
* Otomasyon, sıfır olmayan `creator_fees_token_0` veya `creator_fees_token_1` olan pool'ları tarayabilir ve creator anahtarlarının velayeti olmadan toplamayı tetikleyebilir.
* Başka bir çağıran sayaçları ilk boşalttığında `NoFeeCollect` hatasını iyi huylu bir yarış olarak işleyin.
* Keyfi alıcı token hesaplarını geçmeyin; creator ATA'larını `pool_state.pool_creator`, her vault mint'i ve eşleşen token programından türetin.

## Güncellenen sayfalar

* `products/cpmm/overview` — creator-fee toplama güncellemesi ve hedef-güvenliği özeti.
* `products/cpmm/instructions` — yeni talimat özeti, tam hesap listesi, etkiler ve durum-değişim matrisi.
* `products/cpmm/accounts` — creator-fee sayacı toplama yolları ve devredilmiş Permission PDA oluşturma.
* `products/cpmm/fees` — izinsiz toplama mekaniği ve operasyonel akış.
* `products/cpmm/code-demos` — SDK kullanılabilirlik uyarısı ve istemci geçiş sınırı.
* `products/launchlab/platform-config` — kaydedilen CPMM oluşturucusunun başka bir ödeyici toplamayı tetiklese bile yararlanıcı olarak kalması açıklandı.
* `protocol-overview/shared-infrastructure` — yetki-gated ve hedef-kısıtlı toplama yolları.
* `security/admin-and-multisig` — devredilmiş izin verme yetkilisi ve izinsiz toplayıcı sınırları.
* `reference/program-addresses` — kanonik adanmış `CreatePermissionPda` sahibi adresleri.
* `reference/error-codes` — creator-fee toplamayı kapsayacak şekilde genişletilmiş `NoFeeCollect`.

**2026-08-13 tarihinde doğrulandı**:

* [`raydium-cp-swap` commit `244e124` — *Feat/permissionless collect creator fee (#76)*](https://github.com/raydium-io/raydium-cp-swap/commit/244e1241f3c8d90eb93f176dfbc35f2605ec5a5c), bu girdinin yazıldığı `feat/permissionless-collect-creator-fee` dalının birleştirilmesi. Dal birleştirmeden sonra silindi.
* Commit'ler [`9585ea1`](https://github.com/raydium-io/raydium-cp-swap/commit/9585ea1efeb27be7be7eab1ebc033449f9c793b4) ve [`d99d542`](https://github.com/raydium-io/raydium-cp-swap/commit/d99d5420c65b973af05d4efa009a2a9d060461f9), [`78f254e`](https://github.com/raydium-io/raydium-cp-swap/commit/78f254e1023751e706df7dc15c453fc3e046697c) adresindeki `master` ile karşılaştırıldı.

<Warning>
  Bu doğrulama kaynak dalını kapsar, mainnet-beta dağıtımını değil. Üretimde yeni yolu etkinleştirmeden önce dağıtılan programı ve yayınlanan IDL'yi onaylayın.
</Warning>
