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

# LaunchLab hesapları

> PoolState (başlatma başına kök), temel ve fiyat tonozları, yetki PDA'sı ve başlatma başına hesapların küçük grafiği. Protokol düzeyindeki GlobalConfig ve platform düzeyindeki PlatformConfig kendi sayfalarında bulunmaktadır.

<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 →](/products/launchlab/accounts)
</Info>

<Info>
  Bu sayfa **başlatma başına** hesap grafiğini belgeler: `PoolState` (bir başlatma için kök durum hesabı), iki tonozunu, yetki PDA'sını ve başlatma kapatıldığında kazandığı mezuniyet sonrası referansları.

  Her başlatmayı sınırlayan protokol düzeyindeki yapılandırma için bkz. [`products/launchlab/global-config`](/tr/products/launchlab/global-config). Platform başına katmanlamalar için bkz. [`products/launchlab/platform-config`](/tr/products/launchlab/platform-config). Kiralama hesapları (`VestingSchedule` on `PoolState`, beneficier başına `VestingRecord`) için bkz. [`products/launchlab/vesting`](/tr/products/launchlab/vesting).
</Info>

## Hesap envanteri

| Hesap                                                         | Sahibi                 | Amaç                                                                                                                                        |
| ------------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| [`GlobalConfig`](/tr/products/launchlab/global-config)        | LaunchLab programı     | Protokol düzeyindeki kurallar: ücretler, arz tabanları, göç cüzdanları. `(curve_type, index)` başına bir.                                   |
| [`PlatformConfig`](/tr/products/launchlab/platform-config)    | LaunchLab programı     | Platform başına katmanlamalar: marka, platform ücreti, mezuniyet sırasında NFT bölünmesi, eğri şekli beyaz listesi.                         |
| `PoolState`                                                   | LaunchLab programı     | Başlatma başına kök durum: mint'ler, tonozlar, eğri parametreleri, satılan sayaçlar, ücret sayaçları, kiralama çizelgesi, mezuniyet durumu. |
| `authority`                                                   | LaunchLab programı     | `[b"vault_auth_seed"]` tohumunda türetilen tek PDA, tüm başlatmalar genelinde tonozlara sahiptir ve mezuniyet sonrası CPI'yi imzalar.       |
| `base_vault`                                                  | SPL Token / Token-2022 | Satılmamış temel token'ları tutan başlatma başına tonoz.                                                                                    |
| `quote_vault`                                                 | SPL Token              | Birikmiş fiyat token'larını tutan başlatma başına tonoz.                                                                                    |
| [`VestingRecord`](/tr/products/launchlab/vesting)             | LaunchLab programı     | Beneficier başına eşik + doğrusal kilidi açma kaydı. İsteğe bağlı.                                                                          |
| `creator_fee_vault`                                           | SPL Token              | Oluşturucu başına + fiyat mint'i başına `ClaimCreatorFee` tarafından atılan birikmiş oluşturucu ücretlerini tutan tonoz.                    |
| `platform_fee_vault`                                          | SPL Token              | Platform başına + fiyat mint'i başına `ClaimPlatformFeeFromVault` tarafından atılan birikmiş platform ücretlerini tutan tonoz.              |
| (mezuniyet sonrası) `cpmm_pool_state` *veya* `amm_pool_state` | CPMM / AMM v4 programı | `MigrateToCpswap` / `MigrateToAmm` tarafından oluşturulan havuz.                                                                            |
| (mezuniyet sonrası) Ücret Anahtarı NFT                        | LP-Lock programı       | Oluşturucunun CPMM mezuniyetindeki LP dilimini sardığı; sahibine CPMM havuzunda `ClaimCreatorFee` hakkı verir.                              |

SDK'nın `raydium.launchpad.getLaunchById`, `PoolState` artı başlatmanın mezun olup olmadığını gösteren bir bayrak döndürür; eğer mezun olduysa, göç sonrası havuz kimliği dahil edilir.

## `PoolState`

Başlatma başına kök durum. Aşağıdaki alan adları zincir üzerindeki Rust yapısıyla eşleşir (`states/pool.rs`); bazı değerler okunabilirlik için basitleştirilmiştir — tam bellek düzeni için kaynağı inceleyin.

```rust theme={null}
// states/pool.rs (kısaltılmış)
pub struct PoolState {
    pub epoch:                     u64,        // recent_epoch tracker
    pub auth_bump:                 u8,
    pub status:                    u8,         // PoolStatus enum
    pub base_decimals:             u8,
    pub quote_decimals:            u8,
    pub migrate_type:              u8,         // 0 = AMM v4, 1 = CPMM
    pub supply:                    u64,        // total base tokens (no decimals)
    pub total_base_sell:           u64,        // base supply allocated to the curve
    pub virtual_base:              u64,        // virtual-reserve seed
    pub virtual_quote:             u64,        // virtual-reserve seed
    pub real_base:                 u64,        // base sold so far
    pub real_quote:                u64,        // quote raised so far (excl. fees)
    pub total_quote_fund_raising:  u64,        // graduation threshold in quote

    pub quote_protocol_fee:        u64,        // accrued, pending CollectFee
    pub platform_fee:              u64,        // accrued, pending ClaimPlatformFee
    pub migrate_fee:               u64,        // accrued, pending CollectMigrateFee
    pub vesting_schedule:          VestingSchedule,

    pub global_config:             Pubkey,
    pub platform_config:           Pubkey,
    pub creator:                   Pubkey,
    pub base_mint:                 Pubkey,
    pub quote_mint:                Pubkey,
    pub base_vault:                Pubkey,
    pub quote_vault:               Pubkey,

    pub amm_creator_fee_on:        u8,         // 0 = QuoteToken, 1 = BothToken (CPMM-only)
    pub token_program_flag:        u8,         // bit flags for SPL Token vs Token-2022
    pub padding:                   [u8; 54],
}

#[derive(Default, Debug, Clone)]
pub struct VestingSchedule {
    pub total_locked_amount:    u64,
    pub cliff_period:           u64,
    pub unlock_period:          u64,
    pub start_time:             u64,           // set at graduation
    pub allocated_share_amount: u64,           // running sum across VestingRecords
}
```

`PoolStatus` değerleri (Anchor IDL'den):

```
0 = Funding         — satın alımları/satışları kabul eder; quote_reserve_target'ın altında
1 = Migrate         — quote_reserve_target'a ulaşıldı; MigrateTo* beklemede
2 = Migrated        — MigrateTo* zaten yürütüldü; kiralama saati çalışıyor
```

Entegratör yönelimleri alanlar:

* **`status`** — üç değer, monoton (Funding → Migrate → Migrated). Okumalar her zaman güvenlidir; yazımlar geçidi kontrol edilir.
* **`real_base`**, **`real_quote`** — geçerli eğri durumu. `virtual_base` / `virtual_quote` ile birlikte, tonozlara dokunmadan spot fiyatını hesaplamak için yeterlidir. Bkz. [`bonding-curve`](/tr/products/launchlab/bonding-curve).
* **`total_base_sell`** vs `real_base` — UI'lar için "mezuniyete doğru ilerleme" oranı.
* **`migrate_type`** — `MigrateToAmm` veya `MigrateToCpswap`'ın geçerli mezuniyet yolu olup olmadığını seçer. Token-2022 başlatmaları CPMM'ye mezun olmalıdır.
* **`amm_creator_fee_on`** — CPMM'ye mezun olurken anlamlıdır. Mezuniyet sonrası CPMM havuzunda `creator_fee_on = OnlyQuoteToken` (`0`) veya `BothToken` (`1`) seçer. *Ad rağmen, bu enum etkili bir şekilde göç hedefini de yönlendirir — `BothToken` mevcut operasyonel uygulamada `MigrateToAmm` ile eşleştirilir; `QuoteToken` `MigrateToCpswap` ile.* Bkz. [`creator-fees`](/tr/products/launchlab/creator-fees).
* **`quote_protocol_fee` / `platform_fee` / `migrate_fee`** — üç bağımsız ücret sayacı. Her birinin kendi talep talimatı vardır; bkz. [`instructions`](/tr/products/launchlab/instructions).
* **`vesting_schedule`** — her `PoolState` üzerinde mevcuttur ancak `total_locked_amount == 0` olduğunda etkindir. Tam yaşam döngüsü için bkz. [`vesting`](/tr/products/launchlab/vesting).

## Yetki PDA'sı

LaunchLab, tüm başlatmalar genelinde başına başlatma tohumunda olmayan **tek** bir yetki PDA'sı kullanır:

```ts theme={null}
const LAUNCHLAB_PROGRAM_ID = new PublicKey("<LAUNCHLAB_ID>"); // bkz. reference/program-addresses

const [authority, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
```

Bu tek PDA'dır:

* Her başlatmanın `base_vault` ve `quote_vault` üzerinde yetki.
* Her başlatmanın `base_mint` üzerinde `mint_authority` (mezuniyet öncesi).
* AMM v4 / CPMM'ye (`MigrateTo*`) göç sonrası CPI'yi imzalayan.
* `ClaimVestedToken` temel tonozdan aktarımlarının imzalayan.

`mint_authority`, `MigrateToAmm` / `MigrateToCpswap` sonrasında hemen iptal edilir, böylece arz kalıcı olarak sabitlenir.

İki ek PDA ücret tonozlarını kapıya koymaktadır:

```ts theme={null}
const [creatorFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("creator_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);

const [platformFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("platform_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
```

Bunlar, `ClaimCreatorFee` ve `ClaimPlatformFeeFromVault` sırasında ilgili ücret tonozundan aktarımı imzalar.

## Temel mint

`Initialize` ile satır içinde oluşturulmuş:

* `mint_authority = authority` (mezuniyette iptal edildi).
* `freeze_authority = None`.
* `supply = supply`, tamamen `base_vault` içine basılmış.
* `decimals` oluşturucu tarafından `Initialize` sırasında seçilmiş (yaygın olarak 6).

Tam arz önceden basıldığından, `base_mint.supply` başlatmanın ömrü boyunca sabittir. Eğri satın alımları token'ları `base_vault`'tan alıcıya taşır, ancak `mint_to`'yi çağırmaz.

`Initialize` / `InitializeV2` SPL Token başlatmalarını oluştur. Özel `InitializeWithToken2022` talimatı, temel mint'in bir Token-2022 mint'i (isteğe bağlı `TransferFeeConfig` ile) olmasını sağlar; fiyat mint'i hala SPL Token'dır. Token-2022 başlatmaları, AMM v4 yalnızca SPL Token tonozlarını desteklediğinden CPMM havuzuna mezun olmalıdır.

## Tonozlar

Hem `base_vault` hem de `quote_vault`, LaunchLab `authority` PDA'sına sahip olan standart SPL Token hesaplarıdır. Adresler `PoolState`'te depolanır ve türetilir:

```ts theme={null}
const [baseVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), baseMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
const [quoteVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), quoteMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
```

(Prodüksiyon türetmesine güvenmeden önce tam tohum ön eklerini `Initialize` hesapları yapısının kaynağından doğrulayın.)

## Ücret tonozları

İki PDA, başlatmalar genelinde ücretleri toplar:

* **Oluşturucu ücret tonozı** — `[creator, quote_mint]` tohumu PDA'sı. Aynı fiyat mint'i üzerinde aynı oluşturucu ücretlerini kazanan her başlatma aynı tonoza dökülür. Oluşturucu `ClaimCreatorFee` aracılığıyla temizler.
* **Platform ücret tonozı** — `[platform_config, quote_mint]` tohumu PDA'sı. Aynı platform yoluyla yönlendirilen ve aynı fiyat mint'ini kullanan her başlatma aynı tonoza dökülür. Platform'un `platform_fee_wallet`'i `ClaimPlatformFeeFromVault` aracılığıyla temizler. Başlatma başına `quote_vault`'tan doğrudan toplanan tonoza gitmeden çekin (`ClaimPlatformFee`) varyantı de vardır.

Toplanan tonoz kalıbı, yüksek hacimli bir oluşturucunun veya platform'unun birçok başlatma genelinde ücret birikiminin kira maliyetini amortize etmesini sağlar.

## Fiyat tonozı ↔ `real_quote`

`quote_vault.balance` ve `PoolState.real_quote` senkronizde kalmalıdır. Üç ödeme bekleyen ücret sayacının (`quote_protocol_fee`, `platform_fee`, `migrate_fee`) toplamı kadar sapabilir; bunlar tonozda yer alır ancak ücret sayaçlarına aittir ve eğri rezervine değil. Eğri matematiği her zaman `real_quote`'u kullanır, hiçbir zaman ham tonoz bakiyesini değil.

Mezuniyet öncesi değişmez:

```
quote_vault.balance ==
   real_quote
 + quote_protocol_fee
 + platform_fee
 + migrate_fee
```

## Yaşam döngüsü hesabı geçişleri

| Olay                                    | Durum                        | `real_base`   | `real_quote`            | Mezuniyet Sonrası Havuz                              |
| --------------------------------------- | ---------------------------- | ------------- | ----------------------- | ---------------------------------------------------- |
| `Initialize`                            | Funding                      | 0             | 0                       | —                                                    |
| `BuyExactIn` / `BuyExactOut`            | Funding                      | `+base_out`   | `+quote_in_after_fee`   | —                                                    |
| `SellExactIn` / `SellExactOut`          | Funding                      | `−base_in`    | `−quote_out_before_fee` | —                                                    |
| `MigrateToAmm` / `MigrateToCpswap`      | Funding → Migrate → Migrated | (dondurulmuş) | (dondurulmuş)           | oluşturulmuş, LP `PlatformConfig` başına bölünmüş    |
| `ClaimCreatorFee` / `ClaimPlatformFee*` | herhangi                     | —             | —                       | ücret tonozunu tahliye eder                          |
| `CreateVestingAccount`                  | Funding                      | —             | —                       | `vesting_schedule.allocated_share_amount`'ı arttırır |
| `ClaimVestedToken`                      | Migrated only                | —             | —                       | `base_vault`'ı tahliye eder                          |

## Sonra nereye gitmeli

* [`products/launchlab/bonding-curve`](/tr/products/launchlab/bonding-curve) — `real_base` ↔ `real_quote` arkasındaki matematik.
* [`products/launchlab/instructions`](/tr/products/launchlab/instructions) — talimat başına hesap listeleri.
* [`products/launchlab/global-config`](/tr/products/launchlab/global-config) — protokol düzeyindeki bağlanma.
* [`products/launchlab/platform-config`](/tr/products/launchlab/platform-config) — platform katmanlaması.
* [`products/launchlab/vesting`](/tr/products/launchlab/vesting) — kilitli arz mekanikleri.
* [`products/cpmm/accounts`](/tr/products/cpmm/accounts) — mezuniyet sonrası `cpmm_pool_state` nasıl görünüyor.

Kaynaklar:

* `raydium-launch/programs/launchpad/src/states/pool.rs` — `PoolState`, `PoolStatus`, `VestingSchedule`, `AmmCreatorFeeOn`.
* `raydium-launch/programs/launchpad/src/lib.rs` — PDA tohumu sabitleri (`AUTH_SEED`, `CREATOR_FEE_VAULT_AUTH_SEED`, `PLATFORM_FEE_VAULT_AUTH_SEED`).
* [Raydium SDK v2 `launchpad` modülü](https://github.com/raydium-io/raydium-sdk-V2).
