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, her programın genel Raydium depolarındaki error.rs dosyasından yeniden oluşturulur. Bir program yükseltildiğinde ve yeni bir varyant eklendiğinde, tabloyu yeniden düzenlemek yerine çıkarımı yeniden çalıştırın (her tablonun altındaki bağlantı) ve yeni satırları 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 ile 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 bir sürüm çıkarmadan yeniden yazılabilir).

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 numaralandırması 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 eklendi. Anchor hataları kaynak sırasına göre numaralandırdığından, 6000 veya sonrasındaki her kod ön-sürüm derlemelerine göre 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 yerine talimat referansının yanında yer alır. Aşağıdaki kodlar bu bölümler tarafından ayrılmıştır: LaunchLab sürümü kodları 60006021 değişmeden tutar. Eski platform-global-erişim hatalarını kaldırır ve yeni izin-hesabı doğrulama hatasına 6022 atar: Eski PlatformGlobalAccessDenied (6022) ve InvalidPlatformGlobalAccess (6023) varyantları kaldırılmıştır. Önceki IDL’yi kullanarak 6022 kodunu çözmeyin.

SDK hatalarını program hatalarıyla eşleştirme

Resmi TypeScript SDK, zincir üstü hataları SendTransactionError ve Anchor programları için AnchorError içine 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 güncelleyin, böylece SDK’yı yükselten entegratörler hata işleyicilerini yenilemeyi bilirler. Kaynaklar: