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 di 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 merusak penanganan kesalahan integrator.

Cara kerja kode kesalahan Anchor

Anchor menetapkan 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 (AMM Standar)

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

ID Program: 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. Karena Anchor menomori kesalahan berdasarkan urutan sumber, setiap kode pada atau setelah 6000 telah bergeser relatif terhadap build pra-rilis. Klien yang hard-code kode numerik terhadap versi sebelumnya perlu memetakan ulang.
Sumber regenerasi: github.com/raydium-io/raydium-clmm — error.rs.

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

Program-program ini didokumentasikan dalam bab masing-masing (lihat products/amm-v4/instructions, products/farm-staking/instructions, products/launchlab/instructions). Karena program-program tersebut menggunakan campuran permukaan kesalahan Anchor dan Solana biasa, tabel kesalahan mereka berada di sebelah referensi instruksi daripada di sini. Kode di bawah ini dicadangkan oleh bab-bab tersebut: Rilis LaunchLab menjaga kode 60006021 tidak berubah. Ini menghapus kesalahan akses global platform sebelumnya dan menetapkan 6022 ke kesalahan validasi akun izin baru: Varian PlatformGlobalAccessDenied (6022) dan InvalidPlatformGlobalAccess (6023) lama dihapus. Jangan dekode 6022 menggunakan IDL sebelumnya.

Memetakan kesalahan SDK ke kesalahan program

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

Meregenerasi tabel-tabel ini

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