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

# CPMM talimatları

> CPMM programındaki her talimat, argümanları, hesap listesi, ön/son koşulları ve döndürebileceği hatalarla birlikte.

<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/cpmm/instructions)
</Info>

## Talimat özeti

| Discriminator adı          | İmza atan                             | Ne yapar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Initialize`               | havuz oluşturucu                      | İki mint ve bir `AmmConfig` adresinden yeni bir CPMM havuzu oluşturun. İzin gerektirmez; herkes çağırabilir. Yeni havuzda `enable_creator_fee = false` değeri sabitlenmiştir. `pool_state` hesabı, kanonik PDA veya yeni rastgele bir keypair olabilir (bkz. Initialize hesapları).                                                                                                                                                                                                                                                                                                                             |
| `InitializeWithPermission` | ödeme yapan + `Permission` PDA sahibi | `Initialize` işleminin izin gerektiren varyantı. Çağıran (`payer`), kendi açık anahtarından türetilmiş bir `Permission` PDA'ya sahip olmalıdır. Havuz oluşturmayı kapılı tutan platformlar tarafından kullanılır (örn. LaunchLab mezunları). Çağıran `creator_fee_on` değerini (`BothToken` / `OnlyToken0` / `OnlyToken1`) sabitleyebilir ve yeni havuzda `enable_creator_fee = true` değerini zorlar. `pool_state` üzerindeki `creator` alanı, ödeme yapanın değil, ayrıca iletilen `creator` hesabı olarak ayarlanır. `pool_state` için kanonik PDA veya rastgele keypair esnekliği `Initialize` ile aynıdır. |
| `Deposit`                  | LP                                    | Her iki token'de likidite ekleyin; LP token'leri alın.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Withdraw`                 | LP                                    | LP token'lerini yakın; her iki temel token'i oransal olarak alın.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `SwapBaseInput`            | swapper                               | Tam giriş swap'ı (`amount_in` içeri, ≥ `minimum_amount_out` dışarı).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `SwapBaseOutput`           | swapper                               | Tam çıkış swap'ı (≤ `maximum_amount_in` içeri, `amount_out` dışarı).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `CollectProtocolFee`       | `protocol_owner` (`AmmConfig`'dan)    | Biriken protokol ücretlerini kasalardan alın.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `CollectFundFee`           | `fund_owner` (`AmmConfig`'dan)        | Biriken fon ücretlerini kasalardan alın.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `CollectCreatorFee`        | `pool_creator`                        | Biriken yaratıcı ücretlerini alın (yaratıcı ücreti etkinse).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `UpdatePoolStatus`         | `admin`                               | Bir bitmask aracılığıyla havuzdaki belirli işlemleri duraklatın/sürdürün.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `UpdateAmmConfig`          | `admin`                               | Bir `AmmConfig` üzerindeki ücret oranlarını veya protokol/fon sahibini değiştirin.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `CreateAmmConfig`          | `admin`                               | Yeni bir ücret katmanı oluşturun (yeni `AmmConfig` hesabı).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `CreatePermissionPda`      | `admin`                               | Belirli bir otoritenin `InitializeWithPermission` çağırmasına izin veren bir `Permission` PDA'nı basın.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `ClosePermissionPda`       | `admin`                               | Daha önce yayınlanan bir `Permission` PDA'nı iptal edin.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

Durum bitmask'ı: her havuzun `status` değeri bir `u8` olup, bit 0 = deposit devre dışı, bit 1 = withdraw devre dışı, bit 2 = swap devre dışı (`PoolStatusBitIndex { Deposit, Withdraw, Swap }` programda). Temiz bir bit işlemin izin verildiği anlamına gelir; ayarlanmış bir bit duraklatıldığı anlamına gelir. `UpdatePoolStatus` ham bir `u8` alır ve mevcut değerin üzerine yazar.

Sonraki bölümler her birini ayrıntılı olarak incelemektedir. Hesap sıralaması CPMM IDL'sini izler; SDK ve `raydium-cp-swap/programs/cp-swap/src/instructions` içindeki Rust istemcisi bu sıraya uyar.

## `Initialize`

Yeni bir CPMM havuzu oluşturun.

**Argümanlar**

```
init_amount_0: u64
init_amount_1: u64
open_time:     u64   // Unix timestamp; bu tarihten önce swap'lar reddedilir
```

**Hesaplar** (W = yazılabilir, S = imzalayan)

| #  | Ad                         | W | S   | Notlar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| -- | -------------------------- | - | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1  | `creator`                  | W | S   | Kirayı öder; `pool_state.pool_creator` olarak kaydedilir.                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 2  | `amm_config`               |   |     | Seçilen ücret katmanı.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 3  | `authority`                |   |     | CPMM global otoritesi PDA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 4  | `pool_state`               | W | S\* | Burada `init` edilir. **Ya** kanonik PDA `["pool", amm_config, token_0_mint, token_1_mint]` **ya da** yeni rastgele bir keypair — kanonik PDA olmadığında, program `pool_state`'in imzalamasını gerektirir (`require_eq!(pool_account_info.is_signer, true)`). Rastgele keypair yolu, yaratıcının kanonik PDA üzerindeki ön işlem deneme girişimlerinden kaçınmasına olanak tanır. İndirilen PDA'lar (`lp_mint`, `vaults`, `observation_state`) her iki durumda da `pool_state.key()` adresinden türetilir. |
| 5  | `token_0_mint`             |   |     | Sıralanmış: `token_0_mint < token_1_mint`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 6  | `token_1_mint`             |   |     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 7  | `lp_mint`                  | W |     | Burada `init` edilir. Otoriteye `authority` olarak ayarlanır.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 8  | `creator_token_0`          | W |     | `init_amount_0` için kaynak ATA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 9  | `creator_token_1`          | W |     | `init_amount_1` için kaynak ATA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 10 | `creator_lp_token`         | W |     | LP için hedef (eksikse oluşturulur).                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 11 | `token_0_vault`            | W |     | Burada `init` edilir. `authority` tarafından sahiplenilir.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 12 | `token_1_vault`            | W |     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 13 | `create_pool_fee`          | W |     | Yaratıcı tarafından ödenen `create_pool_fee` için hedef ATA.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 14 | `observation_state`        | W |     | Burada `init` edilir.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 15 | `token_program`            |   |     | SPL Token (LP mint için).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 16 | `token_0_program`          |   |     | SPL Token veya Token-2022.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 17 | `token_1_program`          |   |     | SPL Token veya Token-2022.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 18 | `associated_token_program` |   |     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 19 | `system_program`           |   |     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 20 | `rent`                     |   |     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

`*` `pool_state` yalnızca rastgele keypair yolunda imza atar; kanonik PDA yolu `pool_state`'in imzalaması olmadan çalışır.

**Ön koşullar**

* Mint'ler sıralanmıştır (`token_0_mint < token_1_mint` byte sırasına göre).
* Hiçbir mint, CPMM izin listesi dışında bir uzantı kullanmaz (`TransferFeeConfig`, `MetadataPointer`, `TokenMetadata`, `InterestBearingConfig`, `ScaledUiAmount`) — bkz. [`products/cpmm/accounts`](/tr/products/cpmm/accounts#vaults-and-token-2022). Programın içindeki küçük mint başına izin listesi kâlıp geçişli ekleme için kontrol'ü atlar.
* `creator`'ün ilgili ATA'larda en az `init_amount_0` ve `init_amount_1` değeri vardır.
* `amm_config.disable_create_pool == false`.

**Son koşullar**

* `pool_state`, `lp_supply = sqrt(init_amount_0 * init_amount_1) − LOCKED_LP` ile var.
* `LOCKED_LP` (`100` lamport LP token) LP başlatıcısı kalıcı olarak havuzda kilitlenir — `pool_state.lp_supply` `liquidity − 100` kaydederken, havuzdan tamamen drenajını ve sıfıra bölmeyi önlemek için `100` LP birimi dolaşım dışında kalır.
* `observation_state` başlatılır; `observation_index = 0` ve `pool_id = pool_state.key()`.
* `create_pool_fee` lamportlar yaratıcıdan alıcıya aktarılır ve yerel SOL olarak senkronize edilir (bir wSOL ATA'sıdır).
* Havuzun durum bitmask'ı `0`'dır (deposit / withdraw / swap tümü etkindir).
* `enable_creator_fee = false` ve `creator_fee_on = BothToken`. `Initialize`, yaratıcı ücretini etkinleştirmeyi **desteklemez** — bu yol `InitializeWithPermission`'dır.
* `open_time`, çağıran `<= block_timestamp` değeri iletirse `block_timestamp + 1` değerine yükseltilir. Swap'lar `open_time` öncesinde reddedilir; depozitolar ve çekimler hemen çalışır.

**Yaygın hatalar** (tam liste [`reference/error-codes`](/tr/reference/error-codes)'da)

* `InvalidInput` — mint'ler sırasız veya özdeş.
* `NotSupportMint` — engellenen Token-2022 uzantısı.
* `ExceededSlippage` — nadiren; `init_amount_0/1` ondalık uyumsuzluğu nedeniyle sıfır LP ile sonuçlanırsa.

## `Deposit`

Havuza oransal olarak her iki token'de likidite ekleyin.

**Argümanlar**

```
lp_token_amount:   u64   // LP'ye basılacak kaç LP token'i
maximum_token_0:   u64
maximum_token_1:   u64
```

**Hesaplar**

| #  | Ad                   | W | S |
| -- | -------------------- | - | - |
| 1  | `owner`              |   | S |
| 2  | `authority`          |   |   |
| 3  | `pool_state`         | W |   |
| 4  | `owner_lp_token`     | W |   |
| 5  | `token_0_account`    | W |   |
| 6  | `token_1_account`    | W |   |
| 7  | `token_0_vault`      | W |   |
| 8  | `token_1_vault`      | W |   |
| 9  | `token_program`      |   |   |
| 10 | `token_program_2022` |   |   |
| 11 | `vault_0_mint`       |   |   |
| 12 | `vault_1_mint`       |   |   |
| 13 | `lp_mint`            | W |   |

**Matematik**

```
needed_token_0 = ceil(lp_token_amount * vault_0 / lp_supply)
needed_token_1 = ceil(lp_token_amount * vault_1 / lp_supply)
require(needed_token_0 <= maximum_token_0, "ExceededSlippage")
require(needed_token_1 <= maximum_token_1, "ExceededSlippage")
```

`k`'nin orantılılığında hiçbir değişiklik yok — hem kasalar hem de `lp_supply` aynı faktörle ölçeklenir.

**Son koşullar**

* `lp_supply += lp_token_amount`.
* `vault_0 += needed_token_0` (girişte Token-2022 aktarım ücretinin net değeri).
* `vault_1 += needed_token_1` (girişte Token-2022 aktarım ücretinin net değeri).

**Yaygın hatalar** — `ExceededSlippage`, `ZeroTradingTokens`, deposit duraklatılmışsa `InvalidStatus`.

## `Withdraw`

LP token'lerini yakın ve her iki temel token'i oransal olarak alın.

**Argümanlar**

```
lp_token_amount:   u64
minimum_token_0:   u64
minimum_token_1:   u64
```

**Hesaplar**

| #  | Ad                   | W | S |
| -- | -------------------- | - | - |
| 1  | `owner`              |   | S |
| 2  | `authority`          |   |   |
| 3  | `pool_state`         | W |   |
| 4  | `owner_lp_token`     | W |   |
| 5  | `token_0_account`    | W |   |
| 6  | `token_1_account`    | W |   |
| 7  | `token_0_vault`      | W |   |
| 8  | `token_1_vault`      | W |   |
| 9  | `token_program`      |   |   |
| 10 | `token_program_2022` |   |   |
| 11 | `vault_0_mint`       |   |   |
| 12 | `vault_1_mint`       |   |   |
| 13 | `lp_mint`            | W |   |

(`Deposit`'e eşit; `lp_mint` yazılabilir çünkü LP token'leri yakılmıştır.)

**Matematik**

```
out_token_0 = floor(lp_token_amount * vault_0 / lp_supply)
out_token_1 = floor(lp_token_amount * vault_1 / lp_supply)
require(out_token_0 >= minimum_token_0, "ExceededSlippage")
require(out_token_1 >= minimum_token_1, "ExceededSlippage")
```

**Son koşullar**

* `lp_supply -= lp_token_amount`.
* Kasalar `out_token_0` / `out_token_1` gönderir (brüt; kullanıcı herhangi bir Token-2022 aktarım ücretinin net değerini alır).

## `SwapBaseInput`

Tam giriş swap'ı.

**Argümanlar**

```
amount_in:            u64
minimum_amount_out:   u64
```

**Hesaplar**

| #  | Ad                     | W | S |
| -- | ---------------------- | - | - |
| 1  | `payer`                |   | S |
| 2  | `authority`            |   |   |
| 3  | `amm_config`           |   |   |
| 4  | `pool_state`           | W |   |
| 5  | `input_token_account`  | W |   |
| 6  | `output_token_account` | W |   |
| 7  | `input_vault`          | W |   |
| 8  | `output_vault`         | W |   |
| 9  | `input_token_program`  |   |   |
| 10 | `output_token_program` |   |   |
| 11 | `input_token_mint`     |   |   |
| 12 | `output_token_mint`    |   |   |
| 13 | `observation_state`    | W |   |

Sıralama **giriş → çıkış** havuzun kanonik `token_0 / token_1`'i tarafından değil, kullanıcının yönü tarafından belirlenmiştir. Program, mint'leri eşleştirerek hangi kasanın hangisi olduğunu anlayıp belirler.

**Matematik** — bkz. [`products/cpmm/math`](/tr/products/cpmm/math).

**Ön koşullar**

* `open_time <= now`.
* `pool_status` swap'a izin verir.
* Bu otorite için hiçbir mint duraklatılmış veya dondurulmuş değildir.
* `amount_in > 0`.

**Yaygın hatalar**

* `ExceededSlippage` — `amount_out < minimum_amount_out`.
* `ZeroTradingTokens` — işlem sıfıra yuvarlanır.
* `NotApproved` — havuz `UpdatePoolStatus` aracılığıyla swap'lar için duraklatılmıştır.
* `InvalidInput` — mint'ler havuzun kasa mint'lerinden birine uymuyor.

## `SwapBaseOutput`

Tam çıkış swap'ı.

**Argümanlar**

```
max_amount_in:  u64
amount_out:     u64
```

**Hesaplar** — `SwapBaseInput` ile aynı.

**Matematik** — tavan ile ters eğri, bkz. [`products/cpmm/math`](/tr/products/cpmm/math).

**Yaygın hatalar** — `ExceededSlippage` (`gross_in > max_amount_in`), `ZeroTradingTokens`, `InvalidInput`, `NotApproved`.

## `CollectProtocolFee`

Biriken protokol ücretlerini kasalardan protokol hedefine alın.

**Argümanlar** — hiçbiri.

**Hesaplar**

| #  | Ad                          | W | S |                                               |
| -- | --------------------------- | - | - | --------------------------------------------- |
| 1  | `owner`                     |   | S | `amm_config.protocol_owner` ile eşleşmelidir. |
| 2  | `authority`                 |   |   |                                               |
| 3  | `pool_state`                | W |   |                                               |
| 4  | `amm_config`                |   |   |                                               |
| 5  | `token_0_vault`             | W |   |                                               |
| 6  | `token_1_vault`             | W |   |                                               |
| 7  | `vault_0_mint`              |   |   |                                               |
| 8  | `vault_1_mint`              |   |   |                                               |
| 9  | `recipient_token_0_account` | W |   |                                               |
| 10 | `recipient_token_1_account` | W |   |                                               |
| 11 | `token_program`             |   |   |                                               |
| 12 | `token_program_2022`        |   |   |                                               |

**Etki**

```
transfer pool_state.protocol_fees_token0 from vault_0 to recipient_0
transfer pool_state.protocol_fees_token1 from vault_1 to recipient_1
pool_state.protocol_fees_token0 = 0
pool_state.protocol_fees_token1 = 0
```

Eğrinin etkin bakiyelerinde hiçbir değişiklik yok (biriken ücretler zaten dışlandı).

**Yaygın hata** — imzalayan `protocol_owner` değilse `NotApproved`.

## `CollectFundFee`

`CollectProtocolFee` ile aynı biçim ancak `fund_owner` tarafından imzalanır ve `fund_fees_*` sayaçlarını sıfırlar.

## `CollectCreatorFee`

Yine aynı biçim, `pool_state.pool_creator` tarafından imzalanır. Havuz sıfır olmayan yaratıcı-ücret oranı ile başlatıldıysa aktarımları gönderir.

## `UpdatePoolStatus`

Bir havuzdaki bireysel işlemleri duraklatın veya sürdürün. `status` alanı bir bitmask'tır:

| Bit | Bayrak              | Ayarlanmışken etki                           |
| --- | ------------------- | -------------------------------------------- |
| 0   | `DEPOSIT_DISABLED`  | `Deposit` `NotApproved` ile reddeder.        |
| 1   | `WITHDRAW_DISABLED` | `Withdraw` reddeder.                         |
| 2   | `SWAP_DISABLED`     | `SwapBaseInput` / `SwapBaseOutput` reddeder. |

**Argümanlar**

```
status: u8      // yeni bitmask
```

**Hesaplar**

| # | Ad           | W | S |                                                           |
| - | ------------ | - | - | --------------------------------------------------------- |
| 1 | `authority`  |   | S | CPMM programı üzerindeki admin anahtarı ile eşleşmelidir. |
| 2 | `pool_state` | W |   |                                                           |

Admin anahtarı CPMM programı üzerindeki yükseltme otoritesidir — uygulamada, Raydium multisig'i. Bkz. [`security/admin-and-multisig`](/tr/security/admin-and-multisig).

## `CreateAmmConfig`

Yeni bir ücret katmanı oluşturun.

**Argümanlar**

```
index:             u16
trade_fee_rate:    u64
protocol_fee_rate: u64
fund_fee_rate:     u64
create_pool_fee:   u64
```

**Hesaplar**

| # | Ad               | W | S |                       |
| - | ---------------- | - | - | --------------------- |
| 1 | `owner`          | W | S | Admin.                |
| 2 | `amm_config`     | W |   | Burada `init` edilir. |
| 3 | `system_program` |   |   |                       |

**Ön koşullar**

* Aynı `index` ile mevcut `AmmConfig` yok.
* `protocol_fee_rate + fund_fee_rate <= FEE_RATE_DENOMINATOR_VALUE`.

## `UpdateAmmConfig`

Mevcut bir `AmmConfig` üzerindeki ücret oranlarını veya sahipliği değiştirin. Bir `param: u8` (güncellenmesi gereken alan için discriminator) ve bir `value: u64` alır. Parametre başına değer anlamları kaynakta olup, yaygın olanlar:

* `param = 0` → `trade_fee_rate`
* `param = 1` → `protocol_fee_rate`
* `param = 2` → `fund_fee_rate`
* `param = 3` → `new_protocol_owner` (yeniden yorumlama olarak `Pubkey` baytlarını geçirin)
* `param = 4` → `new_fund_owner`
* `param = 5` → `create_pool_fee`
* `param = 6` → `disable_create_pool`

Değişiklikler admin tarafından imzalanır ve sonraki swap'ta bu `AmmConfig`'a bağlı **her havuzu etkiler**. Göçeyim yok; havuzlar yeni değerleri okur.

## Durum değişim matrisi

| Talimat                    | `lp_supply` | Kasa bakiyeleri                    | Biriken-ücret alanları                                        | `observation`       |
| -------------------------- | ----------- | ---------------------------------- | ------------------------------------------------------------- | ------------------- |
| `Initialize`               | + init LP   | + `init_amount_{0,1}`              | 0                                                             | init                |
| `InitializeWithPermission` | + init LP   | + `init_amount_{0,1}`              | 0                                                             | init                |
| `Deposit`                  | +           | + her ikisi                        | —                                                             | —                   |
| `Withdraw`                 | −           | − her ikisi                        | —                                                             | —                   |
| `SwapBaseInput`            | —           | + in, − out                        | + protokol/fon'a bölünen `trade_fee`; etkinse + `creator_fee` | + (aralık geçmişse) |
| `SwapBaseOutput`           | —           | + in, − out                        | + protokol/fon'a bölünen `trade_fee`; etkinse + `creator_fee` | + (aralık geçmişse) |
| `CollectProtocolFee`       | —           | − (protokol bucketları tarafından) | `protocol_*` → 0                                              | —                   |
| `CollectFundFee`           | —           | − (fon bucketları tarafından)      | `fund_*` → 0                                                  | —                   |
| `CollectCreatorFee`        | —           | − (yaratıcı bucketları tarafından) | `creator_*` → 0                                               | —                   |
| `UpdatePoolStatus`         | —           | —                                  | —                                                             | —                   |

## Sonra nereye

* [`products/cpmm/code-demos`](/tr/products/cpmm/code-demos) — yukarıdaki için çalıştırılabilir TypeScript örnekleri.
* [`reference/error-codes`](/tr/reference/error-codes) — tam Anchor hata tablosu.
* [`products/cpmm/fees`](/tr/products/cpmm/fees) — `CollectProtocolFee` / `CollectFundFee` / `CollectCreatorFee`'nin drene ettiği ücret-tahakkuk modeli.

Kaynaklar:

* [`raydium-io/raydium-cp-swap` — instructions](https://github.com/raydium-io/raydium-cp-swap/tree/master/programs/cp-swap/src/instructions)
* [Raydium SDK v2 — `@raydium-io/raydium-sdk-v2`](https://github.com/raydium-io/raydium-sdk-V2)
