Skip to main content
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 →
Stable AMM, kendi program kimliğine sahip bağımsız bir programdır. AMM v4 programının bir modu değildir ve AMM v4 “aracılığıyla” işlem görmez — ayrı olarak dağıtılır, yükseltilir ve çağrılır. Yalnızca işlem ücreti ve hesap düzeni kurallarında AMM v4’e benzer.
2026-06-22 yükseltmesi — ölü OpenBook (market) kodunun kaldırılması. Stable AMM çok zaman önce OpenBook’a emir göndermeyi durdurdu; sipariş defteri pazar yapıcılığı yolu yıllardır hareketsiz kalmıştır. Bu yükseltme, kalan pazar ile ilgili hesapları ve kodu siler — canlı işlem davranışını değiştirmez.Entegratörler için iki sonuç:
  1. Daha küçük hesap düzenleri. SwapBaseIn / SwapBaseOut (18 → 9), Deposit (14 → 12) ve Withdraw (21/22 → 12) ölü Serum/market hesaplarını kaldırır. Eski düzenler geriye dönük uyumluluk için hala ayrıştırılır. WithdrawPnl (16 → 10) uyumluluk yolu olmayan sabit bir kırılma değişikliğidir (yalnızca yönetici).
  2. Çoğu talimat kaldırılmıştır. Yalnızca SwapBaseIn, SwapBaseOut, Deposit, Withdraw ve WithdrawPnl çağrılabilir kalır. Diğer tüm talimatlar artık çağrılamaz.
Değişiklik günlüğü: reference/changelog.

Talimat envanteri

Çağrılabilir

Kaldırılan (artık çağrılamayan)

Bunlar 2026-06-22 yükseltmesinde kaldırılmış ve artık çağrılamaz. Bkz. Kaldırılan talimatlar.

Deposit

Likidite ekle, LP tokenleri al. Argümanlar
Hesaplar — yeni düzen, 12 hesap (yazılabilir W, imzalayan S) Uyumluluk: amm_open_orders (eski #3) ve serum_market (eski #9) kaldırılmıştır. 14 hesap geçirildiğinde, talimat eski 14 hesaplı düzenle ayrıştırılır; Serum hesapları yoksayılır. Matematik — oranı hesaplamak için arama tablosunu kullanan standart pro-rata. SDK, istenen LP miktarı için coin/pc çiftini hesaplar ve maksimum sınırlara karşı kontrol eder.

Withdraw

LP yak, her iki tarafı pro-rata al. Argümanlar
Hesaplar — yeni düzen, 12 hesap (yazılabilir W, imzalayan S) Uyumluluk: dokuz Serum hesabı (amm_open_orders, serum_program, serum_market, serum_coin_vault, serum_pc_vault, serum_vault_signer, serum_event_q, serum_bids, serum_asks) kaldırılmıştır. Eski 21- veya 22 hesaplı düzenler hala kabul edilir. Ancak, 22. isteğe bağlı referrer_pc_wallet hesabı için referral ücret mantığı kaldırılmıştır — hala geçirilebilir ancak artık etkili olmaz. Ön koşullar
  • user_source_lp en az amount tutar.
Son koşullar
  • amount LP tokenleri yakılır.
  • Kullanıcı, birikmiş ücretler için ayarlanmış mevcut pro-rata’ya göre coin ve pc miktarlarını alır.

SwapBaseIn

Fiyatlandırma için arama tablosunu kullanan tam giriş swapi. Argümanlar
Hesaplar — yeni düzen, 9 hesap (yazılabilir W, imzalayan S) Uyumluluk: dokuz OpenBook hesabı (amm_open_orders, serum_program, serum_market, serum_bids, serum_asks, serum_event_queue, serum_coin_vault, serum_pc_vault, serum_vault_signer) kaldırılmıştır. Geçirilen hesap sayısı 9 değilse, talimat eski 18 hesaplı düzenle ayrıştırılır; Serum hesapları hala konumlarını işgal etmelidir, ancak içerikleri artık doğrulanmaz veya kullanılmaz. Ön koşullar
  • amm.status swapi izin verir.
  • user_source_tokenamount_in tutar.
Son koşullar
  • Kullanıcı amount_in kaybeder, amount_out ≥ minimum_amount_out kazanır.
  • Havuz ücretleri need_take_pnl_* sayaçlarını artırır.
Matematikproducts/stable/math içinde açıklanan arama tablosu interpolasyonu.

SwapBaseOut

Tam çıkış swapi (SwapBaseIn’in tersi). Aynı 9 hesaplı düzen, farklı matematik yönü. Argümanlar

WithdrawPnl

Yalnızca yönetici. need_take_pnl_*’den birikmiş protokol ücretlerini belirlenen PnL hesaplarına topla.
Sabit kırılma değişikliği — uyumluluk yolu yok. Bu talimatın eski düzen için hiçbir ayrıştırması yoktur. Eski düzeni göndermek, hesap yanlış hizalanması nedeniyle InvalidTokenCoin gibi doğrulama hataları ile başarısız olur (eski #3 open_orders idi). WithdrawPnl’yi çağıran yönetici araçları yeni 10 hesaplı düzene güncellenmelidir.
Argümanlar — hiçbiri (durum odaklı). Hesaplar — yeni düzen, sabit 10 hesap, yalnızca yönetici (yazılabilir W, imzalayan S) Mantık değişikliği: havuzun mevcut fonları birikmiş PnL’yi çekmek için yetersiz olduğunda, havuz artık CancelAllOrdersState / Disabled durumuna konulmaz; talimat doğrudan TakePnlError döndürür. İsteğe bağlı referrer_pc_wallet da kaldırılmıştır. Ön koşullar
  • amm_admin yetkili olmalıdır.
Son koşullar
  • need_take_pnl_coin ve need_take_pnl_pc yöneticinin hesaplarına aktarılır.
  • Sayaçlar sıfırlanır.

Kaldırılan talimatlar

Aşağıdaki talimatlar 2026-06-22 yükseltmesinde kaldırılmış ve artık çağrılamaz. Entegratörler bunları geçmiş işlemlerde ve SDK’larda tanısınlar diye burada belgelenmiştir.
  • Initialize — eski zamanlarda yeni bir Stable AMM havuzunu önyükledi. Kaldırıldı.
  • PreInitialize — eski ön ayırma yardımcısı. Kaldırıldı.
  • InitModelData — eski zamanlarda ModelDataInfo arama tablosunu oluşturdu ve başlattı. Kaldırıldı.
  • UpdateModelData — eski zamanlarda çağrı başına 5 arama tablosu öğesine kadar doldurdu. Kaldırıldı.
  • MonitorStep — doldurmaları kapatan ve emir ızgarasını yeniden gönderen OpenBook cranki. Havuz OpenBook’a göndermeyi durdurduktan sonra zaten uzun süredir hareketsiz; şimdi kaldırıldı.
  • SetParams — yönetici parametre değişiklikleri (durum, ücretler, sahip, model-veri anahtarı, vb.). Kaldırıldı.
  • WithdrawSrm — erken Serum döneminden havuzlar için SRM ücret indirimi geri ödemelerini topladı. Kaldırıldı.
  • SimulateInfo — salt okunur fiyat teklifi yardımcısı. Kaldırıldı; fiyat teklifi için SDK’nın çevrimdışı kararlı eğri yardımcılarını kullanın (bkz. Kod örnekleri).

Sonraki adımlar

  • Hesaplar — hesap alanı düzenleri ve boyutları için.
  • Matematik — arama tablosu interpolasyon mantığı için.
  • Kod örnekleri — SDK’dan bunları nasıl çağıracağınızı görmek için.
Kaynaklar:
  • raydium-stable/program/src/instruction.rs (enum ve pack/unpack)
  • raydium-stable/program/src/processor.rs (yürütme mantığı)