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 belge, bu sayfaların proje go-live’dan itibaren güncellemelerinin kaydıdır — değişim günlüğü. Protokolün kendi tarihsel zaman çizelgesi için bkz. introduction/history-and-milestones. Her giriş burada bir tarih, etkilenen bölümlerin listesi, tetikleyici ve zincir üstü durum ile program kaynağının yazılı içeriğe karşı en son ne zaman çapraz kontrol edildiğini belirten doğrulanmış bir tarih içerir.

2026-05-18 — CLMM: limit orderlar, tek taraflı ücret, dinamik ücret

Sonraki CLMM sürümü üç pool düzeyinde yetenek ekler. Bunlar pool oluştururken isteğe bağlı ve mevcut poollar ile pozisyonlarla geriye dönük uyumludur.

Entegratörler için TL;DR

  • Limit orderlar artık birinci sınıf CLMM primitifleridir. LP’ler bunları destekleyen bir poola tek tick orderı açabilir; order swap tick’i geçtiğinde FIFO olarak doldurulur ve zincir dışı bir keeper (limit_order_admin) sahibinin çevrimiçi olmadan doldurulmuş çıkışı kapatabilir. Yedi yeni SDK metodu (openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, closeLimitOrder, closeAllLimitOrder, settleAllLimitOrder) ve /limit-order/ altında üç yeni Temp API uç noktası (aktif orderlar, kullanıcı başına geçmiş, PDA başına olay günlüğü) tam akışı kapsar.
  • Tek taraflı ücret (CollectFeeOn) bir poola swap ücretlerini giriş tarafından toplamasına izin verir (eski, mod 0), veya her zaman token_0’dan (mod 1), veya her zaman token_1’den (mod 2). Bir taraf çiftinin kanonik muhasebe tokeni olduğunda kullanışlıdır.
  • Dinamik ücret bir poola hızlı tick hareketi ile yükselen ve zaman içinde azalan bir volatilite takip aşırı ücreti almayı tercih etmesine izin verir, her katman başına DynamicFeeConfig ve her pool başına DynamicFeeInfo ile kalibre edilir. Yeni /main/clmm-dynamic-config uç noktası katman listesini gösterir.
  • Yeni bir talimattı, CreateCustomizablePool, üç kadranı da pool oluştururken ortaya koyar. Klasik CreatePool varsayılan ücret, limit-order’sız poollar için çalışmaya devam eder.
  • İndeksleyici breaking değişikliği: PoolState üzerindeki yön başına hacim sayaçları (swap_in_amount_token_{0,1}, swap_out_amount_token_{0,1}) ve yaşam 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 üzere padding’e alındı. PoolState alanlarını doğrudan okuyan indeksleyiciler zincir üstü Observation halkasına veya API’ye göç etmeleri gerekir.

Bu neden önemlidir (tüccarlar, LP’ler ve entegratörler için)

  • Tüccarlar uzun kuyruk ve olay odaklı çiftlerde daha sıkı fiyatlar alır: dinamik ücret poola oynaklık aşırı ücretlerini taker’dan absorbe etmesine izin verir ve LP’lerin aktif olarak aralıkları genişletmesine gerek kalmaz, limit-order merdivenleri belirli fiyatlarda zincir üstü likiditeyi derinleştirir ve geniş aralık sermayesine bağlı kalmaz.
  • LP’ler konsantre aralıklar ve tam aralık pozisyonlarının yanında üçüncü bir strateji alır: tam fiyat orderlarını parkla, fiyat ziyaret ettiğinde doldur, alıntı tokena kapat. Doldurulmuş kısım için aktif yeniden dengelemeye gerek yoktur.
  • Entegratörler dinamik ücretli poolları deterministik olarak modelleyebilir — algoritma ve parametreler tamamen zincir üstü, kalibre katmanları sorgulanabilir ve swap yolu şekilde değişmez (adım başına yalnızca ücret değişir).

Programda ne değişti

