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ıdır; havuz tarafı hesap yapısı AMM v4’e benzer (AmmInfo, vault’lar, yetki), ve ayrıca arama tablosunu depolayan bir ModelDataInfo hesabına sahiptir. Bu sayfa her ikisini de kapsar.

Envanter

Saf AMM. Stable AMM tüm likiditeyi kendi vault’larında tutar ve OpenBook’a bağlı değildir. Yaşamının erken döneminde bir OpenBook pazar yapıcılığı yolu taşıdı, ancak bu yol yıllardır hareketsiz kalmıştır ve 2026-06-22 yükseltmesi kalan kodu kaldırmıştır. Aşağıdaki serum_* pazar hesapları ve amm_open_orders bu nedenle eski: geriye dönük uyumluluk için eski düzen işlemlerinde hala görünebilirler, ancak program bunları doğrulamaz veya okumaz ve yeni düzen talimatları bunları tamamen çıkarır.
Aktif envanter artık tamamen havuz tarafıdır:

AmmInfo

Kök durum hesabı. Düzen AMM v4’e neredeyse özdeştir — havuz parametreleri, ondalıklar, ücretler, vault/mint referansları — bir ekleme ile: arama tablosuna işaret eden bir model_data_key alanı.
Entegratör tarafından erişilen anahtar alanlar:
  • model_data_key — arama tablosunun adresi. Her talimata geçirilmelidir.
  • fees — AMM v4 ile özdeş yapı. Varsayılan olarak %0,25 işlem ücreti, %0,22 LP / %0,03 protokol bölünmesi.
  • coin_vault, pc_vault — havuzların vault’ları.
  • status — swap/deposit/withdraw/crank’ı kontrol eden bitmask.
  • out_put.need_take_pnl_*WithdrawPnl tarafından temizlenir.

ModelDataInfo

Arama tablosu. Fiyat/miktar noktalarının geniş bir seyrek dizisi.
Yaşam döngüsü: Bu tabloları oluşturan kurulum talimatları — InitModelData (hesabı oluşturdu) ve UpdateModelData (elemanları doldurdu, valid_data_count ayarladı) — 2026-06-22 yükseltmesinde kaldırıldı. Mevcut havuzlardaki tablolar artık sabitlenmiştir. Çalışma zamanında, kalan çağrılabilir talimatlar bunları hala tüketir:
  • Swap / deposit / withdraw, elements[0..valid_data_count] içinde ikili arama ve enterpolasyon yapan arama işlevlerini çağırır.

DataElement

Tablodaki atomik giriş. İkili aramanın çalışması için sıralanmış olmalıdır (x artan, y azalan, fiyat artan).
Tabloyu doldururken, yönetici bunları önceden ölçeklenmiş olarak belirtir. Program sıra sırasını zincir üzerinde doğrulamaz (hız için), bu nedenle yanlış sıralama yanlış tekliflere neden olur.

Yetki ve vault’lar

AMM v4 ile aynı:
  • amm_authority, ["amm authority"] tohumu ile türetilen tek bir programa geniş PDA’dır. Tüm havuz vault’larına sahiptir ve hareketlerini imzalar.
  • Vault’lar, sahibi amm_authority olan SPL Token hesaplarıdır, ATA değildir.
Token-2022 desteklenmez.

Durum bitmask’ı

AMM v4 ile özdeş. Swap/deposit/withdraw/crank’ın etkin olup olmadığını kontrol eder.

Ücret ve PnL izlemesi

out_put yapısı şunları izler:
  • need_take_pnl_coin, need_take_pnl_pc — tahakkuk eden ancak henüz temizlenmemiş protokol ücretleri. WithdrawPnl bunları çıkarır.
  • swap_coin_in_amount, swap_pc_in_amount, vb. — analitik sayaçları.
Havuz varlığı hesaplaması (ayrıştırmadan sonra). Artık OpenBook açık siparişleri olarak hiçbir fon emanet edilmediğinden, havuzun toplam varlıkları artık tamamen vault’lardan hesaplanır:
OpenOrders bakiyelerinden havuz değerini yeniden oluşturan indeksleyiciler ve alıntı kodu bu terimi bırakmalıdır.

Hesap boyutu

ModelDataInfo büyüktür (~1,2 MB, çünkü 50.000 eleman × eleman başına 24 bayt). Bu nedenle bir Stable havuzu oluşturmak açık kira ve hesap ön tahsisini gerektirir. Raydium SDK’sı ve araçları bunu şeffaf bir şekilde işler; entegratörler nadiren manuel olarak tahsis etmek zorunda kalırlar.

Hesapları sıfırdan türetme

AMM v4 gibi, Stable AMM tohumlanmış anahtarlar kullanır (saf PDA’lar değil). Kanonik havuz kimliği şu şekilde türetilir:
Vault’lar, LP mint’i, hedef siparişleri vb. için benzer şekilde. Uygulamada, önceden hesaplanmış adresleri getirmek için SDK veya API’yi kullanın.

Nerede ne okuyacağınız

Kaynaklar: