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 →
Raydium’u entegre eden cüzdanlar tipik olarak kullanıcı başına dört soruya yanıt vermelidir: bu kullanıcı hangi havuzlarda LP’ye sahiptir? hangi pozisyonları (CLMM NFT’leri) tutarlar? hangi farmlara stake edilmiştir? hepsi ne kadar değerindedir? Bu sayfa her birini belgelemektedir.
Raydium pozisyonlarını algılama
Klasik LP token’ları (CPMM, AMM v4)
Bunlar diğer SPL Token’lar gibi görünür: kullanıcının ATA’sı bir bakiye tutar. Bir cüzdan bunu varsayılan olarak başka bir token olarak gösterir. Bunu bir Raydium LP pozisyonu olarak ortaya çıkarmak için:- Kullanıcının token hesaplarını numaralandırın:
connection.getParsedTokenAccountsByOwner(user, { programId: TOKEN_PROGRAM_ID }). - Her mint için Raydium’un mint listesini kontrol edin:
GET https://api-v3.raydium.io/pools/info/lps?lps=<LP_MINT>,...(çağrı başına ~50 LP mint’e kadar toplu işlem yapın). - Eşleşen mint’ler için API havuz referansını döndürür. Pozisyonun token cinsinden değerini hesaplamak için kullanın:
CLMM pozisyon NFT’leri
CLMM pozisyonları NFT’lerdir. Her pozisyonunPersonalPositionState PDA’sı NFT mint’inden türetilir. Algılamak için:
- Kullanıcının NFT’lerini numaralandırın. Eski Metaplex NFT’leri için: token hesaplarını arz 1 ve ondalık 0 olanlarla filtreleyin.
- Her NFT mint için PersonalPositionState PDA’sını türetmeyi deneyin:
-
Cüzdanın pozisyonlarını
raydium.clmm.getOwnerPositionInfo({ programId })ile numaralandırın venftMintile eşleştirin (birgetPositionInfoyoktur). Her giriş size şunları verir:poolId→ mint’leri çözmek için havuzu getirtickLower,tickUpper→ aralığı gösterliquidity,tokensOwedA/B→ pozisyon değerini ve bekleyen ücretleri hesaplarewardInfos→ akış başına bekleyen ödüller
-
Token-2022 altında verilen pozisyon-NFT’leri için (
OpenPositionWithToken22Nft), NFT mint’inin programı SPL Token yerine Token-2022’dir. Tarama yaparken her ikisini de numaralandırın.
Farm stake’leri
Farm v3 / v5 / v6’nın her birinin kullanıcı başına bir defter PDA’sı vardır. Türetmeler:UserLedger PDA’larını, kullanıcıyı “muhtemel” farm ID’lerinin seçilmiş bir listesiyle karma hale getirerek yineleyin. Tüm farm ID’lerini kapsamlı olarak numaralandırmak pratik değildir (binlerce vardır); API’yi kullanın.
Pozisyon değerini hesaplama
CPMM / AMM v4 LP
Üç modül aynı imzayı paylaşmaz:liquidity.getPoolInfoFromRpc { poolId } alırken, cpmm.getPoolInfoFromRpc ve clmm.getPoolInfoFromRpc konumsal base58 dizesi alır.
raydium.token veya bir fiyat oracle’ından).
CLMM pozisyonu
- Likidite değeri (mevcut fiyat)
- Toplanmamış ücretler
- Akış başına bekleyen ödüller
- Aralık:
[tickLower_price, tickUpper_price]mevcut fiyatın aralık içinde olup olmadığını gösteren görsel bir çubukla
Farm stake
reward_per_share_x64’ü tembel güncelleme formülüyle yenileyin (geçen zaman × emisyon oranı ÷ toplam_stake).
Önizleme için işlem simülasyonu
Kullanıcı imzalamadan önce, cüzdanlar genellikle bakiye değişikliklerini önizler.simulateTransaction kullanın:
accounts parametresi doğrulayıcıdan listelenen adresler için simülasyon sonrası hesap durumunu döndürmesini ister. Bakiye değişimini yalnızca talimat şeklinden tahmin etmeye çalışmaktan çok daha doğru.
Simülasyon tuzakları
- CLMM swap’leri geçerli tick dizileri gerektirir. Kullanıcının giriş boyutu başlatılmamış bir tick dizisine geçerse, simülasyon geri döner (yürütme gibi). Bunu arayüzde açıkça gösterin.
- Öncelik ücreti. Simülasyon, hesaplama bütçesi talimatları uygulanmadan çalışır. Varsayılan 200k CU’yu aşacak büyük bir işlem için simülasyon başarısız olur ancak açık CU sınırı ile gerçek yürütme başarılı olur. Simüle edilen tx’e de CU sınırını ayarlayın.
- Taze blockhash. Simülasyon mevcut blockhash’i kullanır; imzalama 60 saniyeden fazla sürerse tx geçersiz hale gelir. Kullanıcı tereddüt ederse yeniden simüle edin.
Token-2022 görüntüleme
Token-2022 programı altındaki token’lar cüzdanın token listesinde bu şekilde etiketlenmelidir, çünkü farklı risk yüzeylerine sahiptirler:- Transfer-fee mint’leri: mevcut
transferFeeBasisPoints’i bakiyenin yanında “Transfer ücreti: X%” olarak gösterin. Alırken uyarı verin — kullanıcılar gönderenin gönderdiğinden daha az alacaklarını fark etmeyebilir. - Transfer-hook mint’leri: hook program ID’sini gösterin. Kötü niyetli bir hook giden transferleri engelleyebilir; kullanıcılar hook’un beklediği şey olduğunu doğrulamalıdır.
- Aktarılamayan mint’ler: “Aktarılamayan” gösterin ve swap/gönder’i devre dışı bırakın. Bunlar tipik olarak soulbound token’lar veya kimlik bilgileridir.
- Faiz getiren mint’ler:
TokenAccount.amount’dan türetilen UI bakiyesi **tahakkuk eden faizi yansıtmaz. Görüntülenen değer için@solana/spl-token’danamountToUiAmount’ı kullanın (ölçekleme faktörünü uygular).
Farm APR görüntüleme
Kullanıcılara gösterilen APR, tüm canlı ödül akışlarını birleştirmeli, USD’ye dönüştürmeli ve yıllıklandırmalıdır:APR: X.Y% olarak gösterin. Stake mint’i bir LP token’ı ise, temel LP’nin temel ücret APR’sini de hesaplayın ve toplamı “Toplam APR” veya “APR + ücretler” olarak etiketleyin.
İşaretçiler
products/clmm/ticks-and-positions— pozisyon-değeri türetme.products/farm-staking/accounts— farm durum alanları.algorithms/token-2022-transfer-fees— transfer-fee token’ları için görüntüleme semantiği.
- Raydium SDK v2 — pozisyon/farm yardımcıları.
api-v3.raydium.ioüzerinde kullanıcı-pozisyon uç noktaları.