Yeni hesaplar

  • DynamicFeeConfig — katman başına kalibre kaydı (filtre dönemi, azalma dönemi, azaltma faktörü, dinamik ücret kontrolü, maksimum oynaklık biriktiricisi). CreateDynamicFeeConfig (admin) tarafından oluşturulur, dinamik ücret etkinleştirildiğinde CreateCustomizablePool tarafından referans edilir.
  • LimitOrderState — sipariş başına hesap (PDA tohumu: [owner, limit_order_nonce, order_nonce]) poolu, tick’i, tarafı, giriş miktarını, dolmamış oranı, FIFO kohortu fazını ve muhasebe anlık görüntülerini tutar. Yaşam döngüsü örtük (filled_amount vs total_amount, artı hesap varlığı): Open → Filled → Settled → Closed.
  • LimitOrderNonce — (sahibi, nonce_index) başına monoton artan sayaç limit-order PDA tohumlarını alır. nonce_index: u8 aynı sahibinin orderları 256 bağımsız nonce akışına bölmesine izin verir.
Bkz. Accounts → DynamicFeeConfig and DynamicFeeInfo ve Accounts → LimitOrderState.

PoolState yeniden şekillendirme

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 katlanmış
Yaşam 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 katlanmış
Tek taraflı ücretfee_on: u8 (0 = FromInput, 1 = Token0Only, 2 = Token1Only)
Dinamik ücretdynamic_fee_info: DynamicFeeInfo (gömülü)
Toplam hesap boyutu değişmezdir. İndeksleyiciler: hacim izlemesini PoolState’den Observation halkasına veya API’ye geçirin. Emekli sayaçlar mevcut poollarda sıfırlanmaz (son taşıdıkları verileri tutarlar), bu nedenle yükseltmeden sonra onları yeniden okumak eski verileri döndürür.

TickState eklemeleri (breaking değişiklik yoktur)

Dört yeni alan TickState’in sonunda, tail padding’inin bir kısmını değiştirerek eklenir:
  • order_phase: u64 — bu tick’deki limit-order kohorlarını ayırt eden sayaç.
  • orders_amount: u64 — bu tick’deki tüm açık orderlar tarafından taahhüt edilen toplam giriş (hepsi tamamen dolmamış değildir).
  • part_filled_orders_remaining: u64 — swaplar tarafından tüketilen kohortta dolmamış giriş.
  • unfilled_ratio_x64: u128 — her order’ın doldurma payını hesaplamak için kullanılan Q64.64 oranı.
Tick dizisi düzeni, boyutu ve PDA tohumları değişmezdir.

Yeni talimatlar

  • CreateDynamicFeeConfig (admin) — kalibre edilmiş DynamicFeeConfig katmanı oluştur. Yetki: CreateAmmConfig ile aynı hazine multisig.
  • UpdateDynamicFeeConfig (admin) — mevcut bir katmanın parametrelerini güncelle.
  • CreateCustomizablePoolcollect_fee_on, enable_dynamic_fee ve dynamic_fee_config’i ortaya koyan pool oluşturma giriş noktası. CreatePool ile bir arada var olur; yeni knobs gerektiren yeni bir pool için CreateCustomizablePool önerilir.
  • OpenLimitOrder — tek tick limit orderı aç. LimitOrderNonce çarpıtır, LimitOrderState ayırır, orderı tick’te FIFO kohortuna yerleştirir.
  • IncreaseLimitOrder / DecreaseLimitOrder — bir order’ın dolmamış kısmını ayarla. Tamamen doldurulmuş bir order’da InvalidOrderPhase ile geri döner.
  • SettleLimitOrder — doldurulmuş çıkışı sahibinin ATA’sına süpür. Çağrıyapan sahip veya poola ait limit_order_admin keeper’ı olabilir.
  • CloseLimitOrder — tamamen kapatılan bir orderı kapat kirasını geri talep etmek için.

SwapV2 davranış değişiklikleri

Swap yolu kendisi şekilde değişmezdir, ancak yol boyunca üç şey olur:
  1. Dinamik ücret (etkinleştirilirse): poola ait DynamicFeeInfo her adımda güncellenir (azalma → birikme → sınırlama) ve sonuçlanan aşırı ücret o adımın temel ücretinin üzerine eklenir.
  2. Limit-order eşleştirmesi (adım açık orderları olan başlatılmış bir tick’i geçerse): swap girdisinin bir kısmı FIFO tarafından tüketilir o tick’teki kohortunu doldurmak için, 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 token_0 veya token_1’den alınır, her zaman giriş tarafından yerine.
Bu üç katanın her biri legacy varsayılanlarıyla oluşturulan bir pool için no-op’dur. Bkz. Instructions → SwapV2 güncellenen durum değişikliği matrisi için.

Yeni hata kodları

Bu sürümde ErrorCode enum yeniden numaralandırıldı: beş legacy varyantı (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) kaldırıldı ve on bir yeni varyant eklendi. Anchor hatalar enum sırasından 6000’den itibaren numaralandırdığı için, kaldırılan pozisyonlarda veya sonrasındaki her hata kodu kaymıştır — sayısal kodları sabit kodlayan istemcilerin yeniden eşleştirmesi gerekir. Yeni kodlar:
  • 6040 OrderAlreadyFilled
  • 6041 InvalidOrderPhase
  • 6042 InvalidLimitOrderAmount
  • 6043 OrderPhaseSaturated
  • 6044 InvalidDynamicFeeConfigParams
  • 6045 InvalidFeeOn
  • 6046 ZeroSqrtPrice
  • 6047 ZeroLiquidity
  • 6048 MissingBaseFlag
  • 6049 MissingMintAccount
  • 6050 MissingTokenProgram2022
Tam diziler ve tüm CLMM hataları için kaymış sonra tablo Hata kodlarında.

SDK’da ne değişti (@raydium-io/raydium-sdk-v2)

  • raydium.clmm üzerinde yeni metodlar: createCustomizablePool, openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, settleAllLimitOrder, closeLimitOrder, closeAllLimitOrder.
  • raydium.api üzerinde yeni REST yardımcıları: getClmmDynamicConfigs, getClmmLimitOrderConfigs.
  • Yeni tipler: CollectFeeOn enum, DynamicFeeConfig, DynamicFeeInfo, LimitOrderState, LimitOrderConfig.
  • İç yeniden organize: utils/ libraries/’ye taşındı. Paket barrel değişmez; yalnızca @raydium-io/raydium-sdk-v2/utils/... altında derin ithalatlar …/libraries/... güncellenmesi gerekir.
Uçtan uca TypeScript walkthroughs’ları products/clmm/code-demos adresinde bulunur.

API’lerde ne değişti

  • 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-order konfigürasyonu.
  • temp-api-v1/limit-order/ altında üç yeni uç nokta:
    • GET /limit-order/order/list?wallet=… — cüzdan’ın şu anda park edilmiş orderları (açık ve kısmen doldurulmuş, indexer’ın Redis önbelleğinden sunulan; aynı payload totalAmount / filledAmount / pendingSettle aracılığıyla her iki aşamayı da kapsar).
    • GET /limit-order/history/order/list-by-user?wallet=… — cüzdan’ın geçmiş limit orderları. İsteğe bağlı filtreler: poolId, mint1, mint2, hideCancel. nextPageId / size (maksimum 100) aracılığıyla cursor-paginated.
    • GET /limit-order/history/event/list-by-pda?pda=… — PDA başına olay günlüğü (open / increase / decrease / settle / close) bir veya daha fazla virgülle ayrılmış limit-order PDA’ları için. nextPageId / size (maksimum 100) aracılığıyla cursor-paginated.
Beşi de API Reference sekmesinde belgelenmiştir.

Yetki yüzeyi

limit_order_admin zincir dışı bir operasyonel keeper’dır, multisig değildir. Yalnızca mevcut orderlar üzerinde SettleLimitOrder ve CloseLimitOrder’ı çağırabilir ve settle çıkışı her zaman sahibinin ATA’sına iner. Pool alanlarını mutate edemez, orderları açamaz veya değiştiremez, veya başka herhangi bir şey için imza ataması yapamazlar. Bkz. Admin tuşları ve multisig → CLMM.

Güncellenen sayfalar

  • products/clmm/overview — yeni “Yenilikler” bölümü ve güncellenen sonraki adım işaretçileri.
  • products/clmm/accounts — üç yeni hesap, PoolState yeniden şekillendirmesi göç uyarısıyla, TickState eklemeleri, yeni PDA yardımcıları.
  • products/clmm/instructions — yedi yeni talimattı, SwapV2 davranış addendum, güncellenen durum değişikliği matrisi.
  • products/clmm/fees — tek taraflı ücret bölümü, dinamik ücret bölümü parametre tablosuyla.
  • products/clmm/math — limit-order eşleştirmesi sözde kod, dinamik ücret türetmesi.
  • products/clmm/code-demoscreateCustomizablePool demo, tam limit-order walkthrough, yeni tuzaklar.
  • algorithms/clmm-math — çok-tick swap döngüsündeki limit-order eşleştirmesi ve dinamik ücrette çapraz referans.
  • sdk-api/typescript-sdk — CLMM modülü eklemeleri bölümü, utils/libraries/ göç notu.
  • api-reference/openapi/api-v3.yaml — yanıt şemalarıyla iki yeni uç nokta.
  • api-reference/openapi/temp-api-v1.yaml — üç yeni limit-order uç noktası (/limit-order/order/list, /limit-order/history/order/list-by-user, /limit-order/history/event/list-by-pda) istek ve yanıt şemalarıyla.
  • api-reference/api-v3/overview — yeni CLMM config uç noktalarında not.
  • api-reference/temp-api-v1/overview — yeni aktif orderlar, kullanıcı başına geçmiş ve PDA başına olay uç noktalarında not.
  • reference/error-codes — on bir yeni CLMM hata kodları (6040–6050) artı beş kaldırılan legacy kodlar; kaldırılan noktalardan sonraki sayısal kodlar kaymıştır.
  • security/admin-and-multisig — yeni DynamicFeeConfig admin satırı ve limit_order_admin keeper satırı, sınırlı yetki açıklamasıyla.
Doğrulanan:
  • 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ğrulanan:
  • Solana mainnet-beta’daki canlı program dağıtımları.
  • @raydium-io/raydium-sdk-v2@0.2.42-alpha.
  • Halka açık Raydium dokümanları ve zincir üstü referanslar Nisan 2026’ya kadar.
İleri doğru, her protokol yükseltmesi, denetimi veya doc revizyonu bu dosyada yeni bir giriş olarak iner.

Dokümantasyon kuralları

  • Versiyonlama: bu dokümantasyon takvim tabanlı versiyonlama (YYYY-MM-DD) kullanır. Her güncelleme dosyanın en üstüne yeni bir giriş oluşturur.
  • Doğrulanmış tarih: her giriş içeriğin zincir üstü / API durum ve program kaynağına karşı son ne zaman çapraz kontrol edildiğini kaydeder. Belirtilmemişse, girdinin ana tarihi varsayın.
  • Breaking değişiklikleri: etkilenen sayfalarda kutulu uyarı ve aşağıdaki girişte etiketlenen.
  • Kapsam: bu changelog kendisini belgelemez. Protokolün kendi tarihsel zaman çizelgesi introduction/history-and-milestones adresinde bulunur ve “X Raydium’da ne zaman oldu” için gerçek kaynağıdır.

Düzeltmeler

Bu dokümantasyonda bir hata bulursanız, lütfen dokümantasyon deposunda bir issue veya pull request açın. Düzeltmeler bu changelog’da kaydedilir.

İşaretçiler