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 →
AMM v4 talimatları düzenli olarak hem pool tarafı (AMM v4 program hesapları) hem de market tarafı (bağlı market için OpenBook hesapları) bekler. Her iki hesap grubunu da atlamak veya eşleştirmemek işlemi tersine çevirir. Aşağıdaki hesap listeleri açıklık için Raydium SDK’dan alan adlarını kullanır; temel IDL bazen serum_* önekleri kullanır.

Talimat envanteri

GrupTalimatNotlar
Pool yaşam döngüsüInitialize2Şu anki pool oluşturma talimatı (hala işlevsel; UI yeni poollar için CPMM’ye varsayılan ayarlanır).
LikiditeDepositLikidite ekleyin, LP alın.
LikiditeWithdrawLP yakın, her iki tarafını orantılı olarak alın.
SwapSwapBaseInTam giriş swapı (tam yol: vault’lar + OpenBook).
SwapSwapBaseOutTam çıkış swapı (tam yol).
SwapSwapBaseInV2OpenBook’u atlayan tam giriş swapı — sadece vault’lar, daha az hesap.
SwapSwapBaseOutV2OpenBook’u atlayan tam çıkış swapı.
BakımSetParamsAdmin: pool parametrelerini değiştirin.
BakımWithdrawPnlBirikmiş protokol PnL’sini PnL-sahibi hesaplara taşıyın.
BakımCreateConfigAccountAdmin: program düzeyinde AmmConfig PDA’sını başlatın.
BakımUpdateConfigAccountAdmin: program düzeyinde yapılandırma parametrelerini değiştirin.
SDK kullanıcıya dönük talimatlar için derleyicileri ortaya koyar. Bakım talimatları tipik olarak Raydium keeper tarafından çağrılır.

Initialize2

Mevcut bir OpenBook market’ine bağlı yeni bir AMM v4 pool’u başlatın. Argümanlar
nonce:        u8
open_time:    u64
init_pc_amount:   u64
init_coin_amount: u64
Hesaplar (yazılabilir W, imzalayanlar S)
#AdWSNotlar
1token_programSPL Token.
2system_program
3rent
4ammWAmmInfo hesabı (seeded anahtar).
5amm_authorityProgram PDA’sı.
6amm_open_ordersWOpenBook OpenOrders (seeded).
7lp_mintW
8coin_mint
9pc_mint
10pool_coin_token_accountW
11pool_pc_token_accountW
12pool_withdraw_queueW
13pool_target_orders_accountW
14pool_lp_token_accountWYaratıcının LP ATA’sı.
15pool_temp_lp_token_accountWGeçici hesap.
16market_programOpenBook programı.
17marketOpenBook market’i.
18user_walletWSYaratıcı. Kira öder ve ilk depozitoyu finanse eder.
19user_token_coinW
20user_token_pcW
Son koşullar
  • lp_supply = sqrt(init_coin_amount × init_pc_amount) − INIT_BURN, burada INIT_BURN ≈ 100 LP birimi dolaşımdan çıkarılmış durumda tutulur.
  • OpenBook emirleri henüz gönderilmemiştir; ilk MonitorStep ilk ızgarayı gönderir.
Yaygın hatalarInvalidInput (eşleşmeyen ondalıklar, sıralanmamış), NotApproved, OpenBook tarafı InvalidMarketState.

Deposit

Likidite ekleyin. Argümanlar
max_coin_amount: u64
max_pc_amount:   u64
base_side:       u64    // 0 = coin üzerinde base, 1 = pc üzerinde base
// (bazı SDK varyantları other_amount_min'i de kabul eder)
Hesaplar (kısaltılmış)
#AdWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5amm_target_ordersW
6lp_mintW
7pool_coin_token_accountW
8pool_pc_token_accountW
9market
10user_coin_token_accountW
11user_pc_token_accountW
12user_lp_token_accountW
13user_ownerS
Matematik — standart orantılı. Pool’un etkili rezervlerini (vault’lar + kitapta) kullanarak SDK, verilen LP miktarını verecek coin/pc çiftini hesaplar ve bunu max_* karşısında kontrol eder. Her iki taraf da sınırı aşarsa ExceededSlippage ile geri döner.

Withdraw

LP’yi yakın, her iki tarafını alın. Argümanlar
amount: u64    // Yakılacak LP
HesaplarDeposit gibi yön ters çevrilmiş; lp_mint yakma için yazılabilir, kullanıcı ATA’ları alıcılardır. Pro-rata matematiğinden önce içeride bir MonitorStep benzeri OpenBook’tan taşıma adımı gerçekleşir, böylece itfa işlemi taze rezervleri kullanır.

SwapBaseIn

Tam giriş swapı. Her zaman bir AMM-yolu swapıdır (OpenBook eşleştirmesi aracılığıyla yönlendirilmez).
Yeni kod için V2 varyantlarını kullanın. AMM v4 artık likiditeyi OpenBook’la paylaşmadığından, tam OpenBook hesap setini doğrulama için hala gerektiren V1 giriş noktaları (SwapBaseIn, SwapBaseOut) işlevsel olarak gereksizdir. Yeni entegrasyonlar çok daha küçük hesap listeleri alan ve bugün kanonik yürütme yolunu temsil eden SwapBaseInV2 / SwapBaseOutV2 kullanmalıdır. V1 formları burada eksiksiz olmak ve mevcut zincir üstü işlemleri okumak için belgelenmiştir.
Argümanlar
amount_in:            u64
minimum_amount_out:   u64
Hesaplar (kısaltılmış)
#AdWS
1token_program
2ammW
3amm_authority
4amm_open_ordersW
5amm_target_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8market_program
9marketW
10market_bidsW
11market_asksW
12market_event_queueW
13market_coin_vaultW
14market_pc_vaultW
15market_vault_signer
16user_source_token_accountW
17user_dest_token_accountW
18user_ownerS
Matematik — bkz. products/amm-v4/math. Ön koşullar
  • amm.status swapına izin verir (durum bitmaskının bit 0 ayarlanmamış).
  • amm.state_data.pool_open_time <= now.
  • amount_in > 0.
  • user_source_token_account en az amount_in tutmaktadır.
Son koşullar
  • Kullanıcı kaynak token’ın amount_in’ini kaybeder, hedef token’ın amount_out ≥ minimum_amount_out’unu kazanır.
  • state_data.swap_*_in_amount ve swap_*_out_amount arttırılır (analitik için).
  • need_take_pnl_* protokol ücreti payı ile arttırılır.
Yaygın hatalarExceededSlippage, InvalidInput, InvalidStatus, InvalidMarket.

SwapBaseOut

Tam çıkış, SwapBaseIn’in tersi. Aynı hesaplar. Argümanlar
max_amount_in: u64
amount_out:    u64

SwapBaseInV2 / SwapBaseOutV2

OpenBook hesaplarını tamamen atlayan varyant swap giriş noktaları. Matematik V1 yoluyla özdeştir, ancak hesap listesi yalnızca AMM tarafına küçülür:
#AdWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5pool_coin_token_accountW
6pool_pc_token_accountW
7user_source_token_accountW
8user_dest_token_accountW
9user_ownerS
Pool’un etkili rezervleri hala OpenBook’a gönderilen token’ları hesaba katmaktadır, bu yüzden teklifin matematği değişmemiştir. İşlem ve hesap listesini küçültmek için V2’yi kullanın ve aynı işlemde OpenBook cranking ihtiyaç duymadığınızda market hesaplarını iletmekten kaçının. Raydium yönlendiricisi AMM v4’ü yönlendirirken her zaman V2 formunu kullanır. Argümanlar V1 formlarıyla aynıdır (SwapBaseInV2 için amount_in / minimum_amount_out; SwapBaseOutV2 için max_amount_in / amount_out).

MonitorStep (eski / atıl)

Artık cranked değildir. AMM v4 artık likiditeyi OpenBook’la paylaşmadığından, MonitorStep’in yapacak bir şeyi yoktur — pool’un gönderilecek, iptal edilecek veya değiştirilecek emirleri yoktur. Talimat geriye dönük uyumluluk için zincir üstü programda kalır ancak Raydium keeper artık bunu çağırmaz. Manuel olarak çağırmak etkili olarak bir işlem-uzun (zerolu durum yenileme dışında) ve entegratörler tarafından gerekli olmamalıdır.
Başlangıçta bu talimat pool’un OpenBook etkileşimini cranked etti. Argümanlar
plan_order_limit:   u16
place_order_limit:  u16
cancel_order_limit: u16
Hesaplar — bir swap için yukarıdaki her şey plus idari OpenBook hesapları. Orijinal etki (şu anda pratikte artık ilişkili değildir):
  • Herhangi bir doldurulan emri taşıdı (bunların gelirleri OpenBook CPI aracılığıyla market_coin_vault/market_pc_vault’tan pool’un vault’larına taşındı).
  • Fiyatları veya boyutları artık target_orders ile eşleşmeyen eski emirleri iptal etti.
  • target_orders ve amm_open_orders arasındaki boşluğu kapatmak için yeni emirler gönderdi.
İzinsiz. Herhangi bir hesap bunu çağırabilir; tarihsel olarak Raydium keeper bunu düzenli olarak yaptı.

WithdrawPnl / TakePnl

Birikmiş protokol ücretlerinin yönetici taraması. Argümanlar
  • WithdrawPnl argüman almaz; need_take_pnl_* okur ve tam bu miktarları taşır.
Hesaplar (kısaltılmış)
#AdWS
1token_program
2ammW
3amm_authority
4amm_config
5amm_open_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8pnl_coin_token_accountWAlıcı, AmmConfig’de saklanmış.
9pnl_pc_token_accountW
10pnl_ownerSAdmin multisig.
11market_program
12marketW
13market_event_queueW
14market_coin_vaultW
15market_pc_vaultW
16market_vault_signer
Etki
  • need_take_pnl_coin’i pool_coin_token_account’tan pnl_coin_token_account’a taşır.
  • Pc için de aynı.
  • need_take_pnl_coin ve need_take_pnl_pc’yi sıfırlar.
Birikmiş PnL zaten değişmezden çıkarıldığından rezervlerde değişiklik yok.

SetParams

Yönetim parametresi değişiklikleri: durum bitmaskı, sıralama ızgarası derinliği, miktar dalgaları, ücretler (nadiren), vb. Raydium multisig tarafından çağrılır. Argümanlar bir param: u8 etiketi + payload’dır, CPMM’nin UpdateAmmConfig’ine benzerdir.

Durum değişimi matrisi

Talimatlp_mint arzıVault’larPnL sayaçlarıOpenBook
Initialize2yaratıcıya başlangıç arzı basılmış+ init_coin_amount, + init_pc_amount0OpenOrders oluşturulmuş
Deposit++ her ikisitaşıma doldurmaları
Withdraw− her ikisitaşıma doldurmaları
SwapBaseIn+ giriş, − çıkış+ pnl payıbelki ızgarayı yeniden gönder
SwapBaseOut+ giriş, − çıkış+ pnl payıbelki ızgarayı yeniden gönder
MonitorSteptaşıma doldurmalarıiptal / gönder
WithdrawPnl− (pnl taşındı)0
SetParams

Bundan sonra nereye gidilir

Kaynaklar: