Ana içeriğe atla

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.

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 →
Bu, dokümantasyonun değişiklik günlüğüdür — projenin yayına alınmasından itibaren bu sayfaların güncelleme kaydıdır. Protokolün kendi tarihsel zaman çizelgesi için bkz. introduction/history-and-milestones. Buradaki her giriş bir tarih, etkilenen bölümlerin listesi, tetikleyici ve yazılı içeriğin zincir üstü duruma ile program kaynağına karşı en son ne zaman çapraz kontrol edildiğini belirten bir doğrulama tarihi içerir.

Yayımlanmadı — CLMM: limit emirleri, tek taraflı ücret, dinamik ücret

Bir sonraki CLMM sürümü, pool düzeyinde üç yeni özellik ekler. Bunlar, pool oluşturma anında isteğe bağlı olarak etkinleştirilir ve mevcut pool’lar ile pozisyonlarla geriye dönük olarak uyumludur.

Entegratörler için özet

  • Limit emirleri artık birinci sınıf CLMM temel öğeleridir. LP’ler, bunları destekleyen bir pool’da tek tikli emir açabilir; emir, bir swap’ın tiki geçtiğinde FIFO sırasıyla gerçekleştirilir ve zincir dışı bir bekçi (limit_order_admin), sahibinin çevrimiçi olmasına gerek kalmadan gerçekleşmiş çıktıyı tahsil edebilir. Yedi yeni SDK yöntemi (openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, closeLimitOrder, closeAllLimitOrder, settleAllLimitOrder) ve /limit-order/ altında üç yeni Temp API uç noktası (aktif emirler, kullanıcı başına geçmiş, PDA başına olay günlüğü) tam akışı kapsar.
  • Tek taraflı ücret (CollectFeeOn), bir pool’un swap ücretlerini girdi tarafından (mevcut yöntem, mod 0), her zaman token_0’dan (mod 1) veya her zaman token_1’den (mod 2) toplamasına olanak tanır. Çiftin bir tarafının kanonik muhasebe token’ı olduğu durumlarda kullanışlıdır.
  • Dinamik ücret, bir pool’un hızlı tik hareketiyle yükselen ve zamanla azalan, her katman için DynamicFeeConfig ve her pool için DynamicFeeInfo ile kalibre edilen bir volatilite takip ek ücretine katılmasına olanak tanır. Yeni /main/clmm-dynamic-config uç noktası, katman listesini sunar.
  • Yeni bir talimat olan CreateCustomizablePool, pool oluşturma anında üç ayarı da ortaya çıkarır. Klasik CreatePool, varsayılan ücretli ve limit emirsiz pool’lar için çalışmaya devam eder.
  • İndeksleyici için kırıcı değişiklik: PoolState üzerindeki yön başına hacim sayaçları (swap_in_amount_token_{0,1}, swap_out_amount_token_{0,1}) ve ömür boyu ücret sayaçları (total_fees_token_{0,1}, total_fees_claimed_token_{0,1}), fee_on ve dynamic_fee_info için yer açmak amacıyla doldurma alanına taşındı. Bu alanları doğrudan okuyan indeksleyiciler, zincir üstü Observation halkasına veya API’ye geçiş yapmalıdır.

Bu neden önemlidir (trader’lar, LP’ler ve entegratörler için)

  • Trader’lar, uzun kuyruklu ve etkinliğe dayalı çiftlerde daha sıkı fiyat teklifleri alır: dinamik ücret, LP’lerin aralıkları aktif olarak genişletmesine gerek kalmadan pool’un volatilite ek ücretlerini alıcıdan absorbe etmesini sağlar; limit emir seviyeleri ise aralık genelinde sermaye taahhüt etmeden belirli fiyatlarda zincir üstü likiditeyi derinleştirir.
  • LP’ler, yoğunlaştırılmış aralıklar ve tam aralık pozisyonlarının yanında üçüncü bir strateji elde eder: tam fiyat emirleri parklamak, fiyat ziyaret ettiğinde gerçekleştirilmek ve quote token’a dönüştürmek. Gerçekleşen kısım için aktif yeniden dengeleme gerekmez.
  • Entegratörler, dinamik ücretli pool’ları deterministik olarak modelleyebilir — algoritma ve parametreler tamamen zincir üstündedir, kalibrasyon katmanları sorgulanabilir ve swap yolu şekil olarak değişmemiştir (yalnızca adım başına ücret değişir).

Programda yapılan değişiklikler

Yeni hesaplar

  • DynamicFeeConfig — katman başına kalibrasyon kaydı (filtre süresi, bozunma süresi, azaltma faktörü, dinamik ücret kontrolü, maksimum volatilite akümülatörü). CreateDynamicFeeConfig (yönetici) tarafından oluşturulur, dinamik ücret etkinleştirildiğinde CreateCustomizablePool tarafından referans alınır.
  • LimitOrderState — emir başına hesap (PDA tohumları: [owner, limit_order_nonce, order_nonce]); pool’u, tiki, tarafı, girdi miktarını, gerçekleşmemiş oranı, FIFO kohort fazını ve muhasebe anlık görüntülerini tutar. Yaşam döngüsü örtüktür (filled_amount ve total_amount karşılaştırması, artı hesap varlığı): Açık → Gerçekleşti → Tahsil Edildi → Kapatıldı.
  • LimitOrderNonce — limit emir PDA tohumlarını alan, (sahip, nonce_index) başına monoton artan sayaç. nonce_index: u8, aynı sahibin emirleri en fazla 256 bağımsız nonce akışına bölmesine olanak tanır.
Bkz. Hesaplar → DynamicFeeConfig ve DynamicFeeInfo ve Hesaplar → LimitOrderState.

PoolState yeniden yapılandırması

Alan grubuEski düzenYeni düzen
Yön başına hacim sayaçlarıswap_in_amount_token_0, swap_out_amount_token_0, swap_in_amount_token_1, swap_out_amount_token_1padding5: [u128; 4] içine dahil edildi
Ömür boyu ücret sayaçlarıtotal_fees_token_0, total_fees_claimed_token_0, total_fees_token_1, total_fees_claimed_token_1padding6: [u64; 4] içine dahil edildi
Tek taraflı ücretfee_on: u8 (0 = FromInput, 1 = Token0Only, 2 = Token1Only)
Dinamik ücretdynamic_fee_info: DynamicFeeInfo (gömülü)
Toplam hesap boyutu değişmemiştir. İndeksleyiciler: hacim takibini PoolState’ten Observation halkasına veya API’ye taşıyın. Kullanımdan kaldırılan sayaçlar, mevcut pool’larda sıfırlanmamaktadır (en son taşıdıkları değerleri tutmaktadır); bu nedenle yükseltme sonrasında bu sayaçları yeniden okumak eski verileri döndürecektir.

TickState eklemeleri (kırıcı değişiklik yok)

TickState’in sonuna dört yeni alan eklenmiş, bunlar kuyruk dolgusu alanlarının bir kısmının yerini almıştır:
  • order_phase: u64 — bu tikteki limit emir kohortlarını birbirinden ayıran sayaç.
  • orders_amount: u64 — bu tikteki tüm açık emirlerin taahhüt ettiği toplam girdi (bunların tamamının tamamen gerçekleşmemiş olması gerekmez).
  • part_filled_orders_remaining: u64 — swap’lar tarafından tüketilmekte olan kohortda hâlâ gerçekleşmemiş girdi.
  • unfilled_ratio_x64: u128 — her emrin dolum payını hesaplamak için kullanılan Q64.64 oranı.
Tick dizisi düzeni, boyutlandırması ve PDA tohumları değişmemiştir.

Yeni talimatlar

  • CreateDynamicFeeConfig (yönetici) — kalibre edilmiş bir DynamicFeeConfig katmanı oluşturur. Yetki: CreateAmmConfig ile aynı hazine çoklu imzası.
  • UpdateDynamicFeeConfig (yönetici) — mevcut bir katmanın parametrelerini günceller.
  • CreateCustomizablePoolcollect_fee_on, enable_dynamic_fee ve dynamic_fee_config’i ortaya çıkaran pool oluşturma giriş noktası. CreatePool ile birlikte var olur; yeni knob’lara ihtiyaç duyan herhangi bir yeni pool için CreateCustomizablePool önerilir.
  • OpenLimitOrder — tek tikli limit emir açar. LimitOrderNonce’u artırır, LimitOrderState tahsis eder ve emri tikteki FIFO kohortuna yerleştirir.
  • IncreaseLimitOrder / DecreaseLimitOrder — bir emrin gerçekleşmemiş kısmını ayarlar. Tamamen gerçekleşmiş bir emirde InvalidOrderPhase ile geri döner.
  • SettleLimitOrder — gerçekleşmiş çıktıyı sahibin ATA’sına aktarır. Çağıran, sahip veya pool’un limit_order_admin bekçisi olabilir.
  • CloseLimitOrder — kira geri kazanımı için tamamen tahsil edilmiş bir emri kapatır.

SwapV2 davranış değişiklikleri

Swap yolu şekil olarak değişmemiştir; ancak yol boyunca artık üç şey gerçekleşmektedir:
  1. Dinamik ücret (etkinleştirildiğinde): pool’un DynamicFeeInfo’su her adımda güncellenir (bozunma → birikim → sınırlama) ve ortaya çıkan ek ücret, o adım için temel ücretin üzerine eklenir.
  2. Limit emri eşleştirmesi (adım, açık emirleri olan başlatılmış bir tiki geçtiğinde): swap girdisinin bir kısmı o tikteki kohortu doldurmak için FIFO sırasıyla tüketilir ve unfilled_ratio_x64 atomik olarak güncellenir.
  3. Tek taraflı ücret yönlendirmesi (fee_on != 0 olduğunda): ücret, swap yönünden bağımsız olarak her zaman girdi tarafından değil, token_0 veya token_1’den alınır.
Bunların her biri, pool mevcut varsayılanlarla oluşturulduğunda işlem yapmaz. Güncellenmiş durum değişikliği matrisi için bkz. Talimatlar → SwapV2.

Yeni hata kodları

ErrorCode enum’u bu sürümde yeniden numaralandırıldı: beş eski varyant (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) kaldırıldı ve on bir yeni varyant eklendi. Anchor, hataları 6000’den enum sırası bazında numaralandırdığından, kaldırılan konumlarda ve sonrasındaki her hata kodu kaymıştır — sayısal kodları doğrudan kodlamış istemcilerin yeniden eşleştirmesi gerekir. Yeni kodlar şunlardır:
  • 6040 OrderAlreadyFilled
  • 6041 InvalidOrderPhase
  • 6042 InvalidLimitOrderAmount
  • 6043 OrderPhaseSaturated
  • 6044 InvalidDynamicFeeConfigParams
  • 6045 InvalidFeeOn
  • 6046 ZeroSqrtPrice
  • 6047 ZeroLiquidity
  • 6048 MissingBaseFlag
  • 6049 MissingMintAccount
  • 6050 MissingTokenProgram2022
Tüm CLMM hataları için tam dizeler ve kaydırma sonrası tablo Hata kodları sayfasındadır.

SDK’da yapılan değişiklikler (@raydium-io/raydium-sdk-v2)

  • raydium.clmm üzerinde yeni yöntemler: createCustomizablePool, openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, settleAllLimitOrder, closeLimitOrder, closeAllLimitOrder.
  • raydium.api üzerinde yeni REST yardımcıları: getClmmDynamicConfigs, getClmmLimitOrderConfigs.
  • Yeni türler: CollectFeeOn enum, DynamicFeeConfig, DynamicFeeInfo, LimitOrderState, LimitOrderConfig.
  • Dahili yeniden düzenleme: utils/, libraries/ olarak taşındı. Paket barrel’ı değişmemiştir; yalnızca @raydium-io/raydium-sdk-v2/utils/... altındaki derin içe aktarmaların …/libraries/... olarak güncellenmesi gerekir.
Uçtan uca TypeScript izlenceleri products/clmm/code-demos sayfasında bulunmaktadır.

API’lerde yapılan değişiklikler

  • api-v3/main/ altında iki yeni uç nokta:
    • GET /main/clmm-dynamic-configDynamicFeeConfig katmanlarının listesi.
    • GET /main/clmm-limit-order-config — pool başına limit emir yapılandırması.
  • temp-api-v1/limit-order/ altında üç yeni uç nokta:
    • GET /limit-order/order/list?wallet=… — bir cüzdanın şu an aktif emirleri (açık ve kısmen gerçekleşmiş; indeksleyicinin Redis önbelleğinden sunulur; aynı yük her iki aşamayı da totalAmount / filledAmount / pendingSettle aracılığıyla kapsar).
    • GET /limit-order/history/order/list-by-user?wallet=… — bir cüzdanın geçmiş limit emirleri. İsteğe bağlı filtreler: poolId, mint1, mint2, hideCancel. nextPageId / size (maks. 100) ile imleç tabanlı sayfalama.
    • GET /limit-order/history/event/list-by-pda?pda=… — bir veya daha fazla virgülle ayrılmış limit emir PDA’sı için PDA başına olay günlüğü (open / increase / decrease / settle / close). nextPageId / size (maks. 100) ile imleç tabanlı sayfalama.
Beşinin tamamı API Referansı sekmesinde belgelenmiştir.

Yetki kapsamı

limit_order_admin, zincir dışı operasyonel bir bekçidir; çoklu imza değildir. Yalnızca mevcut emirlerde SettleLimitOrder ve CloseLimitOrder’ı çağırabilir; tahsil işleminin çıktısı her zaman sahibin ATA’sına ulaşır. Pool alanlarını değiştiremez, emir açamaz veya değiştiremez, başka hiçbir şey için imza atamaz. Bkz. Yönetici anahtarları ve çoklu imza → CLMM.

Güncellenen sayfalar

  • products/clmm/overview — yeni “Yenilikler” bölümü ve güncellenmiş sonraki adım bağlantıları.
  • products/clmm/accounts — üç yeni hesap, geçiş uyarısıyla PoolState yeniden yapılandırması, TickState eklemeleri, yeni PDA yardımcıları.
  • products/clmm/instructions — yedi yeni talimat, SwapV2 davranış eki, güncellenmiş durum değişikliği matrisi.
  • products/clmm/fees — tek taraflı ücret bölümü, parametre tablosuyla dinamik ücret bölümü.
  • products/clmm/math — limit emri eşleştirme sözde kodu, dinamik ücret türetimi.
  • products/clmm/code-demoscreateCustomizablePool demosu, tam limit emri izlencesi, yeni tuzaklar.
  • algorithms/clmm-math — çok tikli swap döngüsünde limit emri eşleştirme ve dinamik ücrete çapraz referans.
  • sdk-api/typescript-sdk — CLMM modülü eklemeleri bölümü, utils/libraries/ geçiş notu.
  • api-reference/openapi/api-v3.yaml — yanıt şemalarıyla iki yeni uç nokta.
  • api-reference/openapi/temp-api-v1.yaml — istek ve yanıt şemalarıyla üç yeni limit emir uç noktası (/limit-order/order/list, /limit-order/history/order/list-by-user, /limit-order/history/event/list-by-pda).
  • api-reference/api-v3/overview — yeni CLMM yapılandırma uç noktaları notu.
  • api-reference/temp-api-v1/overview — yeni aktif emir, kullanıcıya göre geçmiş ve PDA’ya göre olay uç noktaları notu.
  • reference/error-codes — on bir yeni CLMM hata kodu (6040–6050) ve kaldırılan beş eski kod; kaldırma noktalarından sonraki sayısal kodlar kaymıştır.
  • security/admin-and-multisig — sınırlı yetki açıklamasıyla yeni DynamicFeeConfig yönetici satırı ve limit_order_admin bekçi satırı.
Doğrulandı:
  • raydium-clmm kaynağı.
  • @raydium-io/raydium-sdk-v2 kaynağı.
  • api-v3 ve temp-api-v1 kaynağı.

2026-04-26 — İlk yayın

Raydium dokümantasyon setinin ilk genel sürümü. Doğrulandı:
  • Solana mainnet-beta üzerindeki canlı program dağıtımları.
  • @raydium-io/raydium-sdk-v2@0.2.42-alpha.
  • Nisan 2026’ya kadar kamuya açık Raydium dokümanları ve zincir üstü referanslar.
Bundan böyle her protokol yükseltmesi, denetim veya dokümantasyon revizyonu bu dosyaya yeni bir giriş olarak eklenir.

Dokümantasyon kuralları

  • Sürümleme: Bu dokümantasyon takvim tabanlı sürümleme kullanır (YYYY-AA-GG). Her güncelleme, dosyanın başına yeni bir giriş ekler.
  • Doğrulama tarihi: Her giriş, içeriğin zincir üstü / API durumu ve program kaynağına karşı en son ne zaman çapraz kontrol edildiğini kaydeder. Belirtilmemişse, girişin ana tarihini esas alın.
  • Kırıcı değişiklikler: Etkilenen sayfalarda kutulu uyarıyla belirtilir ve aşağıdaki girişte etiketlenir.
  • Kapsam: Bu değişiklik günlüğü dokümantasyon setinin kendisini kapsar. Protokolün kendi tarihsel zaman çizelgesi introduction/history-and-milestones sayfasında yer alır ve “Raydium’da X ne zaman gerçekleşti” sorusu için doğru kaynaktır.

Düzeltmeler

Bu dokümantasyonda bir hata bulursanız lütfen dokümantasyon deposunda bir konu açın veya pull request gönderin. Düzeltmeler bu değişiklik günlüğüne kaydedilir.

Bağlantılar