Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Quelle der Wahrheit. Die Tabellen unten werden aus der error.rs jedes Programms in den öffentlichen Raydium-Repositories regeneriert. Wenn ein Programm aktualisiert wird und eine neue Variante hinzugefügt wird, führen Sie die Extraktion erneut aus (Link am Ende jeder Tabelle) und hängen Sie die Tabelle an, anstatt sie umzuordnen – Anchor-Fehlercodes werden nach Quellreihenfolge zugewiesen, nicht nach Name, daher bricht eine Umordnung die Fehlerbehandlung von Integratoren.

Wie Anchor-Fehlercodes funktionieren

Anchor weist jeder Variante eines Programm-ErrorCode-Enums einen numerischen Code ab 6000 zu. Eine fehlgeschlagene Transaktion zeigt:
  • Numerischer Fehlercode (z. B. 0x1771 = 6001) in den Transaktionsprotokollen.
  • Fehlername (z. B. InvalidOwner) aus der IDL.
  • #[msg(...)]-String, den Anchor in log_messages ausgegeben hat.
Integratoren sollten auf dem numerischen Code abgleichen, nicht auf der Nachrichtenzeichenkette (die Zeichenkette kann umformuliert werden, ohne eine Version zu erhöhen).

CPMM (Standard AMM) Fehler

Programm-ID: siehe reference/program-addresses. Quelle: raydium-cp-swap/programs/cp-swap/src/error.rs. Regenerierungsquelle: github.com/raydium-io/raydium-cp-swap — error.rs.

CLMM Fehler

Programm-ID: siehe reference/program-addresses. Quelle: raydium-clmm/programs/amm/src/error.rs.
Hinweis zur Neunummerierung. Das CLMM-ErrorCode-Enum wurde in dieser Version neu nummeriert: fünf Legacy-Varianten (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) und mehrere Tippfehler (Liquitity, enought, emissiones) wurden entfernt/behoben, und elf neue Varianten wurden angehängt. Da Anchor Fehler nach Quellreihenfolge nummeriert, hat sich jeder Code bei oder nach 6000 relativ zu Pre-Release-Builds verschoben. Clients, die numerische Codes gegen eine frühere Version hartcodiert haben, müssen neu zuordnen.
Regenerierungsquelle: github.com/raydium-io/raydium-clmm — error.rs.

AMM v4, Farm v3 / v5 / v6, LaunchLab Fehler

Diese Programme sind in ihren jeweiligen Kapiteln dokumentiert (siehe products/amm-v4/instructions, products/farm-staking/instructions, products/launchlab/instructions). Da diese Programme eine Mischung aus Anchor- und Plain-Solana-Fehleroberflächen verwenden, befinden sich ihre Fehlertabellen neben der Anweisungsreferenz statt hier. Die folgenden Codes sind von diesen Kapiteln reserviert: Die neuesten LaunchLab-Versionen behalten die Codes 60006021 unverändert. Die Version vom 2026-08-17 entfernte die früheren plattformglobalen Zugriffsfehler und wies 6022 dem Allow-Account-Validierungsfehler zu; die Version vom 2026-08-24 hängt 6023 an; die Version vom 2026-08-31 hängt 60246030 an: Die alten Varianten PlatformGlobalAccessDenied (6022) und InvalidPlatformGlobalAccess (6023) werden entfernt. Dekodieren Sie 6022 nicht mit der vorherigen IDL, und beachten Sie, dass 6023 – von der Version vom 2026-08-17 freigegeben – von der Version vom 2026-08-24 für einen unabhängigen Fehler wiederverwendet wird, daher darf es nicht mit einer IDL aus einer früheren Version dekodiert werden. 6020 wird absichtlich beibehalten. Anchor nummeriert Varianten nach Position, daher würde das Löschen jeden Code danach verschieben und jeden Client brechen, der 60216030 dekodiert.

Zuordnung von SDK-Fehlern zu Programmfehlern

Das offizielle TypeScript SDK umhüllt On-Chain-Fehler in SendTransactionError und für Anchor-Programme in AnchorError:
Wenn Sie Anchor nicht auf der Client-Seite verwenden, analysieren Sie die Transaktionsprotokolle:
Das Muster Error Number: (\d+) ist über Anchor-Versionen stabil und sicher zum Abgleichen.

Regenerieren dieser Tabellen

Wenn ein Programm aktualisiert wird und einen neuen Fehler hinzufügt, extrahieren Sie erneut aus der Quelle:
Aktualisieren Sie immer reference/changelog, wenn eine neue Variante hinzugefügt wird, damit Integratoren, die das SDK aktualisieren, ihre Fehlerbehandler aktualisieren. Quellen: