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 →
Üç program, üç şema. Farm v3, v5 ve v6 ayrı programlardır ve ayrı durum düzenlerine sahiptir. Bu sayfa her birini yan yana belgelemektedir. Uygulamada çoğu yeni entegrasyon v6’yı hedefler; v3 ve v5, çoğu entegratör için salt okunurdur (staking çok zamanlar önce orada gerçekleşti ve havuzlar durdurma aşamasındadır).

Hesap envanteri (havuz başına, herhangi bir versiyon)

SDK, raydium.farm.getFarmById üzerinde tam seti döndürür. Keyfi üçüncü taraf havuzlar için, API uç noktası GET https://api-v3.raydium.io/main/farms/info?ids=<FARM_ID> da bunları döndürür.

FarmState düzeni — v6

v6 güncel sürümdür. Hesap yapısı en geneldir.
Entegratör açısından ilgili alanlar:
  • staking_mint, staking_vault — stake edilen ve kaldığı yer.
  • total_staked — güncel toplam. APR hesaplamak için gerekli: reward_per_second × 86400 / total_staked.
  • reward_infos[i].emission_per_second_x64 — Q64.64 oranı. Saniyedeki gerçek token sayısı için 2^64 ile bölün.
  • reward_infos[i].open_time / end_time — UI “X gün kaldı” ekranları için.
  • reward_infos[i].reward_per_share_x64UserLedger borç hesabının yaptığı sayaç.

FarmState düzeni — v5

v6’dan farklar:
  • Saniyede değil slot başına. v5’in güncelleme döngüsü duvar saati yerine slot’lar üzerinde çalışır. SDK bunu UI için “saniye başına” normalize eder ancak zincir üzerinde birim slot’tur.
  • Tamsayı emission oranı. reward_per_second, u64’tür. Bu, minimum ifade edilebilir oranı saniye başına 1 birim ile sınırlar, bu da 9 ondalak mint’lerde düşük-emission stream’leri için çok kabadır. v6 bunu Q64.64 oranıyla düzeltti.
  • reward_sender yok. v5’te sahip örtülü göndericidir; yalnızca owner toplandırabilir.

FarmState düzeni — v3

Tek reward. Slot tabanlı. En eski program nesleri, v5’ten önceki RAY-USDC ve SOL-USDC havuzları için canlı tutulan.

UserLedger (v6) / UserStake (v5/v3)

Kullanıcı başına durum, (farm, user) çifti başına bir hesap. Seeded PDA:
(Seed dizgileri SDK’nın kullandığı değerlerdir; program sürümleri tarihsel olarak bunları değiştirmişlerdir. Güvenlikle ilgili herhangi bir şey için v6 kaynağına karşı doğrulayın.)
Stream başına borç, özette açıklanan muhasebe ofseti:
Her Deposit, Withdraw veya Harvest sonra, borç güncel deposited × reward_per_share_x64[i] / 2^64’e sıfırlanır.

Authority PDA’ları

Üç sürümün tümü, farm authority’i havuz başına tek bir seed ile türetir. Bu PDA, staking vault’u ve her reward vault’u üzerinde authority’dir. Farm’ın yaptığı her transfer’i imzalar.

Vault’lar

Staking ve reward vault’ları, owner’ı farm authority PDA olan standart SPL Token hesaplarıdır. Adresler FarmState’de saklanır — yeniden türetmeyin; durumdan okuyun. Freeze authority’leri v5/v6’da staking mint’inde devre dışı bırakılmalıdır (program kontrol eder). Token-2022 notları:
  • v3: Yalnızca SPL Token.
  • v5: Yalnızca SPL Token.
  • v6: staking_token_program / reward_token_program alanlarıyla kontrol edilen staking ve reward mint’lerinde Token-2022’yi destekler. Token-2022 reward mint’lerinde transfer ücretleri emit sırasında tahsil edilir (vault → user).

Gözlem ve APR

Havuzlar APR’yi zincir üzerinde saklamaz. Hesaplamak için:
Tüketiciler genellikle staking_mint_usd_price’ı LP’nin ait olduğu havuzdan (api-v3.raydium.io/pools/info/ids aracılığıyla) ve reward_usd_price’ı herhangi bir fiyat oracle’dan çekerler.

Sıradaki nedir?

Kaynaklar: