Zum Hauptinhalt springen
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Stable AMM ist ein unabhängiges Programm (mit eigener Program ID — es wird nicht über das AMM v4-Programm gehandelt). Es hat schon lange keine Orders mehr auf OpenBook gepostet; der OpenBook-Marktmacher-Pfad ist seit Jahren inaktiv. Dieses Upgrade ist die Bereinigung: Es entfernt die nun-toten marktbezogenen Konten und Code aus den Instruction-Layouts. Es ändert nicht das aktuelle Trading-Verhalten — es gab keine OpenBook-Orders mehr zu stoppen.

TL;DR für Integratoren

  • Swap / Deposit / Withdraw funktionieren weiterhin ohne Änderungen. Transaktionen, die mit den alten Account-Layouts erstellt wurden, werden weiterhin ausgeführt — die entfernten Serum/Markt-Konten werden einfach ignoriert. Sie müssen keinen Client-Update ausliefern, um bestehende Flows am Laufen zu halten.
  • Sie sollten aber bald zu den neuen, kleineren Layouts migrieren. Die neuen Layouts entfernen die toten Markt-Konten und reduzieren die Transaktionsgröße: SwapBaseIn / SwapBaseOut gehen von 18 → 9 Konten, Deposit 14 → 12, Withdraw 21 (+1 optional) → 12. Der Kompatibilitätspfad wird in einer zukünftigen Version entfernt.
  • WithdrawPnl ist eine Breaking-Change (nur Admin). Es geht auf 16 (+1 optional) → 10 Konten mit keinem Kompatibilitäts-Parsing. Das Senden des alten Layouts schlägt mit Validierungsfehlern wie InvalidTokenCoin fehl, da die Konten nicht ausgerichtet sind (altes #3 war open_orders). Jedes Admin-Tool, das WithdrawPnl aufruft, muss aktualisiert werden.
  • Referral-Gebühr auf Withdraw und WithdrawPnl entfernt. Das optionale referrer_pc_wallet-Konto kann für Rückwärtskompatibilität auf dem alten Layout von Withdraw noch übergeben werden, hat aber keine Auswirkung mehr.
  • Pool-Asset-Buchhaltung vereinfacht. Gesamte Pool-Assets sind jetzt Vault-Guthaben − ausstehender PnL; der OpenBook-Open-Order-Term — in der Praxis bereits null — wird aus der Formel entfernt. Indexer und Quoting-Code, die noch einen OpenOrders-Term hinzugefügt haben, sollten ihn entfernen.
  • Die meisten Instructions sind jetzt entfernt. Nur SwapBaseIn, SwapBaseOut, Deposit, Withdraw und WithdrawPnl bleiben aufrufbar. Initialize, PreInitialize, InitModelData, UpdateModelData, MonitorStep, SetParams, WithdrawSrm und SimulateInfo sind nicht mehr aufrufbar.

Warum das wichtig ist (für Trader, LPs und Integratoren)

  • Trader sehen keine Änderung im Swap-Verhalten oder der Preisform — die Lookup-Table-Kurve ist unverändert. Neue-Layout-Swaps sind billiger zu landen, da die Transaktion neun weniger Konten trägt.
  • LPs behalten die gleiche Deposit/Withdraw-Ökonomie. Liquidität hat lange vollständig in den Pool-Vaults gesessen, daher ist der Pool-Wert vollständig im Pool; dieses Upgrade löscht nur die veraltete Markt-Infrastruktur.
  • Integratoren erhalten kleinere, einfachere Transaktionen und ein Quoting-Modell mit einem weniger (bereits vestigial) Term. Bestehende Integrationen brechen nicht (außer Admin WithdrawPnl), aber der Kompatibilitäts-Shim ist temporär — migrieren Sie in Ihrem Tempo, bevor er entfernt wird.

Instruction-Level-Änderungen

SwapBaseIn / SwapBaseOut — 18 → 9 Konten (altes Layout noch kompatibel)

Die neun OpenBook-Konten (amm_open_orders, serum_program, serum_market, serum_bids, serum_asks, serum_event_queue, serum_coin_vault, serum_pc_vault, serum_vault_signer) werden entfernt. Kompatibilität: Wenn die Instruction eine andere Anzahl von Konten als 9 erhält, wird sie mit dem alten 18-Konto-Layout geparst; die Serum-Konten müssen immer noch ihre Positionen einnehmen, aber ihr Inhalt wird nicht mehr validiert oder verwendet.

Deposit — 14 → 12 Konten (altes Layout noch kompatibel)

amm_open_orders (altes #3) und serum_market (altes #9) werden entfernt. Wenn 14 Konten übergeben werden, wird das alte Layout für Kompatibilität geparst.

Withdraw — 21 (+1 optional) → 12 Konten (altes Layout noch kompatibel)

Die neun Serum-Konten werden entfernt. Die alten 21- oder 22-Konto-Layouts werden noch akzeptiert, aber die Referral-Gebühren-Logik für das 22. optionale referrer_pc_wallet-Konto wurde entfernt — das Konto kann noch übergeben werden, hat aber keine Auswirkung mehr.

WithdrawPnl — 16 (+1 optional) → 10 Konten (⚠️ kein Kompatibilitätspfad, Breaking-Change)

Festes 10-Konto-Layout, nur für Admin. Es gibt kein Kompatibilitäts-Parsing für das alte Layout; das Senden schlägt mit Fehlern wie InvalidTokenCoin fehl, da die Konten nicht ausgerichtet sind. Logik-Änderung: Wenn die verfügbaren Mittel des Pools nicht ausreichen, um den aufgelaufenen PnL abzuheben, wird der Pool nicht mehr in CancelAllOrdersState / Disabled versetzt; die Instruction gibt stattdessen direkt TakePnlError zurück. Das optionale referrer_pc_wallet-Konto wurde ebenfalls entfernt.

Pool-Asset-Berechnungsänderung

Die Formel addierte historisch die Mittel, die der Pool als offene Orders in seinem OpenBook-OpenOrders-Konto hielt. Dieser Term ist in der Praxis null, seit der Pool keine Orders mehr postet; dieses Upgrade entfernt ihn vollständig aus der Formel und hinterlässt die Vault-Only-Berechnung:
Formel
AltVault-Guthaben + Open-Order-Mittel (native_coin_total / native_pc_total) − ausstehender PnL (need_take_pnl)
NeuVault-Guthaben − ausstehender PnL (need_take_pnl)

Aktualisierte Seiten

  • products/stable/overview — reines-AMM-Modell, OpenBook-Abhängigkeit entfernt, Vergleichs- und Konto-Zähltabellen aktualisiert.
  • products/stable/index — „Was es ist” und Schlüsselfakten-Tabelle beanspruchen keine OpenBook-Abhängigkeit mehr.
  • products/stable/accounts — OpenBook-Konten aus dem Inventar entfernt; AmmInfo Serum/Open-Orders-Felder als veraltet/ungenutzt markiert; Pool-Asset-Notiz hinzugefügt.
  • products/stable/instructions — neue Swap / Deposit / Withdraw / WithdrawPnl-Konto-Tabellen mit Kompatibilitäts-Hinweisen; alle anderen Instructions (Initialize, PreInitialize, InitModelData, UpdateModelData, MonitorStep, SetParams, WithdrawSrm, SimulateInfo) als entfernt / nicht mehr aufrufbar markiert.
  • products/stable/math — Pool-Asset-Formel-Update; MonitorStep / OpenBook-Abschnitt als lange in den Ruhestand versetzt umformuliert.
  • products/stable/fees — Abschnitt „PnL aus OpenBook” in den Ruhestand versetzt; Sammelfluss setzt OpenBook-Fills nicht mehr ab.
  • products/stable/code-demos — Konto-Zähl-Anleitung aktualisiert; SDK abstrahiert immer noch die Layout-Auswahl.
Verifiziert gegen:
  • raydium-stable Programm-Quelle (Post-Upgrade instruction.rs / processor.rs).
  • On-Chain Stable AMM-Programm-Deployment auf Solana mainnet-beta.