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.
Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
Birincil kaynak. Aşağıdaki tablolar, Raydium’un herkese açık depolarındaki her programın
error.rs dosyasından yeniden oluşturulmaktadır. Bir program yükseltilip yeni bir varyant eklendiğinde, çıkarma komutunu (her tablonun altındaki bağlantı) yeniden çalıştırın ve satırları yeniden sıralamak yerine tablonun sonuna ekleyin — Anchor hata kodları kaynak sırasına göre atanır, isme göre değil; bu nedenle sırayı değiştirmek entegratörlerin hata işleyicilerini bozar.Anchor hata kodları nasıl çalışır?
Anchor, bir programınErrorCode enum’undaki her varyanta 6000’den başlayarak sayısal bir kod atar. Başarısız bir işlem şunları ortaya çıkarır:
- Sayısal hata kodu (ör.
0x1771= 6001) işlem günlüklerinde. - Hata adı (ör.
InvalidOwner) IDL’den. #[msg(...)]dizisi Anchor’ınlog_messagesiçinde yaydığı.
CPMM (Standart AMM) hataları
Program ID: bkz. reference/program-addresses. Kaynak:raydium-cp-swap/programs/cp-swap/src/error.rs.
| Kod | Varyant | #[msg] dizisi | Tipik neden | Önerilen UX |
|---|---|---|---|---|
| 6000 | NotApproved | Not approved | Çağıran, bir yönetici talimatı için yapılandırılmış yetkili değil. | ”Bu işlemi yalnızca pool yöneticisi gerçekleştirebilir.” |
| 6001 | InvalidOwner | Input account owner is not the program address | Aktarılan bir hesap yanlış program tarafından sahiplenilmiş (çoğunlukla yanlış token programı veya yanlış programa ait PDA). | ”Dahili: hesap sahibi uyuşmuyor — yenileyin ve tekrar deneyin.” |
| 6002 | EmptySupply | Input token account empty | Pozitif bir miktar gerektiren bir adımda LP veya token hesap bakiyesi sıfır. | ”Çekilecek bir şey yok.” |
| 6003 | InvalidInput | InvalidInput | Genel hatalı argüman (aralık dışı miktar, yanlış bayrak). | ”Geçersiz girdi — miktarları kontrol edip tekrar deneyin.” |
| 6004 | IncorrectLpMint | Address of the provided lp token mint is incorrect | Aktarılan LP mint hesabı pool_state.lp_mint ile eşleşmiyor. | ”Dahili: yanlış LP mint — pool verilerini yenileyin.” |
| 6005 | ExceededSlippage | Exceeds desired slippage limit | Gerçekleşen fiyat, kullanıcının minAmountOut / maxAmountIn değerinden daha kötü. | ”Fiyat slippage toleransınızı aştı. Slippage’ı artırın veya tekrar deneyin.” |
| 6006 | ZeroTradingTokens | Given pool token amount results in zero trading tokens | Yatırma / çekme işleminin matematiği bir tarafı sıfıra yuvarladı (pozisyon çok küçük). | ”Miktar bu pool için minimumdur.” |
| 6007 | NotSupportMint | Not support token_2022 mint extension (kaynak kodundaki dilbilgisi hatası) | Pool, güvenli şekilde işleyemeyeceği bir Token-2022 uzantısıyla karşılaştı (ör. TransferHook, DefaultAccountState=Frozen). | ”Bu tokenin CPMM’nin desteklemediği bir uzantısı var.” |
| 6008 | InvalidVault | invaild vault (kaynak kodundaki yazım hatası) | Aktarılan vault hesabı pool_state’e kayıtlı olanla eşleşmiyor. | ”Dahili: yanlış vault — yenileyin ve tekrar deneyin.” |
| 6009 | InitLpAmountTooLess | Init lp amount is too less(Because 100 amount lp will be locked) (kaynak kodundaki dilbilgisi hatası) | Pool başlatılırken hesaplanan LP arzı kalıcı kilit miktarının altında. | ”Başlangıç likiditesi çok düşük. Yatırım miktarını artırın.” |
| 6010 | TransferFeeCalculateNotMatch | TransferFee calculate not match | Token-2022 ücretli mint için gözlemlenen transfer sonrası miktar, önceden hesaplanan beklentiyle eşleşmedi. | ”Token transfer ücreti işlem ortasında değişti. Tekrar deneyin.” |
| 6011 | MathOverflow | Math overflow | Ara swap / yatırma / ücret hesaplaması taştı. | ”Miktar bu pool için çok büyük.” |
| 6012 | InsufficientVault | Insufficient vault | Pool vault bakiyesi talep edilen çıktıyı karşılamak için çok düşük. | ”Pool’da bu büyüklük için yeterli likidite yok.” |
| 6013 | InvalidFeeModel | Invalid fee model | Yönetici, zincir üstünde reddedilen bir AmmConfig parametre kombinasyonu belirledi. | N/A — yalnızca yönetici yolu. |
| 6014 | NoFeeCollect | Fee is zero | Toplanabilir ücret sıfırken collect_protocol_fee / collect_fund_fee çağrıldı. | N/A — yönetici yolu; araçlar bu hatayı sessizce geçmeli. |
CLMM hataları
Program ID: bkz. reference/program-addresses. Kaynak:raydium-clmm/programs/amm/src/error.rs.
| Kod | Varyant | #[msg] dizisi | Tipik neden | Önerilen UX |
|---|---|---|---|---|
| 6000 | NotApproved | Not approved | Çağıran, bu talimat için yapılandırılmış yönetici değil. | ”Bu işlemi yalnızca pool yöneticisi gerçekleştirebilir.” |
| 6001 | InvalidUpdateConfigFlag | invalid update amm config flag | Yönetici, update_amm_config’e tanınmayan bir param değeri iletti. | N/A — yalnızca yönetici yolu. |
| 6002 | AccountLack | Account lack | İşlemde gerekli bir kalan hesap eksik (genellikle tick dizisi veya oracle uzantısı). | ”Dahili: eksik hesap — pool verilerini yenileyin.” |
| 6003 | ClosePositionErr | Remove liquidity, collect fees owed and reward then you can close position account | Likidite, toplanmamış ücret veya toplanmamış ödülleri olan bir pozisyonu kapatmaya çalışıldı. | ”Pozisyonu kapatmadan önce tüm likiditeli çekin ve ücretleri/ödülleri talep edin.” |
| 6004 | InvalidTickIndex | Tick out of range | tick_lower veya tick_upper, [-443636, 443636] aralığının dışında. | ”Bu pool için fiyat aralığı sınır dışı.” |
| 6005 | TickInvalidOrder | The lower tick must be below the upper tick | tick_lower >= tick_upper. | ”Alt fiyat, üst fiyatın altında olmalıdır.” |
| 6006 | TickLowerOverflow | The tick must be greater, or equal to the minimum tick(-443636) | Alt tick alt sınırı aştı. | ”Alt fiyat çok düşük.” |
| 6007 | TickUpperOverflow | The tick must be lesser than, or equal to the maximum tick(443636) | Üst tick üst sınırı aştı. | ”Üst fiyat çok yüksek.” |
| 6008 | TickAndSpacingNotMatch | tick % tick_spacing must be zero | Gönderilen tick, pool’un tick_spacing’inin katı değil. | ”Fiyatı en yakın geçerli artışa hizalayın.” |
| 6009 | InvalidTickArray | Invalid tick array account | Bir tick dizisi yuvası için yanlış PDA iletildi. | ”Dahili: yanlış tick dizisi — pool verilerini yenileyin.” |
| 6010 | InvalidTickArrayBoundary | Invalid tick array boundary | Tick dizisi indekslemesinde sınır hatası. | ”Dahili: tick dizisi sınır hatası.” |
| 6011 | SqrtPriceLimitOverflow | Square root price limit overflow | Çağıran tarafından sağlanan sqrt_price_limit geçerli aralık dışında. | ”Fiyat limiti aralık dışı.” |
| 6012 | SqrtPriceX64 | sqrt_price_x64 out of range | Pool’un mevcut sqrt fiyatı swap ortasında aralık dışına çıktı. | ”Swap’ı tekrar deneyin.” |
| 6013 | LiquiditySubValueErr | Liquidity sub delta L must be smaller than before | Likidite azaltma işleminde dahili değişmez ihlali. | ”Dahili: likidite muhasebe hatası.” |
| 6014 | LiquidityAddValueErr | Liquidity add delta L must be greater, or equal to before | Likidite artırma işleminde dahili değişmez ihlali. | ”Dahili: likidite muhasebe hatası.” |
| 6015 | ForbidBothZeroForSupplyLiquidity | Both token amount must not be zero while supply liquidity | Likidite artırma çağrısında hem amount_0_max hem de amount_1_max sıfır. | ”En az bir token sağlayın.” |
| 6016 | LiquidityInsufficient | Liquidity insufficient | Pozisyonda çekimi karşılayacak yeterli likidite yok. | ”Çekim miktarı pozisyon likiditesini aşıyor.” |
| 6017 | PriceSlippageCheck | Price slippage check | Gerçekleşen fiyat, çağıranın slippage korumasından geçemedi. | ”Fiyat slippage toleransınızı aştı. Slippage’ı artırın veya tekrar deneyin.” |
| 6018 | TooLittleOutputReceived | Too little output received | SwapBaseInput: çıkış miktarı other_amount_threshold’un altında. | ”Slippage aşıldı — minimum çıkış karşılanmadı.” |
| 6019 | TooMuchInputPaid | Too much input paid | SwapBaseOutput: giriş miktarı other_amount_threshold’un üstünde. | ”Slippage aşıldı — maksimum giriş aşıldı.” |
| 6020 | ZeroAmountSpecified | Swap special amount can not be zero | Swap talimatında amount sıfır. | ”Sıfırdan büyük bir miktar girin.” |
| 6021 | InvalidInputPoolVault | Input pool vault is invalid | Swap’ın giriş vault hesabı, pool’a kayıtlı vault ile eşleşmiyor. | ”Dahili: yanlış giriş vault’u — pool verilerini yenileyin.” |
| 6022 | TooSmallInputOrOutputAmount | Swap input or output amount is too small | Swap matematiği sıfıra yuvarlandı; genellikle çok küçük toz miktarlar. | ”Miktar bu pool’da swap için çok küçük.” |
| 6023 | NotEnoughTickArrayAccount | Not enough tick array account | Swap aralığı için yeterli sayıda tick dizisi kalan hesabı sağlanmadı. | ”Dahili: yetersiz tick dizisi — pool verilerini yenileyin.” |
| 6024 | InvalidFirstTickArrayAccount | Invalid first tick array account | İletilen ilk tick dizisi hesabı mevcut tick’i kapsamıyor. | ”Dahili: yanlış ilk tick dizisi — pool verilerini yenileyin.” |
| 6025 | InvalidRewardIndex | Invalid reward index | reward_index, [0, 2] aralığının dışında. | N/A — yönetici yolu. |
| 6026 | FullRewardInfo | The init reward token reach to the max | Pool’da zaten maksimum (3) ödül mint’i yapılandırılmış. | N/A — yönetici yolu. |
| 6027 | RewardTokenAlreadyInUse | The init reward token already in use | Ödül mint’i mevcut bir mint’i kopyalıyor. | N/A — yönetici yolu. |
| 6028 | ExceptRewardMint | The reward tokens must contain one of pool vault mint except the last reward | 2. yuva öncesinde ödül mint’i, pool’un vault mint’lerinden biri olmalıdır. | N/A — yönetici yolu. |
| 6029 | InvalidRewardInitParam | Invalid reward init param | Hatalı emisyon başlangıç/bitiş zamanı veya saniye başına oran. | N/A — yönetici yolu. |
| 6030 | InvalidRewardInputAccountNumber | Invalid collect reward input account number | CollectReward’a iletilen kalan hesap sayısı yanlış. | ”Dahili: yanlış hesap sayısı — yenileyin ve tekrar deneyin.” |
| 6031 | InvalidRewardPeriod | Invalid reward period | Ödül emisyon dönemi geçersiz (end <= start, sıfır süre). | N/A — yönetici yolu. |
| 6032 | NotApproveUpdateRewardEmissions | Modification of emissions is allowed within 72 hours from the end of the previous cycle | Yönetici, döngü sınırları etrafındaki 72 saatlik pencere dışında emisyonları değiştirmeye çalıştı. | N/A — yönetici yolu. |
| 6033 | UnInitializedRewardInfo | uninitialized reward info | Ödül yuvası başlatılmamış fakat referans alınmış. | N/A — yönetici yolu. |
| 6034 | NotSupportMint | Not support token_2022 mint extension | CLMM, işleyemeyeceği bir Token-2022 uzantısıyla karşılaştı. | ”Bu tokenin Raydium CLMM’nin desteklemediği bir uzantısı var.” |
| 6035 | MissingTickArrayBitmapExtensionAccount | Missing tickarray bitmap extension account | Swap, temel bitmap’in kapsamadığı bir tick aralığını geçti; uzantı bitmap hesabı gerekli. | ”Dahili: eksik tick dizisi uzantısı — pool verilerini yenileyin.” |
| 6036 | InsufficientLiquidityForDirection | Insufficient liquidity for this direction | Swap yönünde yeterli likidite yok. | ”Bu swap büyüklüğü için yetersiz likidite.” |
| 6037 | MaxTokenOverflow | Max token overflow | Giriş/çıkış miktarı u64’ü aştı. | ”Miktar bu pool için çok büyük.” |
| 6038 | CalculateOverflow | Calculate overflow | Ücret / likidite aritmetik taşması. | ”Miktar bu pool için çok büyük.” |
| 6039 | TransferFeeCalculateNotMatch | TransferFee calculate not match | Token-2022 transfer ücreti gözlemlenen miktarı beklenenle eşleşmedi. | ”Token transfer ücreti işlem ortasında değişti. Tekrar deneyin.” |
| 6040 | OrderAlreadyFilled | Order already fully filled, cannot modify | Doldurulmamış kısmı sıfır olan bir emir üzerinde IncreaseLimitOrder / DecreaseLimitOrder çağrıldı. | ”Bu limit emri zaten doldu — çıktıyı almak için uzlaştırın.” |
| 6041 | InvalidOrderPhase | Invalid order phase | Bir emrin FIFO kohort aşaması artık tick’in mevcut kohortuyla eşleşmiyorken mutasyon yapıldı. | ”Bu işlem emrin mevcut durumunda gerçekleştirilemez.” |
| 6042 | InvalidLimitOrderAmount | Invalid limit order amount | Emir girişi, açma / artırma / azaltma sırasında pool’un minimumunun (veya sıfırın) altında. | ”Emir büyüklüğü pool’un minimumunun altında.” |
| 6043 | OrderPhaseSaturated | Tick order phase saturated | Tick üzerindeki kohorttaki order_phase sayacı doyuma ulaştı; mevcut kohortlar uzlaşıp devrilene kadar o tick’te başka emir açılamaz. | ”Bu fiyatta çok fazla aktif emir var; yakın bir tick deneyin veya emirlerin uzlaşmasını bekleyin.” |
| 6044 | InvalidDynamicFeeConfigParams | Invalid dynamic fee config params | CreateDynamicFeeConfig / UpdateDynamicFeeConfig reddedildi; veya CreateCustomizablePool geçerli bir yapılandırma olmadan dinamik ücret etkinleştirdi. | Yönetici yolunda N/A; kullanıcı yolunda “Dinamik ücret yapılandırması geçersiz.” |
| 6045 | InvalidFeeOn | Invalid fee on which token (must be 0, 1, or 2) | CreateCustomizablePool, {0, 1, 2} dışında bir collect_fee_on değeri iletti. | ”Dahili: geçersiz ücret modu.” |
| 6046 | ZeroSqrtPrice | sqrt_price_x64 must be greater than 0 | CreateCustomizablePool (veya özelleştirilebilir bir başlangıç sqrt fiyatı kabul eden başka bir yol), sqrt_price_x64 == 0 ile çağrıldı. | ”Başlangıç fiyatı sıfırdan büyük olmalıdır.” |
| 6047 | ZeroLiquidity | liquidity must be greater than 0 | Likidite sağlayan bir yol, liquidity == 0 ve telafi edici miktar olmadan çağrıldı. | ”Likidite miktarı sıfırdan büyük olmalıdır.” |
| 6048 | MissingBaseFlag | base_flag is required when liquidity is zero | Miktar bazlı pozisyon açma yolu, liquidity == 0 hesapladı ve çağıran hangi tarafın baz olduğunu belirtmek için base_flag sağlamadı. | ”Sıfır olmayan bir likidite girin veya hangi tokenin baz olduğunu belirtin.” |
| 6049 | MissingMintAccount | Mint account is required but not provided | Token-2022 farkında bir yol, uzantıları ve transfer ücretlerini doğrulamak için gerekli giriş/çıkış mint hesabı olmadan çağrıldı. | ”Dahili: eksik mint hesabı — pool verilerini yenileyin.” |
| 6050 | MissingTokenProgram2022 | Token-2022 program is required but not provided | SPL-Token-2022 program hesabı için yukarıdakiyle aynı durum. | ”Dahili: Token-2022 programı eksik — yenileyin ve tekrar deneyin.” |
Yeniden numaralandırma notu. CLMMYeniden oluşturma kaynağı: github.com/raydium-io/raydium-clmm — error.rs.ErrorCodeenum’u bu sürümde yeniden numaralandırıldı: beş eski varyant (LOK,ZeroMintAmount,InvalidLiquidity,TransactionTooOld,InvalidRewardDesiredAmount) ve çeşitli yazım hataları (Liquitity,enought,emissiones) kaldırıldı/düzeltildi; on bir yeni varyant eklendi. Anchor hataları kaynak sırasına göre numaralandırdığı için6000ve sonrasındaki her kod, sürüm öncesi yapılara göre kaymıştır. Daha önceki bir sürüme karşı sayısal kodları sabit kodlayan istemcilerin eşlemeyi güncellemesi gerekir.
AMM v4, Farm v3 / v5 / v6, LaunchLab hataları
Bu programlar kendi ilgili bölümlerinde belgelenmiştir (bkz.products/amm-v4/instructions, products/farm-staking/instructions, products/launchlab/instructions). Bu programlar Anchor ve düz Solana hata yüzeylerini karışık kullandığından hata tabloları burada değil, talimat referansının yanında yer alır. Aşağıdaki kodlar o bölümler tarafından rezerve edilmiştir:
| Program | Kod aralığı (yalnızca Anchor) | Referans |
|---|---|---|
| AMM v4 | Özel u32 kodları, Anchor stili değil | products/amm-v4/instructions |
| Farm v3 / v5 | Özel u32 kodları | products/farm-staking/instructions |
| Farm v6 | 6000+ (Anchor) | products/farm-staking/instructions |
| LaunchLab | 6000+ (Anchor) | products/launchlab/instructions |
SDK hatalarını program hatalarıyla eşleştirme
Resmi TypeScript SDK, zincir üstü hatalarıSendTransactionError’a ve Anchor programları için AnchorError’a sarar:
Error Number: (\d+) deseni Anchor sürümleri arasında kararlıdır ve eşleştirme için güvenlidir.
Bu tabloları yeniden oluşturma
Bir program yükseltilip yeni bir hata eklendiğinde kaynaktan yeniden çıkarın:reference/changelog’u güncelleyin.
Kaynaklar:


