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 →
x·y=k) AMM olarak bırakır. Canlı ticaret davranışını değiştirmez — yerleştirilecek OpenBook siparişi kalmamıştır.
Entegratörler için TL;DR
- Swap / Deposit / Withdraw değişiklik olmadan çalışmaya devam eder. Eski hesap düzenleriyle oluşturulan işlemler yürütülür — kaldırılan Serum/pazar hesapları basitçe yoksayılır (doğrulama yok, CPI yok).
SwapBaseIn/SwapBaseOuthala 17 (+1 isteğe bağlı) hesap bekler;DepositveWithdrawdüzenleri değişmez. Mevcut akışları canlı tutmak için istemci güncellemesi göndermeniz gerekmez. - V2 swap giriş noktalarına geçin.
SwapBaseInV2/SwapBaseOutV2pazar hesapları veamm_open_orderstaşımaz (toplam 8 hesap), bu nedenle işlemler daha küçük ve daha ucuzdur. Yönlendiriciler/toplayıcılar V2 üzerinden yönlendirmelidir. WithdrawPnlkırıcı bir değişikliktir (yalnızca yönetici). 17 (+1 isteğe bağlı) → 10 hesaba gider ve uyumluluk ayrıştırması yoktur; eski düzen hizalanmaz (eski #5amm_open_ordersidi) ve doğrulama başarısız olur. Yönetici araçları güncellenmelidir.SetParamskırıcı bir değişikliktir (yalnızca yönetici). Hesaplar[amm, admin]olarak küçülür veparamnumaralandırması yeniden numaralandırılır (Fees9 → 2,SetOpenTime11 → 3);AmmOwner,LastOrderDistance,UpdateOpenOrderve ızgara parametreleri kaldırılır.- Birkaç talimat artık çağrılamaz.
Initialize,PreInitialize,MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfoveAdminCancelOrdersartık geri döner. Havuzlar oluşturmak içinInitialize2kullanın. - Zincir üstü hesap düzenleri bayt olarak kararlı ve hata kodları değişmez.
AmmInfo/StateDatadüzenlerini korur (eski OpenBook alanları korunur ancak kullanımdan kaldırılmış/dondurulmuş);AmmErrornumaralandırması korunur, yalnızca yeniNotAllowedeklenir.
Bunun neden önemli olduğu (tüccarlar, LP’ler ve entegratörler için)
- Tüccarlar swap davranışında veya fiyatlandırmada değişiklik görmez — sabit-çarpım eğrisi değişmez. V2 düzeni swapları, ~8 daha az hesap taşıdığı için iniş açısından daha ucuzdur.
- LP’ler aynı yatırma/çekme ekonomisini korur. Likidite uzun süredir tamamen havuz kasalarında oturmuştur, bu nedenle havuz değeri tamamen havuzda; bu yükseltme yalnızca eski pazar tesisatını siler.
- Entegratörler daha küçük, daha basit işlemler ve doğrudan kasalardan okuyan bir alıntı modeli alır. Mevcut entegrasyonlar kırılmaz (yönetici
WithdrawPnl/SetParamshariç), ancak v1-swap uyumluluk parçası geçicidir — uygun gördüğünüzde V2’ye geçin.
Talimat düzeyinde değişiklikler
Hala çağrılabilir, düzen değişmez (geriye dönük uyumlu)
Initialize2, Deposit, Withdraw, SwapBaseIn, SwapBaseOut, CreateConfigAccount ve UpdateConfigAccount mevcut hesap listelerini korur. SwapBaseIn / SwapBaseOut, Deposit ve Withdraw üzerinde OpenBook/pazar hesapları hala konumsal olarak kabul edilir ancak artık doğrulanmaz veya kullanılmaz — CPI verilmez ve havuz rezervleri yalnızca kasa olarak hesaplanır. Hesap sayısı hala eşleşmelidir, bu nedenle mevcut işlemler değişmeden yürütülür.
SwapBaseInV2 / SwapBaseOutV2 — önerilen yol
Pazar hesaplarını ve amm_open_orders’ı tamamen atlayın (8 hesap; etiketler 16 / 17). Alıntı matematiği v1 ile aynıdır. Yeni entegrasyonlar ve yönlendiriciler V2 kullanmalıdır.
WithdrawPnl — 17 (+1 isteğe bağlı) → 10 hesap (⚠️ kırıcı, uyumluluk yolu yok)
amm_open_orders ve altı pazar hesabının tümü kaldırılır. Yeni sabit 10 hesaplı, yalnızca yönetici düzeni hiçbir uyumluluk ayrıştırması içermez; eski düzen hizalanmaz ve InvalidCoinVault gibi hatalarla başarısız olur.
SetParams — [amm, admin] olarak azaltılmış (⚠️ kırıcı) + yeniden numaralandırılan parametreler
Yetki, açık siparişler, hedef siparişler, kasa ve tüm pazar hesapları kaldırılır. param numaralandırması yeniden numaralandırılır ve kırpılır:
| Parametre | Eski değer | Yeni değer |
|---|---|---|
Status | 0 | 0 |
State | 1 | 1 |
Fees | 9 | 2 |
SetOpenTime | 11 | 3 |
OrderNum, Depth, AmountWave, MinPriceMultiplier, MaxPriceMultiplier, MinSize, VolMaxCutRatio, InitOrderDepth, SetSwitchTime, ClearOpenTime, Seperate) artı AmmOwner, LastOrderDistance ve UpdateOpenOrder kaldırılır. SetParamsInstruction yapısı new_pubkey ve last_order_distance’ı bırakır.
Artık çağrılamaz (çalışma zamanında geri döner; oluşturucular kaldırılır)
| Talimat | etiket | Değiştirme |
|---|---|---|
Initialize | 0 | Initialize2 |
MonitorStep | 2 | hiçbiri (order-book krank, emekli) |
MigrateToOpenBook | 5 | hiçbiri |
WithdrawSrm | 8 | hiçbiri (SRM ücret indirimi, emekli) |
PreInitialize | 10 | Initialize2 |
SimulateInfo | 12 | zincir dışı / SDK alıntısı |
AdminCancelOrders | 13 | hiçbiri |
Rezerv / durum değişiklikleri
- Havuz varlığı formülü. Toplam havuz varlıkları artık
kasa bakiyeleri − beklemede olan PnL (need_take_pnl); OpenBook açık sipariş terimi — pratikte zaten sıfır — bırakılır. Alıntı kodu doğrudan kasa bakiyelerinden okuyabilir. - Kullanımdan kaldırılan durum alanları.
StateData.total_pnl_pc,total_pnl_coin,orderbook_to_init_time,swap_coin_in_amount,swap_pc_out_amount,swap_acc_pc_fee,swap_pc_in_amount,swap_coin_out_amountveswap_acc_coin_feedüzen uyumluluğu için korunur ancak artık güncellenmez.swap_*hacim sayaçlarına güvenen tüketiciler ticaret günlüklerine geçmelidir. AmmInfobaşlatma.coin_lot_size,pc_lot_sizevemin_sizeartık0olarak başlatılır.- Kaldırılan bağımlılık ve CPI’lar.
serum_dexsandığıCargo.toml’den bırakılır; tüm Serum DEX CPI’ları (invoke_dex_new_order_v3,invoke_dex_cancel_order_v2,invoke_dex_settle_funds,invoke_dex_init_open_orders, …)invokers.rs’den kaldırılır. Kaldırılan veri yapıları:LastOrderDistance,SimulateParams,RunCrankData,GetPoolData,GetSwapBaseInData,GetSwapBaseOutData.

