Ana içeriğe atla
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ın ErrorCode 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’ın log_messages içinde yaydığı.
Entegratörler mesaj dizisi yerine sayısal koda göre eşleştirme yapmalıdır (dize, sürüm değiştirilmeden 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 notu. CLMM ErrorCode enum’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çin 6000 ve 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.
Yeniden oluşturma kaynağı: github.com/raydium-io/raydium-clmm — error.rs.

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:

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:
Anchor istemci tarafı 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ştirme için güvenlidir.

Bu tabloları yeniden oluşturma

Bir program yükseltilip yeni bir hata eklendiğinde kaynaktan yeniden çıkarın:
Yeni bir varyant eklendiğinde entegratörler SDK’yı yükseltirken hata işleyicilerini yenilemeleri gerektiğini bilsin diye her zaman reference/changelog’u güncelleyin. Kaynaklar: