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.
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 masing-masing program di repositori publik Raydium. Saat sebuah program diperbarui dan varian baru ditambahkan, jalankan ulang ekstraksi (tautan di bagian bawah setiap tabel) dan tambahkan ke tabel — jangan mengubah urutan baris yang sudah ada. Kode error Anchor ditetapkan berdasarkan urutan sumber, bukan nama, sehingga mengubah urutan akan merusak penanganan error di sisi integrator.Cara kerja kode error Anchor
Anchor menetapkan setiap varian enumErrorCode sebuah program dengan kode numerik yang dimulai dari 6000. Transaksi yang gagal akan menampilkan:
- Kode error numerik (contoh:
0x1771= 6001) di log transaksi. - Nama error (contoh:
InvalidOwner) dari IDL. - String
#[msg(...)]yang di-emit Anchor dilog_messages.
Error CPMM (Standard AMM)
Program ID: lihat reference/program-addresses. Sumber:raydium-cp-swap/programs/cp-swap/src/error.rs.
| Kode | Varian | String #[msg] | Penyebab umum | UX yang direkomendasikan |
|---|---|---|---|---|
| 6000 | NotApproved | Not approved | Pemanggil bukan authority yang dikonfigurasi untuk instruksi admin. | ”Hanya admin pool yang dapat melakukan tindakan ini.” |
| 6001 | InvalidOwner | Input account owner is not the program address | Akun yang diteruskan dimiliki oleh program yang salah (sering kali token program yang salah atau PDA dari program yang salah). | ”Internal: ketidakcocokan pemilik akun — muat ulang dan coba lagi.” |
| 6002 | EmptySupply | Input token account empty | Saldo LP atau akun token bernilai nol pada langkah yang membutuhkan jumlah positif. | ”Tidak ada yang perlu ditarik.” |
| 6003 | InvalidInput | InvalidInput | Argumen buruk secara umum (jumlah di luar rentang, flag salah). | ”Input tidak valid — periksa jumlah dan coba lagi.” |
| 6004 | IncorrectLpMint | Address of the provided lp token mint is incorrect | Akun LP mint yang diteruskan tidak cocok dengan pool_state.lp_mint. | ”Internal: LP mint salah — muat ulang data pool.” |
| 6005 | ExceededSlippage | Exceeds desired slippage limit | Harga eksekusi lebih buruk dari minAmountOut / maxAmountIn yang ditetapkan pengguna. | ”Harga melampaui toleransi slippage Anda. Naikkan slippage atau coba lagi.” |
| 6006 | ZeroTradingTokens | Given pool token amount results in zero trading tokens | Perhitungan deposit/penarikan membulatkan satu sisi ke nol (posisi terlalu kecil). | ”Jumlah di bawah minimum untuk pool ini.” |
| 6007 | NotSupportMint | Not support token_2022 mint extension (grammar in source) | Pool menemukan ekstensi Token-2022 yang tidak dapat ditangani dengan aman (contoh: TransferHook, DefaultAccountState=Frozen). | ”Token ini memiliki ekstensi yang tidak didukung Raydium di CPMM.” |
| 6008 | InvalidVault | invaild vault (typo in source) | Akun vault yang diteruskan tidak cocok dengan yang tercatat di pool_state. | ”Internal: vault salah — muat ulang dan coba lagi.” |
| 6009 | InitLpAmountTooLess | Init lp amount is too less(Because 100 amount lp will be locked) (grammar in source) | Saat inisialisasi pool, suplai LP yang dihitung berada di bawah jumlah kunci permanen. | ”Likuiditas awal terlalu kecil. Tambah jumlah deposit.” |
| 6010 | TransferFeeCalculateNotMatch | TransferFee calculate not match | Jumlah pasca-transfer yang diamati untuk mint biaya Token-2022 tidak sesuai dengan ekspektasi yang dihitung sebelumnya. | ”Biaya transfer token berubah di tengah transaksi. Coba lagi.” |
| 6011 | MathOverflow | Math overflow | Perhitungan swap/deposit/biaya intermediate mengalami overflow. | ”Jumlah terlalu besar untuk pool ini.” |
| 6012 | InsufficientVault | Insufficient vault | Saldo vault pool terlalu rendah untuk memenuhi output yang diminta. | ”Likuiditas pool tidak cukup untuk ukuran ini.” |
| 6013 | InvalidFeeModel | Invalid fee model | Admin menetapkan kombinasi parameter AmmConfig yang ditolak on-chain. | N/A — jalur khusus admin. |
| 6014 | NoFeeCollect | Fee is zero | collect_protocol_fee / collect_fund_fee dipanggil saat biaya yang dapat dikumpulkan bernilai nol. | N/A — jalur admin; tooling sebaiknya mengabaikan error ini. |
Error CLMM
Program ID: lihat reference/program-addresses. Sumber:raydium-clmm/programs/amm/src/error.rs.
| Kode | Varian | String #[msg] | Penyebab umum | UX yang direkomendasikan |
|---|---|---|---|---|
| 6000 | NotApproved | Not approved | Pemanggil bukan admin yang dikonfigurasi untuk instruksi ini. | ”Hanya admin pool yang dapat melakukan tindakan ini.” |
| 6001 | InvalidUpdateConfigFlag | invalid update amm config flag | Admin meneruskan nilai param yang tidak dikenal ke update_amm_config. | N/A — jalur khusus admin. |
| 6002 | AccountLack | Account lack | Akun remaining yang diperlukan tidak ada dalam tx (biasanya tick-array atau ekstensi oracle). | ”Internal: akun hilang — muat ulang data pool.” |
| 6003 | ClosePositionErr | Remove liquidity, collect fees owed and reward then you can close position account | Mencoba menutup posisi yang masih memiliki likuiditas, biaya belum diklaim, atau reward belum diklaim. | ”Tarik semua likuiditas dan klaim biaya/reward sebelum menutup posisi.” |
| 6004 | InvalidTickIndex | Tick out of range | tick_lower atau tick_upper berada di luar [-443636, 443636]. | ”Rentang harga di luar batas untuk pool ini.” |
| 6005 | TickInvalidOrder | The lower tick must be below the upper tick | tick_lower >= tick_upper. | ”Harga bawah harus lebih rendah dari harga atas.” |
| 6006 | TickLowerOverflow | The tick must be greater, or equal to the minimum tick(-443636) | Underflow tick bawah. | ”Harga bawah terlalu rendah.” |
| 6007 | TickUpperOverflow | The tick must be lesser than, or equal to the maximum tick(443636) | Overflow tick atas. | ”Harga atas terlalu tinggi.” |
| 6008 | TickAndSpacingNotMatch | tick % tick_spacing must be zero | Tick yang diajukan bukan kelipatan tick_spacing pool. | ”Sesuaikan harga ke increment valid terdekat.” |
| 6009 | InvalidTickArray | Invalid tick array account | PDA yang salah diteruskan untuk slot tick-array. | ”Internal: tick array salah — muat ulang data pool.” |
| 6010 | InvalidTickArrayBoundary | Invalid tick array boundary | Kesalahan off-by-one pada pengindeksan tick-array. | ”Internal: error batas tick-array.” |
| 6011 | SqrtPriceLimitOverflow | Square root price limit overflow | sqrt_price_limit yang diberikan pemanggil berada di luar rentang valid. | ”Batas harga di luar rentang.” |
| 6012 | SqrtPriceX64 | sqrt_price_x64 out of range | Sqrt harga pool saat ini keluar dari rentang di tengah swap. | ”Coba ulang swap.” |
| 6013 | LiquiditySubValueErr | Liquidity sub delta L must be smaller than before | Pelanggaran invarian internal pada decrease-liquidity. | ”Internal: error akuntansi likuiditas.” |
| 6014 | LiquidityAddValueErr | Liquidity add delta L must be greater, or equal to before | Pelanggaran invarian internal pada increase-liquidity. | ”Internal: error akuntansi likuiditas.” |
| 6015 | ForbidBothZeroForSupplyLiquidity | Both token amount must not be zero while supply liquidity | Panggilan increase-liquidity dengan amount_0_max dan amount_1_max keduanya nol. | ”Sediakan setidaknya satu token.” |
| 6016 | LiquidityInsufficient | Liquidity insufficient | Posisi tidak memiliki cukup likuiditas untuk memenuhi penarikan. | ”Jumlah penarikan melebihi likuiditas posisi.” |
| 6017 | PriceSlippageCheck | Price slippage check | Harga eksekusi gagal melewati penjaga slippage pemanggil. | ”Harga melampaui toleransi slippage Anda. Naikkan slippage atau coba lagi.” |
| 6018 | TooLittleOutputReceived | Too little output received | SwapBaseInput: jumlah output di bawah other_amount_threshold. | ”Slippage terlampaui — output minimum tidak terpenuhi.” |
| 6019 | TooMuchInputPaid | Too much input paid | SwapBaseOutput: jumlah input di atas other_amount_threshold. | ”Slippage terlampaui — input maksimum dilampaui.” |
| 6020 | ZeroAmountSpecified | Swap special amount can not be zero | amount bernilai nol pada instruksi swap. | ”Masukkan jumlah yang lebih besar dari nol.” |
| 6021 | InvalidInputPoolVault | Input pool vault is invalid | Akun input-vault swap tidak cocok dengan vault yang tercatat di pool. | ”Internal: input vault salah — muat ulang data pool.” |
| 6022 | TooSmallInputOrOutputAmount | Swap input or output amount is too small | Perhitungan swap dibulatkan ke nol, biasanya karena jumlah dust yang sangat kecil. | ”Jumlah terlalu kecil untuk di-swap di pool ini.” |
| 6023 | NotEnoughTickArrayAccount | Not enough tick array account | Akun remaining tick-array yang disediakan untuk rentang swap tidak cukup. | ”Internal: tick-array tidak cukup — muat ulang data pool.” |
| 6024 | InvalidFirstTickArrayAccount | Invalid first tick array account | Akun tick-array pertama yang diteruskan tidak mencakup tick saat ini. | ”Internal: tick array pertama salah — muat ulang data pool.” |
| 6025 | InvalidRewardIndex | Invalid reward index | reward_index di luar [0, 2]. | N/A — jalur admin. |
| 6026 | FullRewardInfo | The init reward token reach to the max | Pool sudah memiliki maksimum (3) reward mint yang dikonfigurasi. | N/A — jalur admin. |
| 6027 | RewardTokenAlreadyInUse | The init reward token already in use | Reward mint menduplikasi yang sudah ada. | N/A — jalur admin. |
| 6028 | ExceptRewardMint | The reward tokens must contain one of pool vault mint except the last reward | Sebelum slot 2, reward mint harus sama dengan salah satu vault mint pool. | N/A — jalur admin. |
| 6029 | InvalidRewardInitParam | Invalid reward init param | Waktu mulai/selesai emisi atau laju per-detik tidak valid. | N/A — jalur admin. |
| 6030 | InvalidRewardInputAccountNumber | Invalid collect reward input account number | Jumlah akun remaining yang diteruskan ke CollectReward salah. | ”Internal: jumlah akun salah — muat ulang dan coba lagi.” |
| 6031 | InvalidRewardPeriod | Invalid reward period | Periode emisi reward tidak valid (end <= start, durasi nol). | N/A — jalur admin. |
| 6032 | NotApproveUpdateRewardEmissions | Modification of emissions is allowed within 72 hours from the end of the previous cycle | Admin mencoba mengubah emisi di luar jendela 72 jam di sekitar batas siklus. | N/A — jalur admin. |
| 6033 | UnInitializedRewardInfo | uninitialized reward info | Slot reward belum diinisialisasi tetapi sudah direferensikan. | N/A — jalur admin. |
| 6034 | NotSupportMint | Not support token_2022 mint extension | CLMM menemukan ekstensi Token-2022 yang tidak dapat ditangani. | ”Token ini memiliki ekstensi yang tidak didukung Raydium CLMM.” |
| 6035 | MissingTickArrayBitmapExtensionAccount | Missing tickarray bitmap extension account | Swap melewati rentang tick yang tidak tercakup bitmap dasar; akun bitmap ekstensi diperlukan. | ”Internal: ekstensi tick-array hilang — muat ulang data pool.” |
| 6036 | InsufficientLiquidityForDirection | Insufficient liquidity for this direction | Tidak ada cukup likuiditas di arah swap yang diminta. | ”Likuiditas tidak cukup untuk ukuran swap ini.” |
| 6037 | MaxTokenOverflow | Max token overflow | Jumlah input/output melebihi u64. | ”Jumlah terlalu besar untuk pool ini.” |
| 6038 | CalculateOverflow | Calculate overflow | Overflow pada aritmetika biaya/likuiditas. | ”Jumlah terlalu besar untuk pool ini.” |
| 6039 | TransferFeeCalculateNotMatch | TransferFee calculate not match | Jumlah yang diamati dari transfer fee Token-2022 tidak sesuai ekspektasi. | ”Biaya transfer token berubah di tengah transaksi. Coba lagi.” |
| 6040 | OrderAlreadyFilled | Order already fully filled, cannot modify | IncreaseLimitOrder / DecreaseLimitOrder dipanggil pada order yang bagian belum terisinya sudah nol. | ”Limit order ini sudah terisi — lakukan settle untuk menerima output.” |
| 6041 | InvalidOrderPhase | Invalid order phase | Mengubah order yang fase kohort FIFO-nya tidak lagi cocok dengan fase kohort tick saat ini. | ”Tindakan ini tidak dapat dilakukan pada status order saat ini.” |
| 6042 | InvalidLimitOrderAmount | Invalid limit order amount | Input order di bawah minimum pool (atau nol) saat dibuka/ditambah/dikurangi. | ”Ukuran order di bawah minimum pool.” |
| 6043 | OrderPhaseSaturated | Tick order phase saturated | Penghitung order_phase kohort pada tick sudah jenuh; order baru tidak dapat dibuka di tick tersebut sampai kohort yang ada di-settle dan di-roll over. | ”Terlalu banyak order aktif di harga ini; coba tick terdekat atau tunggu order selesai.” |
| 6044 | InvalidDynamicFeeConfigParams | Invalid dynamic fee config params | CreateDynamicFeeConfig / UpdateDynamicFeeConfig ditolak; atau CreateCustomizablePool mengaktifkan dynamic fee tanpa konfigurasi yang valid. | N/A pada jalur admin; “Konfigurasi dynamic fee tidak valid” pada jalur pengguna. |
| 6045 | InvalidFeeOn | Invalid fee on which token (must be 0, 1, or 2) | CreateCustomizablePool meneruskan nilai collect_fee_on di luar {0, 1, 2}. | ”Internal: mode biaya tidak valid.” |
| 6046 | ZeroSqrtPrice | sqrt_price_x64 must be greater than 0 | CreateCustomizablePool (atau jalur lain yang menerima sqrt harga awal yang dapat dikustomisasi) dipanggil dengan sqrt_price_x64 == 0. | ”Harga awal harus lebih besar dari nol.” |
| 6047 | ZeroLiquidity | liquidity must be greater than 0 | Jalur penyediaan likuiditas dipanggil dengan liquidity == 0 tanpa jumlah kompensasi. | ”Jumlah likuiditas harus lebih besar dari nol.” |
| 6048 | MissingBaseFlag | base_flag is required when liquidity is zero | Jalur open-position-by-amount menghitung liquidity == 0 dan pemanggil tidak menyertakan base_flag untuk menentukan sisi mana yang menjadi base. | ”Sediakan likuiditas yang bukan nol atau tentukan token mana yang menjadi base.” |
| 6049 | MissingMintAccount | Mint account is required but not provided | Jalur yang mendukung Token-2022 dipanggil tanpa akun mint input/output yang diperlukan untuk memvalidasi ekstensi dan biaya transfer. | ”Internal: akun mint hilang — muat ulang data pool.” |
| 6050 | MissingTokenProgram2022 | Token-2022 program is required but not provided | Sama seperti di atas, tetapi untuk akun program SPL-Token-2022. | ”Internal: program Token-2022 hilang — muat ulang dan coba lagi.” |
Catatan tentang penomoran ulang. EnumSumber regenerasi: github.com/raydium-io/raydium-clmm — error.rs.ErrorCodeCLMM telah dinomori ulang dalam rilis ini: lima varian lama (LOK,ZeroMintAmount,InvalidLiquidity,TransactionTooOld,InvalidRewardDesiredAmount) dan beberapa typo (Liquitity,enought,emissiones) telah dihapus/diperbaiki, dan sebelas varian baru ditambahkan. Karena Anchor menomori error berdasarkan urutan sumber, setiap kode pada atau setelah6000telah bergeser relatif terhadap build pra-rilis. Klien yang melakukan hard-code kode numerik terhadap versi sebelumnya perlu melakukan pemetaan ulang.
Error AMM v4, Farm v3 / v5 / v6, LaunchLab
Program-program ini didokumentasikan di bab masing-masing (lihatproducts/amm-v4/instructions, products/farm-staking/instructions, products/launchlab/instructions). Karena program-program tersebut menggunakan campuran Anchor dan surface error Solana biasa, tabel error mereka berada di dekat referensi instruksi, bukan di sini. Kode-kode di bawah ini dicadangkan oleh bab-bab tersebut:
| Program | Rentang kode (hanya Anchor) | Referensi |
|---|---|---|
| AMM v4 | Kode u32 custom, bukan gaya Anchor | products/amm-v4/instructions |
| Farm v3 / v5 | Kode u32 custom | products/farm-staking/instructions |
| Farm v6 | 6000+ (Anchor) | products/farm-staking/instructions |
| LaunchLab | 6000+ (Anchor) | products/launchlab/instructions |
Memetakan error SDK ke error program
TypeScript SDK resmi membungkus error on-chain ke dalamSendTransactionError dan, untuk program Anchor, AnchorError:
Error Number: (\d+) stabil di berbagai versi Anchor dan aman untuk dicocokkan.
Meregenerasi tabel ini
Saat sebuah program diperbarui dan menambahkan error baru, ekstrak ulang dari sumber:reference/changelog saat varian baru ditambahkan, agar integrator yang memperbarui SDK tahu bahwa mereka perlu me-refresh penanganan error mereka.
Sumber:


