Skip to main content
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Sumber kebenaran. Tabel di bawah ini dihasilkan ulang dari error.rs setiap program dalam repositori publik Raydium. Ketika program diperbarui dan varian baru ditambahkan, jalankan kembali ekstraksi (tautan di bagian bawah setiap tabel) dan tambahkan ke tabel daripada mengatur ulang — kode kesalahan Anchor ditugaskan berdasarkan urutan sumber, bukan nama, jadi mengatur ulang akan merusak penanganan kesalahan integrator.

Cara kerja kode kesalahan Anchor

Anchor menugaskan setiap varian enum ErrorCode program dengan kode numerik mulai dari 6000. Transaksi yang gagal menampilkan:
  • Kode kesalahan numerik (misalnya 0x1771 = 6001) dalam log transaksi.
  • Nama kesalahan (misalnya InvalidOwner) dari IDL.
  • String #[msg(...)] yang dipancarkan Anchor dalam log_messages.
Integrator harus mencocokkan kode numerik, bukan string pesan (string dapat diubah kata-katanya tanpa menaikkan versi).

Kesalahan CPMM (Standard AMM)

ID Program: lihat reference/program-addresses. Sumber: raydium-cp-swap/programs/cp-swap/src/error.rs. Sumber regenerasi: github.com/raydium-io/raydium-cp-swap — error.rs.

Kesalahan CLMM

Program ID: lihat reference/program-addresses. Sumber: raydium-clmm/programs/amm/src/error.rs.
Catatan tentang penomoran ulang. Enum ErrorCode CLMM dinomori ulang dalam rilis ini: lima varian warisan (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) dan beberapa typo (Liquitity, enought, emissiones) dihapus/diperbaiki, dan sebelas varian baru ditambahkan (6040–6050) oleh rilis limit-order; 6051 (InvalidTickArrayBitmapExtensionAccount) berasal dari perubahan terpisah yang lebih baru. Itu membuat 52 varian, 6000–6051, yang merupakan jumlah yang dilaporkan IDL on-chain program yang saat ini digunakan. Upgrade 2026-09-30 menambahkan 6052 tanpa menggeser apa pun, untuk 53 total. Karena Anchor menomori kesalahan berdasarkan urutan sumber, setiap kode pada atau setelah 6000 telah bergeser relatif terhadap build pra-rilis. Klien yang hard-coded kode numerik terhadap versi sebelumnya perlu memetakan ulang.
Sumber regenerasi: github.com/raydium-io/raydium-clmm — error.rs.

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

Program-program ini didokumentasikan di bab masing-masing (lihat products/amm-v4/instructions, products/farm-staking/instructions, products/launchlab/instructions). Karena program-program tersebut menggunakan campuran permukaan error Anchor dan Solana biasa, tabel error mereka berada di sebelah referensi instruksi daripada di sini. Kode-kode di bawah ini dicadangkan oleh bab-bab tersebut: Rilis LaunchLab terbaru mempertahankan kode 6000–6021 tanpa perubahan. Rilis 2026-08-17 menghapus error akses global platform sebelumnya dan menetapkan 6022 untuk error validasi allow-account; rilis 2026-08-24 menambahkan 6023; rilis 2026-08-31 menambahkan 6024–6030; rilis 2026-09-09 menambahkan 6031: Varian PlatformGlobalAccessDenied (6022) dan InvalidPlatformGlobalAccess (6023) yang lama dihapus. Jangan dekode 6022 menggunakan IDL sebelumnya, dan perhatikan bahwa 6023 — dikosongkan oleh rilis 2026-08-17 — digunakan kembali oleh rilis 2026-08-24 untuk error yang tidak terkait, sehingga tidak boleh didekode dengan IDL dari versi mana pun yang lebih awal. 6020 dipertahankan dengan sengaja. Anchor menomori varian berdasarkan posisi, jadi menghapusnya akan menggeser setiap kode setelahnya dan merusak setiap klien yang mendekode 6021–6031.

AMM v4: AmmError bukan Anchor-numbered

AMM v4 mendahului Anchor. AmmError adalah enum thiserror biasa dengan FromPrimitive, dikonversi melalui ProgramError::Custom(e as u32), jadi kodenya dimulai dari 0, bukan 6000 — dan, seperti Anchor, ditugaskan berdasarkan urutan sumber. Upgrade 2026-09 menambahkan satu varian: Kode 0–59 tidak berubah, jadi tidak ada yang bergeser. Dalam log transaksi ini muncul sebagai custom program error: 0x3c. Sumber regenerasi: github.com/raydium-io/raydium-amm — error.rs.

Memetakan error SDK ke error program

SDK TypeScript resmi membungkus error on-chain ke dalam SendTransactionError dan, untuk program Anchor, AnchorError:
Jika Anda tidak menggunakan Anchor di sisi klien, parse log transaksi:
Pola Error Number: (\d+) stabil di seluruh versi Anchor dan aman untuk dicocokkan.

Meregenerasi tabel-tabel ini

Ketika program diupgrade dan menambahkan error baru, ekstrak ulang dari sumber:
Selalu perbarui reference/changelog ketika varian baru ditambahkan, sehingga integrator yang meningkatkan SDK tahu untuk menyegarkan penanganan error mereka. Sumber: