> ## 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-27 — LaunchLab: platform, mint oluşturma sırasında withdraw-withheld authority'yi tutar

> InitializeWithToken2022 artık PlatformConfig.transfer_fee_extension_auth'u launch authority PDA yerine yeni base mint'in withdraw_withheld_authority'sine yazıyor ve MigrateToCpswap bu authority'yi yalnızca PDA hâlâ tuttuğunda yeniden atıyor. Hesap düzeni, talimat veya hata değişikliği yok.

<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-27-launchlab-token2022-withheld-authority)
</Info>

<Info>
  Bu giriş, yaklaşan bir LaunchLab program güncellemesini kapsamaktadır. Dağıtımdan önce yerel release dalına karşı doğrulanmıştır. Ön-mezuniyet withheld-fee çekilişine güvenmeden önce dağıtılan programı doğrulayın.
</Info>

`InitializeWithToken2022` tarafından oluşturulan bir Token-2022 base mint, `TransferFeeConfig` taşıyabilir. Bu uzantının iki authority'si vardır: `transfer_fee_config_authority` (ücret oranını ve maksimum ücreti değiştirir) ve `withdraw_withheld_authority` (Token-2022'nin token hesaplarında tuttuğu ücretleri çeker).

Bu sürüme kadar program, mint oluşturma sırasında her ikisine de launch `authority` PDA'sını koymuş ve her ikisini de `PlatformConfig.transfer_fee_extension_auth`'a mezuniyet sırasında teslim etmiştir. Launchpad programının withdraw-withheld veya harvest talimatı olmadığından, bonding-curve fazının tamamı boyunca hiç kimse withheld bakiyeyi çekememiştir — bunu yapabilen tek anahtar, onunla imzalamak için talimatı olmayan bir PDA'ydı.

Bu sürüm, `transfer_fee_extension_auth`'u doğrudan mint oluşturma sırasında `withdraw_withheld_authority`'ye yazıyor, böylece platform ilk işlemden itibaren withheld ücretleri toplayabiliyor. `MigrateToCpswap` bir koruma kazanıyor, böylece bu authority'yi yalnızca PDA hâlâ tuttuğunda yeniden atıyor; bu, her iki nesil mint'ten mezuniyetin çalışmasını sağlıyor.

Başka hiçbir şey değişmedi. Hiçbir hesap büyümedi veya küçülmedi, hiçbir talimat hesap kazanmadı veya kaybetmedi, hiçbir argüman değişmedi ve hiçbir hata kodu hareket etmedi.

## Entegratörler için TL;DR

* **Withheld transfer ücretleri başlatma sırasında çekilebilir.** Platform'un `transfer_fee_extension_auth` ayarlanmış olduğu yeni bir Token-2022 başlatmasında, bu anahtar oluşturma sırasından itibaren mint'in `withdraw_withheld_authority`'sidir. Token-2022'nin kendi `WithdrawWithheldTokensFromAccounts` / `WithdrawWithheldTokensFromMint` komutlarını doğrudan çağırın; LaunchLab'ın bunun için talimatı yoktur ve hiçbir zaman olmamıştır.
* **`transfer_fee_config_authority` zamanlaması değişmedi.** Mezuniyete kadar hâlâ launch `authority` PDA'sıdır ve `MigrateToCpswap`'ta hâlâ `transfer_fee_extension_auth`'a taşınır. Ücret oranı başlatma ortasında değiştirilemez.
* **`transfer_fee_extension_auth`'u başlatmadan önce ayarlayın.** Mint oluşturma sırasında `Pubkey::default()` olduğunda, withdraw authority `authority` PDA'sına geri döner — eski davranış. Alanı daha sonra ayarlamak, mezuniyet sırasında authority'yi hâlâ kurtarır, ancak withheld bakiye o zamana kadar mahsur kalır.
* **Alanı başlatma ortasında döndürmeyin.** İki authority iki farklı anda okunur, bu nedenle aralarında değişen bir değer onları farklı anahtarlara bırakır. Ayrıntılar için [Döndürme iki authority'yi böler](#rotation-splits-the-two-authorities) bölümüne bakın.
* **`MigrateToCpswap` arayanlar için değişmedi.** Aynı hesaplar, aynı argümanlar, aynı hatalar. Yeni koruma dahili; olmadan, yeni nesil mint'in göçü Token-2022 içinde geri dönerdi çünkü PDA artık tutmadığı bir authority'yi imzalayamaz.
* **Mevcut başlatmalar etkilenmez.** Zaten zincirde olan mint'ler PDA'yı her iki authority'de tutar ve mezuniyet sırasında her ikisi de teslim edilir.
* **IDL yenilemesi gerekli değildir.** Hiçbir düzen, hesap, argüman veya hata kodu değişmedi.

## Kim neyi tutar ve ne zaman

| Authority                       | Mint oluşturma sırasında tutucu                                                         | `MigrateToCpswap` sonrasında tutucu                                                      |
| ------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `withdraw_withheld_authority`   | `transfer_fee_extension_auth`; bu alan `Pubkey::default()` olduğunda `authority` PDA'sı | Zaten platform anahtarı olduğunda değişmez. Yalnızca PDA hâlâ tuttuğunda yeniden atanır. |
| `transfer_fee_config_authority` | `authority` PDA'sı, her zaman                                                           | `transfer_fee_extension_auth`, bu alan varsayılan olmadığında                            |

Her iki teslim de hâlâ her zaman arkasında aynı dış koşulun arkasında oturur: base mint `TransferFeeConfig` taşımalı **ve** `transfer_fee_extension_auth` varsayılan olmayan olmalıdır. Alanı hiçbir zaman ayarlamayan bir platform, her iki authority'yi `authority` PDA'sında sonsuza kadar tutar — ücret oranı hiçbir zaman değiştirilemez ve withheld bakiye hiçbir zaman çekilemez.

## Döndürme iki authority'yi böler

`transfer_fee_extension_auth` başlatma başına iki kez, birbirinden günler uzak olabilecek iki anda okunur:

1. `InitializeWithToken2022`'de, `withdraw_withheld_authority` için.
2. `MigrateToCpswap`'ta, `transfer_fee_config_authority` için — ve `withdraw_withheld_authority` için yalnızca PDA hâlâ tuttuğunda.

Alanı aralarında `UpdatePlatformConfig` aracılığıyla döndürün ve iki authority farklı anahtarlara iner: withdraw tarafı oluşturma sırasında yapılandırılan anahtarı tutar, çünkü PDA artık tutmaz ve göç bu teslimi atlar, fee-config tarafı yeni anahtara gider. Her iki çağrı da başarısız olmaz; bölünme sessizdir. Başlatmalar arasında döndürün veya anahtarları daha sonra Token-2022 aracılığıyla doğrudan eski anahtar imzalayarak uzlaştırın.

## Koruma neden gerekli, sadece savunmacı değil

Token-2022'nin `SetAuthority` *mevcut* authority'nin imzalamasını gerektirir. Yeni oluşturma kuralı altında launch `authority` PDA'sı yeni bir mint'te withdraw-withheld authority değildir, bu nedenle programın yapması gereken koşulsuz CPI başarısız olur — ve `MigrateToCpswap` içinde oturduğu için, bu başarısızlık, alanı yapılandırmış bir platformda transfer ücreti olan her Token-2022 başlatması için mezuniyeti engellemiş olurdu. İki değişiklik yalnızca bir çift olarak çalışır.

## Değişmeyen şeyler

* **Transfer-fee matematik ve muhasebesi.** `MAX_TRANSFER_FEE_RATE` hâlâ `500` (5%, payda `10_000`), ücret hâlâ eğriye aynı şekilde fiyatlandırılır ve withheld bakiye hâlâ Token-2022'nin koyduğu token hesaplarında birikir.
* **`MigrateToCpswap`'ın arayüzü.** Aynı hesap listesi, aynı `remaining_accounts` indeksleri, aynı iki token programı, argüman yok.
* **`InitializeWithToken2022`'nin arayüzü.** Aynı hesaplar, aynı `TransferFeeExtensionParams`, `MetadataPointer` ve `TransferFeeConfig` dışında herhangi bir şey için aynı `NoSupportExtension` reddi.
* **Quote-side Token-2022 işleme.** [2026-08-24](/tr/reference/changelog/2026-08-24-launchlab-token2022-quote-mint)'ten değişmedi.
* **Hata kodları.** `6000`–`6023` değişmedi; bu sürüm hiçbiri eklemez.
* **Hesap düzenleri ve IDL.** Değişmedi. `PlatformConfig.transfer_fee_extension_auth` ofsetini ve türünü tutar; yalnızca programın onu okuması değişti.

## Güncellenen sayfalar

* `products/launchlab/platform-config` — her iki authority'yi, her iki teslim noktasını ve döndürme tuzağını kapsayan yeni "Token-2022 transfer-fee authorities" bölümü; düzen yorumu ve tehlikeler listesi düzeltildi.
* `products/launchlab/instructions` — `MigrateToCpswap` bir "Token-2022 transfer-fee authority handover" bloğu kazanıyor; `Initialize` postconditions yeni mint-creation authorities'i kaydediyor.
* `products/launchlab/accounts` — authority-PDA rol listesi ve base-mint bölümü PDA'nın hangi transfer-fee authorities'i tuttuğunu not ediyor.
* `reference/token-2022-support` — LaunchLab base-mint girişi transfer-fee authorities'i kimin tuttuğunu ve ne zaman tuttuğunu belirtiyor.
