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.
LaunchLab dar bir talimat setini sunar: altı kullanıcı taraflı çağrı ve bir avuç yönetici primitifi. SDK hepsini sarmalamaktadır; bu sayfa, aggregatör, izleme araçları ve CPI gerektiren programlar için ham arayüzü belgelemektedir.
Talimat envanteri
| Grup | Talimat | Çağrılabilir kaynaklar |
|---|
| Küresel yapılandırma | CreateConfig / UpdateConfig | Yönetici |
| Başlatma yaşam döngüsü | Initialize / InitializeV2 | Herkes (oluşturucu) — SPL Token başlatmaları; V2, amm_creator_fee_on öğesini sonraki CPMM mezuniyet için kaydeder |
| Başlatma yaşam döngüsü | InitializeWithToken2022 | Herkes (oluşturucu) — Token-2022 başlatması, isteğe bağlı TransferFeeConfig |
| İşlem | BuyExactIn / BuyExactOut | Herkes — bağlama eğrisi üzerinde tam-giriş / tam-çıkış alışveriş |
| İşlem | SellExactIn / SellExactOut | Herkes — bağlama eğrisi üzerinde tam-giriş / tam-çıkış satış |
| Mezuniyet | MigrateToAmm | Göç cüzdanı (GlobalConfig’te ayarlanan) — AMM v4’e mezun ol. amm_creator_fee_on = BothToken olduğunda kullanılır, böylece yaratıcı ücreti her iki taraftan da tahsil edilebilir. |
| Mezuniyet | MigrateToCpswap | Göç cüzdanı — CPMM’ye mezun ol. amm_creator_fee_on = QuoteToken olduğunda kullanılır ve Token-2022 başlatmaları için gereklidir. CPMM’de InitializeWithPermission’ı sarmalamaktadır. |
| Ücretler | CollectFee | Yönetici — bir başlatmadan protokol ücretlerini temizle |
| Ücretler | CollectMigrateFee | Yönetici — biriken göç ücretlerini temizle |
| Ücretler | ClaimCreatorFee | Oluşturucu — eğri aşaması sırasında biriken yaratıcı ücretlerini talep et |
| Vesting | CreateVestingAccount | Oluşturucu — kilitli belirteçleri bir lehtar için ayır, mezuniyet sonrasında kilidi açılır |
| Vesting | CreatePlatformVestingAccount | Platform yöneticisi — kilitli belirteçleri platform taraflı lehtarlar için ayır |
| Vesting | ClaimVestedToken | Lehtar — resepsiyon sonrasında kilidi açılmış belirteçleri talep et |
| Platform yapılandırması | CreatePlatformConfig / UpdatePlatformConfig | Platform yöneticisi |
| Platform yapılandırması | UpdatePlatformCurveParam / RemovePlatformCurveParam | Platform yöneticisi — platform başına izin verilen eğri şekillerinin listesini yönetin |
| Platform ücretleri | ClaimPlatformFee / ClaimPlatformFeeFromVault | Platform yöneticisi |
| Platform erişimi | CreatePlatformGlobalAccess / ClosePlatformGlobalAccess | Yönetici — belirli bir GlobalConfig’in hangi platformlar tarafından kullanılabileceğini belirle |
“ExactIn/ExactOut” bölünmesi CPMM’nin SwapBaseInput / SwapBaseOutput öğesini yansıtır — zincir üzerinde bunlar, hafifçe farklı yuvarlama ile ayrı talimat ayırıcılarıdır.
Mezuniyet yolunun seçimi. migrate_type, Initialize{V2,WithToken2022} zamanında PoolState’te kaydedilir ve iki mezuniyet talimatından hangisinin çalışabileceğini belirler. Token-2022 başlatmaları her zaman CPMM’ye geçiş yapır. SPL Token başlatmaları, amm_creator_fee_on ayarına bağlı olarak AMM v4 veya CPMM’ye geçiş yapır:
BothToken → MigrateToAmm → AMM v4 havuzu (yaratıcı ücreti her iki taraftan tahsil edilebilir; AMM v4’ün yerel bir yaratıcı-ücret alanı yoktur, bu nedenle yaratıcı ücretleri bunun yerine LP-kilit NFT mekanizması aracılığıyla alınır).
QuoteToken → MigrateToCpswap → creator_fee_on = OnlyQuoteToken ile CPMM havuzu (yaratıcı LaunchLab Ücret Anahtarı NFT’si aracılığıyla CPMM havuzundan ücret almaya devam eder — products/launchlab/creator-fees adresine bakın).
AmmCreatorFeeOn enum adı hakkında not. Rust kaynağı bu enum’u AmmCreatorFeeOn olarak adlandırır ve QuoteToken ile BothToken varyantlarına sahiptir. Ad yanıltıcıdır: mevcut operasyonel uygulamada, varyant sadece yaratıcı ücreti hangi taraftan mezuniyet sonrası CPMM havuzunda tahsil edildiğini kontrol etmekle kalmaz — aynı zamanda mezuniyet hedef programını (AMM v4 vs CPMM) seçer ve başlatmanın PoolState’tindeki migrate_type ile eşleşir. Alanı “göç hedefi + mezuniyet sonrası yaratıcı-ücret tarafı” olarak birleştirilmiş olarak düşünün. Zincir üzerindeki enum adı yeniden düzenlenmiştir, ancak MigrationTarget olarak akıl yürütmek gerçeğe daha yakından uyar.
Initialize
Yeni bir başlatma oluşturun.
Argümanlar
launch_params: {
curve_type: u8,
base_supply_max: u64,
base_supply_graduation: u64,
k: u128, // veya curve_type=1 için initial_virtual_quote_reserve
open_time: u64,
quote_mint: Pubkey,
base_token_metadata: { // satır içi ad/sembol/uri; program Metaplex'e CPI yapar
name: String,
symbol: String,
uri: String,
},
fees: {
buy_numerator: u64,
buy_denominator: u64,
sell_numerator: u64,
sell_denominator: u64,
lp_share: u64,
creator_share: u64,
protocol_share: u64,
total_share: u64,
},
post_graduation_lp_policy: u8, // 0 = Burn, 1 = Lock, 2 = ToCreator
}
Hesaplar (kısaltılmış)
| # | Ad | W | S | Notlar |
|---|
| 1 | creator | W | S | Kira + temel mint oluşturmayı öder. |
| 2 | launch_config | | | Protokol yapılandırması bağlaması. |
| 3 | launch_state | W | | Yeni hesap. |
| 4 | launch_authority | | | PDA. |
| 5 | base_mint | W | S | Taze Keypair (veya PDA) — bu talimat bunu başlatır. |
| 6 | base_vault | W | | launch_authority’nin base_mint’teki ATA’sı. |
| 7 | quote_mint | | | |
| 8 | quote_vault | W | | launch_authority’nin quote_mint’teki ATA’sı. |
| 9 | metadata | W | | Metaplex metadata PDA. |
| 10 | metaplex_program | | | |
| 11 | token_program | | | Yalnızca SPL Token. |
| 12 | system_program | | | |
| 13 | rent | | | |
Ön koşullar
quote_mint ∈ launch_config.allowed_quote_mints.
base_supply_graduation ≤ base_supply_max.
- Ücret parametreleri
launch_config.max_*_fee_rate kontrolleri geçer.
open_time ≥ now − slop (SDK ≥ now uygular; program hafif geriye dönük tarihlemeyi tolere eder).
curve_type tanınmaktadır.
Sonkoşullar
base_mint supply = base_supply_max’a sahiptir, hepsi base_vault’ta.
base_mint.mint_authority = launch_authority, freeze_authority = None.
LaunchState status = Active, base_sold = 0, quote_reserve_real = 0 ile başlatılır.
quote_reserve_target eğri parametrelerinden + base_supply_graduation + buy_numerator (yaklaşık olarak) hesaplanır.
Yaygın hatalar — InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (kanonik varyant: BuyExactIn)
Kullanıcı sabit bir quote_in sağlar; eğri base_out’u hesaplar.
Argümanlar
quote_in: u64
minimum_base_out: u64
Hesaplar
| # | Ad | W | S |
|---|
| 1 | user | W | S |
| 2 | launch_state | W | |
| 3 | launch_authority | | |
| 4 | base_vault | W | |
| 5 | quote_vault | W | |
| 6 | user_base_ata | W | |
| 7 | user_quote_ata | W | |
| 8 | base_mint | | |
| 9 | quote_mint | | |
| 10 | token_program | | |
| 11 | associated_token_program | | |
| 12 | system_program | | |
Ön koşullar
launch_state.status == Active.
now ≥ open_time.
user_quote_ata.balance ≥ quote_in.
quote_in > 0.
Etki
quote_in’i quote_in_after_fee ve ücret kısımlarına böl.
- Post-ücret teklifi verilen
base_out için eğriyi Newton-çöz.
require(base_out ≥ minimum_base_out) aksi halde ExceededSlippage ile geri dön.
quote_in kullanıcısını → kasaya taşı. base_out kasasını → kullanıcıya taşı.
base_sold += base_out, quote_reserve_real += quote_in_after_fee × (lp_share / total_share) güncelle.
- Ücret sayaçlarını güncelle (
protocol_fees_quote, creator_fees_quote).
state_data.num_buys += 1.
- Güncellendikten sonra
quote_reserve_real ≥ quote_reserve_target ise, SDK tipik olarak aynı işlemde bir Graduate ix zincirlemektedir. Program Buy içinde otomatik mezuniyet yapmaz — sonraki bir Graduate gereklidir.
BuyExactOut
Kullanıcı tam base_out’u belirtir; program quote_in’i hesaplar.
Argümanlar
base_out: u64
maximum_quote_in: u64
BuyExactIn ile aynı hesaplar. Newton iterasyonu yerine kapalı form ikinci dereceden integral (veya CPMM tersi, curve_type 1 için) kullanır.
Sell / SellExactIn / SellExactOut
Buy’ın aynalanması. Kullanıcı base_in’i eğriye geri döndürür ve quote_out alır. Ücret quote_out’dan düşülür, bu nedenle kullanıcı ham entegre gelirden daha az alır.
Ön koşullar —
user_base_ata.balance ≥ base_in.
- Satış
base_sold’u 0’ın altına itemiyor (muhasebe tutarlı olarak bu ile fazlalıklı).
- Başlatma
Active’dir.
Etki — Buy ile simetrik. base_sold azalır, quote_reserve_real azalır. Ücretler yine de tahakkuk eder.
MigrateToAmm / MigrateToCpswap
Eğri total_quote_fund_raising’e vurduktan sonra, bir başlatmayı ticari bir AMM havuzuna mezun edin. İki talimat, iki mezuniyet hedefine karşılık gelir — AMM v4 ve CPMM — ve herhangi bir başlatma için bunlardan sadece biri geçerlidir, pool_state.migrate_type tarafından belirlenmiştir (Initialize zamanında ayarlanan).
Kim imzalar
MigrateToAmm — bağlama GlobalConfig’te kaydedilen migrate_to_amm_wallet.
MigrateToCpswap — bağlama GlobalConfig’te kaydedilen migrate_to_cpswap_wallet.
Bu cüzdanlar tipik olarak Raydium tarafından işletilen mezuniyet krank tarafından tutulur; uygulamada mezuniyet, sonraki alışı tetikleyen ne olursa olsun, eşik aşıldıktan saniyeler sonra iner.
Argümanlar
MigrateToAmm üç tane alır (esas olarak programın AMM v4’e ilettiği OpenBook pazar parametreleri):
base_lot_size: u64
quote_lot_size: u64
market_vault_signer_nonce: u8
MigrateToCpswap hiçbir şey almaz.
Etki (her ikisi için ortak)
pool_state.status == Migrate’i doğrulayın (yani, quote_reserve_target ulaşılmış). Aksi halde PoolMigrated (durum zaten Migrated oldu) veya PoolFunding (hala finansmandadır) ile geri dön.
pool_state.migrate_type’ın talimata uygun olduğunu doğrulayın (0 AMM için, 1 CPMM için). Aksi halde MigrateTypeNotMatch ile geri dön.
- Mezuniyet sonrası rezervleri hesaplayın:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- Hedef programa CPI yap (
AMM v4 Initialize2 veya CPMM InitializeWithPermission) bu rezervlerle mezuniyet sonrası havuzunu oluşturmak.
- Sonuçta ortaya çıkan LP’yi bağlama
PlatformConfig.{platform_scale, creator_scale, burn_scale} (CPMM yalnız) — bir parça platform_nft_wallet’e basılmış, biri LP-Lock programı tarafından sarılmış bir yaratıcı NFT’ye, biri Burn & Earn aracılığıyla yakılmış. AMM v4 mezuniyeti için, LP düzeni AMM v4’ün kendi başlatma parametreleri tarafından yönetilir.
base_mint.mint_authority’yi iptal edin (sıfıra ayarlayın).
pool_state.status = Migrated ters çevir, vesting_schedule.start_time = block_time + cliff_period ayarlayın.
Sonkoşullar — BuyExactIn, BuyExactOut, SellExactIn, SellExactOut bu noktadan itibaren PoolMigrated ile red edecektir. Ortaya çıkan AMM havuzu kanonik ve diğer herhangi bir AMM v4 / CPMM havuzu gibi ticaret yapar.
Yaygın hatalar — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
CollectFee
Tek bir başlatmada protokolün biriken ticaret ücretlerinin yönetici temizliği.
Argümanlar — hiçbiri.
Hesaplar
| # | Ad | W | S | Notlar |
|---|
| 1 | protocol_fee_owner | | S | global_config.protocol_fee_owner değerine eşit olmalıdır. |
| 2 | authority | | | PDA [b"vault_auth_seed"]; kasa transferini imzalar. |
| 3 | pool_state | W | | quote_protocol_fee’yi sıfırlamak için mutasyon. |
| 4 | global_config | | | İmzalayanın gerçek kaynağı. |
| 5 | quote_vault | W | | quote_protocol_fee tarafından boşaltılmıştır. |
| 6 | recipient_token_account | W | | protocol_fee_owner’ın quote_mint’teki ATA’sı. |
| 7 | quote_mint | | | |
| 8 | token_program | | | SPL Token (teklif taraması her zaman SPL Token’dır). |
Etki — pool_state.quote_protocol_fee’yi quote_vault’tan recipient_token_account’a aktar, sonra sayacı sıfırla. İlk alışveriş sonrasında istediğiniz zaman çağrılabilir.
CollectMigrateFee
Mezuniyette biriken göç ücretinin yönetici temizliği. CollectFee ile aynı hesap şekli (protocol_fee_owner yerine imzalayanı migrate_fee_owner olarak) ve pool_state.migrate_fee drained sayacı.
ClaimCreatorFee
Aynı teklif yalanını kullanan sahip olduğu her başlatma genelinde biriken yaratıcı ücretlerinin yaratıcı başına temizliği. Per-pool’u değil, per-creator ücret kasasını boşaltır.
Argümanlar — hiçbiri.
Hesaplar
| # | Ad | W | S | Notlar |
|---|
| 1 | creator | W | S | Havuz yaratıcısı. |
| 2 | fee_vault_authority | | | PDA [b"creator_fee_vault_auth_seed"]. |
| 3 | creator_fee_vault | W | | PDA’da [creator, quote_mint] tohumları; toplu yaratıcı kasası. |
| 4 | recipient_token_account | W | | init_if_needed; creator’ın quote_mint’teki ATA’sı. |
| 5 | quote_mint | | | |
| 6 | token_program | | | |
| 7 | system_program | | | Gerekirse ATA oluşturması için. |
| 8 | associated_token_program | | | |
Etki — creator_fee_vault’ın tüm bakiyesini recipient_token_account’a aktar. Kasa boşsa sıfırdan daha büyük kontrol ile geri dön.
Bir başlatmanın teklif kasasını doğrudan boşaltan platform başına temizlik. Bunu, bir platform toplanmış platform kasası aracılığıyla gitmeden belirli bir başlatma için dilimini talep etmek istediğinde kullanın.
Argümanlar — hiçbiri.
Hesaplar
| # | Ad | W | S | Notlar |
|---|
| 1 | platform_fee_wallet | W | S | platform_config.platform_fee_wallet değerine eşit olmalıdır. |
| 2 | authority | | | PDA [b"vault_auth_seed"]. |
| 3 | pool_state | W | | pool_state.platform_fee tarafından boşaltılmıştır. |
| 4 | platform_config | | | İmzalayanın gerçek kaynağı. |
| 5 | quote_vault | W | | Boşaltılmıştır. |
| 6 | recipient_token_account | W | | init_if_needed; platform_fee_wallet’in ATA’sı. |
| 7 | quote_mint | | | |
| 8 | token_program | | | |
| 9 | system_program | | | |
| 10 | associated_token_program | | | |
Etki — pool_state.platform_fee’yi quote_vault’tan recipient_token_account’a aktar, sayacı sıfırla.
Platform başına toplanmış temizlik. Platform aracılığıyla yönlendirilen her başlatmadan ücretleri biriktiren platform’un per-quote-mint ücret kasasını boşaltır.
Argümanlar — hiçbiri.
Hesaplar
| # | Ad | W | S | Notlar |
|---|
| 1 | platform_fee_wallet | W | S | platform_config.platform_fee_wallet değerine eşit olmalıdır. |
| 2 | fee_vault_authority | | | PDA [b"platform_fee_vault_auth_seed"]. |
| 3 | platform_config | | | |
| 4 | platform_fee_vault | W | | PDA’da [platform_config, quote_mint] tohumları. |
| 5 | recipient_token_account | W | | init_if_needed; platform_fee_wallet’in ATA’sı. |
| 6 | quote_mint | | | |
| 7 | token_program | | | |
| 8 | system_program | | | |
| 9 | associated_token_program | | | |
Etki — platform_fee_vault’ın tüm bakiyesini recipient_token_account’a aktar. Kasa boşsa geri dön.
Bunlar, her biri kendi durum modeline sahip olduğu için ayrılmış sayfalarda belgelenmiştir:
Durum değişim matrisi
| Talimat | status | real_base | real_quote | Ücret sayaçları | Mezuniyet sonrası havuzu |
|---|
Initialize{V2,WithToken2022} | Funding | 0 | 0 | 0 | — |
BuyExactIn(q_in) | Funding | +∆ | +∆q_after_fee | quote_protocol_fee += ∆, platform_fee += ∆ | — |
SellExactIn(b_in) | Funding | −∆ | −∆q_before_fee | (aynı) | — |
| Eşik ulaşıldı | → Migrate | — | — | — | — |
MigrateToAmm / MigrateToCpswap | → Migrated | (donmuş) | (donmuş) | migrate_fee set | oluşturulan, LP PlatformConfig başına bölünmüş |
CollectFee / CollectMigrateFee | herhangi | — | — | sayaç sıfırlanmış | — |
ClaimCreatorFee / ClaimPlatformFee* | herhangi | — | — | kasayı boşaltır | — |
CreateVestingAccount | Funding | — | — | — | allocated_share_amount bumps |
ClaimVestedToken | Migrated | — | — | — | base_vault boşaltır |
Sonraki nereye gitmeli
Kaynaklar: