Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

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 →

Hesap düzeni: baştan sona kullanıcı ATA’ları

Etkinleştirilen her takas varyantı ara tokenları kullanıcı tarafından kontrol edilen ATA’lar aracılığıyla yönlendirir. Kullanıcı giriş ATA’sını, tüm ara ATA’ları ve son çıkış ATA’sını sahiplendir. Etkin yüzeyde paylaşılan / yönlendirici tarafından sahiplenilen ara token hesabı yoktur. Özellikleri:
  • Kullanıcı ara her token için bir ATA’ya sahiptir.
  • Kullanıcı hesaplar listesinde her ATA’yı sağlar.
  • Her ara ATA zaten mevcut olmalıdır (CreateSyncNative ile wSOL için veya yönlendirmeden önce başka bir mint için SPL İlişkili Token Hesabı programı aracılığıyla başlatın).
  • Yönlendirici her atlama sırasında bir ATA’dan çıkıp sonraki havuzun kasasına aktarır.
  • Her ara ATA, rotanın sonunda başladığı bakiyeyi aynı tutar — rota önceki atlamanın ürettiğini tüketir.
USDC → SOL → STEP rotası için örnek akış:
Hesaplar listesi:
  [
    USDC_input_ata (user, signer),
    SOL_intermediate_ata (user),
    STEP_output_ata (user),
    token_program,

    amm_program_1, *amm1_accounts,    // atlama 1: USDC → SOL
    amm_program_2, *amm2_accounts,    // atlama 2: SOL → STEP
  ]

Atlama 1: USDC_input_ata → AMM1 → SOL_intermediate_ata
Atlama 2: SOL_intermediate_ata → AMM2 → STEP_output_ata

Atlama başına hesap düzeni

Her atlamanın hesapları ardı ardına geçirilir. Yönlendirici, her atlamanın bloğundaki ilk hesabı (program kimliği) okuyarak alt programı tanımlar, sonra doğru işleyiciye gönderir. Her atlama için yönlendirici şu şekilde gruplandırılmış hesapları bekler:
[
  program_id,         // Havuz programının hangisini belirtir (AMM v4, CPMM, CLMM, Stable)
  *child_accounts,    // O havuzun takas talimatında gerekli tüm hesaplar
]
Alt hesaplar havuz türüne göre değişir:

AMM v4 atlama

Yaklaşık 18 hesap: havuz, yetki, kasalar, mintler, OpenBook pazar hesapları (AMM v4’ün OpenBook entegrasyonu artık etkin olmasa bile geriye uyumluluk için hesap listesinde tutulur), token programları. Tam liste için products/amm-v4/accounts sayfasına bakın.

CPMM atlama

Yaklaşık 11–13 hesap: havuz durumu, yetki, kasalar (2), mintler (2), token programları, sistem programı, ilişkili token programı. products/cpmm/accounts sayfasına bakın.

CLMM atlama

Yaklaşık 15+ hesap: havuz, tik dizileri, kasalar, mintler, gözlem durumu, imzalayan, token programları. products/clmm/accounts sayfasına bakın.

Stable atlama

AMM v4’e benzer. products/stable/accounts sayfasına bakın.

Token akışı ve ATA sahipliği

  • Çağıran user_input_ata ile imzalar.
  • Çağıran tüm giriş, ara ve çıkış ATA’larının sahibi olmalıdır. Herhangi bir ara ATA’nın sahibi imzalayan değilse yönlendirici işlemi reddeder.
  • Çağıranın user_input_ata bakiyesi, ilk atlamanın girdisi için yeterli olmalıdır (etiket 0 / 8 için amount_in veya etiket 1 / 9 için maximum_amount_in).
  • Her ara ATA zaten zincir üzerinde mevcut olmalıdır. Mevcut değilse, önceden oluşturun — genellikle SPL İlişkili Token Hesabı programı aracılığıyla veya wSOL ATA’sı için CreateSyncNative (etiket 5) ile.

CreateSyncNative talimatı

Sarılmış SOL aracılığıyla yönlendirme yapmanız gerekiyorsa ve bir wSOL ATA’sını el ile oluşturmak ve senkronize etmek istemiyorsanız CreateSyncNative (etiket 5) kullanın:
CreateSyncNative(amount)
Bu, çağıranın cüzdanı altında bir wSOL ATA’sı oluşturur, amount SOL’yi Sistem Programı aracılığıyla içine aktarır ve bunu tek bir talimatla senkronize eder. Yönlendirmeden önce yeni bir wSOL ATA’sını başlatmak için faydalıdır.

CloseTokenAccount talimatı

Bir rota tamamlandıktan sonra — en yaygın olarak bir wSOL ATA’sı — herhangi bir ara ATA’sını kapatmak isteyebilirsiniz ve kirayı geri talep edin. CloseTokenAccount (etiket 6) kullanın:
CloseTokenAccount
Kapatmadan önce token hesabının token bakiyesi sıfır olmalıdır; yönlendirici otomatik olarak boşaltmayacaktır.

Sonrası