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 →
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
“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 = OnlyQuoteTokenile CPMM havuzu (yaratıcı LaunchLab Ücret Anahtarı NFT’si aracılığıyla CPMM havuzundan ücret almaya devam eder —products/launchlab/creator-feesadresine bakın).
Initialize
Yeni bir başlatma oluşturun.
Argümanlar
Ön koşullar
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Ücret parametreleri
launch_config.max_*_fee_ratekontrolleri geçer. open_time ≥ now − slop(SDK≥ nowuygular; program hafif geriye dönük tarihlemeyi tolere eder).curve_typetanınmaktadır.
base_mintsupply = base_supply_max’a sahiptir, hepsibase_vault’ta.base_mint.mint_authority = launch_authority,freeze_authority = None.LaunchStatestatus = Active,base_sold = 0,quote_reserve_real = 0ile başlatılır.quote_reserve_targeteğri parametrelerinden +base_supply_graduation+buy_numerator(yaklaşık olarak) hesaplanır.
InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (kanonik varyant: BuyExactIn)
Kullanıcı sabit bir quote_in sağlar; eğri base_out’u hesaplar.
Argümanlar
Ön koşullar
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
quote_in’iquote_in_after_feeve ücret kısımlarına böl.- Post-ücret teklifi verilen
base_outiçin eğriyi Newton-çöz. require(base_out ≥ minimum_base_out)aksi haldeExceededSlippageile geri dön.quote_inkullanıcısını → kasaya taşı.base_outkasası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_targetise, SDK tipik olarak aynı işlemde birGraduateix zincirlemektedir. ProgramBuyiçinde otomatik mezuniyet yapmaz — sonraki birGraduategereklidir.
BuyExactOut
Kullanıcı tam base_out’u belirtir; program quote_in’i hesaplar.
Argümanlar
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.
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ğlamaGlobalConfig’te kaydedilenmigrate_to_amm_wallet.MigrateToCpswap— bağlamaGlobalConfig’te kaydedilenmigrate_to_cpswap_wallet.
MigrateToAmm üç tane alır (esas olarak programın AMM v4’e ilettiği OpenBook pazar parametreleri):
MigrateToCpswap hiçbir şey almaz.
Etki (her ikisi için ortak)
pool_state.status == Migrate’i doğrulayın (yani,quote_reserve_targetulaşılmış). Aksi haldePoolMigrated(durum zatenMigratedoldu) veyaPoolFunding(hala finansmandadır) ile geri dön.pool_state.migrate_type’ın talimata uygun olduğunu doğrulayın (0AMM için,1CPMM için). Aksi haldeMigrateTypeNotMatchile geri dön.- Mezuniyet sonrası rezervleri hesaplayın:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- Hedef programa CPI yap (
AMM v4 Initialize2veyaCPMM 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çaplatform_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 = Migratedters çevir,vesting_schedule.start_time = block_time + cliff_periodayarlayın.
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
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
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.
ClaimPlatformFee
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
Etki —
pool_state.platform_fee’yi quote_vault’tan recipient_token_account’a aktar, sayacı sıfırla.
ClaimPlatformFeeFromVault
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
Etki —
platform_fee_vault’ın tüm bakiyesini recipient_token_account’a aktar. Kasa boşsa geri dön.
Vesting ve platform-config talimatları
Bunlar, her biri kendi durum modeline sahip olduğu için ayrılmış sayfalarda belgelenmiştir:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformGlobalAccess,ClosePlatformGlobalAccessCreateConfig,UpdateConfig
Durum değişim matrisi
Sonraki nereye gitmeli
products/launchlab/code-demos— her talimat için TypeScript örnekleri.products/launchlab/accounts— tam durum şekli.reference/error-codes— LaunchLab hata enum’u.
- Raydium SDK v2
LaunchLabmodülü - Raydium LaunchLab program kaynağı

