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.
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Stable AMM teilt die Pool-seitige Kontenstruktur von AMM v4 (AmmInfo, Vaults, Authority) und benötigt zusätzlich ein
ModelDataInfo-Konto, das die Nachschlagetabelle speichert. Diese Seite behandelt beide.Bestandsaufnahme
Ein Stable AMM Pool ist an genau einen OpenBook-Markt gebunden. Das vollständige Inventar ähnelt AMM v4 stark:| Kategorie | Konto | Owner | Rolle |
|---|---|---|---|
| Pool | AmmInfo | Stable-Programm | Pool-Status, Verweise auf Vaults, OpenBook und Model-Data-Konto. |
| Pool | amm_authority | Stable-Programm | Vom Programm verwalteter PDA, der Vault-Bewegungen signiert. Gemeinsam für alle Stable AMM Pools. |
| Pool | amm_open_orders | OpenBook | Das OpenBook-Konto OpenOrders des Pools. |
| Pool | amm_target_orders | Stable-Programm | Pool-seitiges Gitter für Limit-Orders. |
| Pool | pool_coin_token_account | SPL Token | Coin-seitiger Vault des Pools. |
| Pool | pool_pc_token_account | SPL Token | PC-seitiger Vault des Pools. |
| Pool | lp_mint | SPL Token | Fungible LP Mint. |
| Modell | model_data_account | Stable-Programm | Die Nachschlagetabelle: 50.000 × DataElement. |
| Markt | serum_market | OpenBook | OpenBook-Markt. |
| Markt | serum_bids, serum_asks | OpenBook | Geld-/Briefschlangen. |
| Markt | serum_event_queue | OpenBook | Event-Queue. |
| Markt | serum_coin_vault, serum_pc_vault | SPL Token | Vaults auf Marktebene von OpenBook. |
| Markt | serum_vault_signer | OpenBook | Vault-Signer auf Marktebene. |
AmmInfo
Root-Status-Konto. Das Layout ist fast identisch mit AMM v4 – Pool-Parameter, Dezimalen, Gebühren, Vault-/Mint-Verweise – mit einer Ergänzung: ein model_data_key-Feld, das auf die Nachschlagetabelle zeigt.
model_data_key— die Adresse der Nachschlagetabelle. Muss bei jeder Anweisung übergeben werden.fees— identische Struktur mit AMM v4. Standardmäßig 0,25% Handelsgebühr, 0,22% LP / 0,03% Protokoll-Aufteilung.coin_vault,pc_vault— die Vaults des Pools.status— Bitmask, das Swap/Deposit/Withdraw/Crank steuert.out_put.need_take_pnl_*— wird durchWithdrawPnlgeleert.
ModelDataInfo
Die Nachschlagetabelle. Ein großes, spärlich verteiltes Array von Preis-/Mengen-Punkten.
InitModelDataerstellt das Konto und setztstatus = Initialized,multiplier = <admin-provided>,valid_data_count = 0.UpdateModelData(wird bis zu 5-mal pro Transaktion aufgerufen) füllt Elemente durch:- Eingabe: Array von
(index: u64, DataElement)-Paaren. - Schreibt jeden in
elements[index]. - Erhöht
valid_data_count, fallsindex >= valid_data_count.
- Eingabe: Array von
- Swap/Deposit/Withdraw rufen Nachschlage-Funktionen auf, die innerhalb von
elements[0..valid_data_count]binär suchen und interpolieren.
DataElement
Der atomare Eintrag in der Tabelle. Muss sortiert sein (x aufsteigend, y absteigend, Preis aufsteigend), damit die binäre Suche funktioniert.
Authority und Vaults
Gleich wie AMM v4:amm_authorityist ein einzelner programm-weiter PDA, der mit dem Seed["amm authority"]abgeleitet wird. Er besitzt alle Pool-Vaults und signiert deren Bewegungen.- Vaults sind SPL Token-Konten, deren Owner
amm_authorityist, keine ATAs.
Status-Bitmask
Identisch mit AMM v4. Steuert, ob Swap/Deposit/Withdraw/Crank aktiviert sind.Gebühren- und PnL-Tracking
Gleich wie AMM v4. Dieout_put-Struktur verfolgt:
need_take_pnl_coin,need_take_pnl_pc— Protokollgebühren, die aufgelaufen sind, aber noch nicht geleert wurden.WithdrawPnlräumt diese.swap_coin_in_amount,swap_pc_in_amount, etc. — Analyse-Zähler.
Kontogröße
DasModelDataInfo ist groß (~1,2 MB, da 50.000 Elemente × 24 Bytes pro Element). Daher erfordert das Erstellen eines Stable Pools explizite Miete und Kontovorzuteilung. Das Raydium SDK und Tools handhaben dies transparent; Integratoren müssen selten manuell zuweisen.
Konten von Grund auf ableiten
Wie AMM v4 verwendet Stable AMM gesäte Schlüssel (keine reinen PDAs). Die kanonische Pool-Identität wird wie folgt abgeleitet:Was wo gelesen werden sollte
- Anweisungs-Kontenlisten:
products/stable/instructions. - Wie die Interpolation die Tabelle nutzt:
products/stable/math. - Gebührenstruktur und WithdrawPnl:
products/stable/fees. - OpenBook-Konten-Ableitung: OpenBook-Programmdokumentation.


