Skip to main content
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 →
Güvenilir kaynak. Aşağıdaki tablolar, Raydium’un genel depolarındaki her programın error.rs dosyasından yeniden oluşturulur. Bir program yükseltildiğinde ve yeni bir varyant eklendiğinde, tabloyu yeniden düzenlemek yerine çıkarma işlemini yeniden çalıştırın (her tablonun altındaki bağlantı) ve tabloya ekleyin — Anchor hata kodları kaynak sırasına göre atanır, ad sırasına göre değil, bu nedenle yeniden düzenleme entegratör hata işlemesini bozar.

Anchor hata kodları nasıl çalışır?

Anchor, bir programın ErrorCode numaralandırmasının her varyantına 6000’den başlayan sayısal bir kod atar. Başarısız bir işlem şunları ortaya çıkarır:
  • Sayısal hata kodu (örn. 0x1771 = 6001) işlem günlüklerinde.
  • Hata adı (örn. InvalidOwner) IDL’den.
  • #[msg(...)] dizesi Anchor tarafından log_messages içinde yayılan.
Entegratörler sayısal koda göre eşleşme yapmalıdır, mesaj dizesine göre değil (dize sürüm yükseltmesi yapmadan yeniden ifade edilebilir).

CPMM (Standart AMM) hataları

Program ID: bkz. reference/program-addresses. Kaynak: raydium-cp-swap/programs/cp-swap/src/error.rs. Yeniden oluşturma kaynağı: github.com/raydium-io/raydium-cp-swap — error.rs.

CLMM hataları

Program ID: bkz. reference/program-addresses. Kaynak: raydium-clmm/programs/amm/src/error.rs.
Yeniden numaralandırma hakkında not. CLMM ErrorCode enum’u bu sürümde yeniden numaralandırıldı: beş eski varyant (LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount) ve birkaç yazım hatası (Liquitity, enought, emissiones) kaldırıldı/düzeltildi ve on bir yeni varyant (6040–6050) limit-order sürümü tarafından eklendi; 6051 (InvalidTickArrayBitmapExtensionAccount) ayrı, daha sonraki bir değişiklikten geldi. Bu 52 varyant, 6000–6051 yaptı, bu da şu anda dağıtılan programın zincir üstü IDL’sinin bildirdiği sayıdır. 2026-09-30 yükseltmesi hiçbir şeyi kaydırmadan 6052 ekler, toplam 53 için. Anchor hataları kaynak sırasına göre numaralandırdığından, 6000 veya sonrasındaki her kod önceki sürüm derlemeleri ile ilişkili olarak kaymıştır. Sayısal kodları önceki bir sürüme karşı sabit kodlayan istemcilerin yeniden eşlemesi gerekir.
Yeniden oluşturma kaynağı: github.com/raydium-io/raydium-clmm — error.rs.

AMM v4, Farm v3 / v5 / v6, LaunchLab hataları

Bu programlar 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üzeylerinin bir karışımını kullandığından, hata tabloları burada değil, talimat referansının yanında yer alır. Aşağıdaki kodlar bu bölümler tarafından ayrılmıştır: Son LaunchLab sürümleri 6000–6021 kodlarını değiştirilmemiş tutar. 2026-08-17 sürümü eski platform-global-erişim hatalarını kaldırdı ve 6022’yi izin-hesabı doğrulama hatasına atadı; 2026-08-24 sürümü 6023’ü ekler; 2026-08-31 sürümü 6024–6030’u ekler; 2026-09-09 sürümü 6031’i ekler: Eski PlatformGlobalAccessDenied (6022) ve InvalidPlatformGlobalAccess (6023) varyantları kaldırılmıştır. 6022’yi önceki IDL kullanarak çözmeyin ve 6023 — 2026-08-17 sürümü tarafından boşaltılan — 2026-08-24 sürümü tarafından ilgisiz bir hata için yeniden kullanıldığından, her iki sürümden daha eski bir IDL ile çözülmemelidir. 6020 kasıtlı olarak tutulur. Anchor varyantları konuma göre numaralandırır, bu nedenle silmek sonrasındaki her kodu kaydırır ve 6021–6031’i çözen her istemciyi bozar.

AMM v4: AmmError Anchor-numaralandırılmış değildir

AMM v4, Anchor’dan önce gelir. AmmError FromPrimitive ile düz bir thiserror enum’udur, ProgramError::Custom(e as u32) aracılığıyla dönüştürülür, bu nedenle kodları 0’dan başlar, 6000’den değil — ve Anchor’ın gibi, kaynak sırasına göre atanır. 2026-09 yükseltmesi bir varyant ekler: Kodlar 0–59 değiştirilmemiştir, bu nedenle hiçbir şey kaymaz. İşlem günlüklerinde bu custom program error: 0x3c olarak görünür. Yeniden oluşturma kaynağı: github.com/raydium-io/raydium-amm — error.rs.

SDK hatalarını program hatalarına eşleme

Resmi TypeScript SDK, zincir üstü hataları SendTransactionError’a ve Anchor programları için AnchorError’a sarar:
İstemci tarafında Anchor kullanmıyorsanız, işlem günlüklerini ayrıştırın:
Error Number: (\d+) deseni Anchor sürümleri arasında kararlıdır ve eşleştirmek için güvenlidir.

Bu tabloları yeniden oluşturma

Bir program yükseltildiğinde ve yeni bir hata eklediğinde, kaynaktan yeniden çıkarın:
Bir yeni varyant eklendiğinde her zaman reference/changelog’i güncelleyin, böylece SDK’yı yükselten entegratörler hata işleyicilerini yenilemeyi bilirler. Kaynaklar: