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 →
Bu sayfa başlatma başına hesap grafiğini belgeler:
PoolState (bir başlatma için kök durum hesabı), iki kasası, yetki PDA’sı ve başlatma kapandığında kazandığı mezuniyet sonrası referansları.Her başlatmayı sınırlayan protokol düzeyindeki yapılandırma için bkz. products/launchlab/global-config. Platform başına ek katman için bkz. products/launchlab/platform-config. Vesting hesapları (PoolState üzerinde VestingSchedule, yararlanıcı başına VestingRecord) için bkz. products/launchlab/vesting.Hesap envanteri
SDK bunu
raydium.launchpad.getRpcPoolInfo({ poolId }) ile okur; bu çağrı, bağlı GlobalConfig’i configInfo olarak ekleyerek kodu çözülmüş PoolState’i döndürür (toplu biçim için getRpcPoolsInfo({ poolIdList })). getLaunchById diye bir şey yoktur. Havuz kimliğinin kendisi (programId, mintA, mintB) üçlüsünün bir PDA’sıdır — getPdaLaunchpadPoolId.
PoolState
Başlatma başına kök durum. Aşağıdaki alan adları zincir üzerindeki Rust yapısıyla eşleşir (states/pool.rs); bazı değerler okunabilirlik için basitleştirilmiştir — tam bellek düzeni için kaynağa bakın.
PoolStatus değerleri (IDL’deki varyant adları Fund / Migrate / Trade):
status— üç değer, monoton (Fund→Migrate→Trade). Okumalar her zaman güvenli; yazımlar kapılı.ClaimVestedToken,Tradedurumunu gerektirir.real_base,real_quote— mevcut eğri durumu.virtual_base/virtual_quoteile birlikte kasalara dokunmadan spot fiyatı hesaplamak için yeterlidirler. Bkz.bonding-curve.total_base_sellvsreal_base— UI’ler için “mezuniyete doğru ilerleme” oranı.migrate_type— yeni başlatma1(CPSWAP) gerektirir. Depolanan0yalnızca CPMM-only uygulaması öncesinde oluşturulan mevcut bir başlatma için anlamlı kalır.amm_creator_fee_on— mezuniyet sonrası CPMM havuzundacreator_fee_on = OnlyQuoteToken(0) veyaBothToken(1) seçer. Göç hedefini seçmez. Bkz.creator-fees.token_program_flag— bir boolean değil, bir bit alanı. Bit0 temel mint, bit1 alıntı mint’tir, her biri SPL Token için0, Token-2022 için1’dir, bu nedenle bayt dört değer alır:0(her ikisi de eski),1(Token-2022 temel),2(Token-2022 alıntı),3(her ikisi de Token-2022). Bir mint’i(token_program_flag >> bit) & 1ile okuyun. Tüm baytı0ile karşılaştırarak temel mint’i sınıflandırmak2’yi yanlış programa çözer. Bit1, Token-2022 alıntı mintleri desteklenene kadar sabit0idi.quote_protocol_fee/platform_fee/migrate_fee— üç bağımsız ücret sayacı. Her birinin kendi talep talimatı vardır; bkz.instructions.vesting_schedule— herPoolStateüzerinde mevcut ancaktotal_locked_amount == 0olduğunda etkin değil. Tam yaşam döngüsü için bkz.vesting.
Yetki PDA’sı
LaunchLab, tüm başlatmalar arasında tek bir yetki PDA’sı kullanır, başlatma başına tohum olmadan türetilir:- Her başlatmanın
base_vaultvequote_vaultüzerinde yetki. base_mintüzerinde hiçbir şey değil — mint yetkilisiInitializeV2dönmeden önce iptal edilir (aşağıya bakın).- CPMM mezuniyet CPI’sinde imzalayan ve mevcut durum için eski AMM v4 mezuniyetinde.
ClaimVestedTokentransferlerinin temel kasadan dışarı imzalayanı.- Token-2022 temel mint’inin
TransferFeeConfigüzerindetransfer_fee_config_authority— vewithdraw_withheld_authorityda, ancak yalnızca platformPlatformConfig.transfer_fee_extension_authayarlamadığında.
mint_authority mezuniyet sırasında değil, başlatma talimatında iptal edilir: InitializeV2 ve InitializeWithToken2022 tam arzı base_vault içine basarlar ve ardından aynı talimatında MintTokens’ı None olarak ayarlarlar. Arz bu nedenle başlatma var olduğu andan itibaren sabitlenir ve göçün mint-authority adımı yoktur. Yan etki: kimse temel mint için imza atamaz, bu nedenle kirasını CollectExcessLamports tarafından geri talep edilemez.
İki ek PDA ücret kasalarını kapılar:
ClaimCreatorFee ve ClaimPlatformFeeFromVault sırasında ilgili ücret kasasından transferi imzalarlar.
Temel mint
Initialize tarafından satır içi oluşturulur:
mint_authority = authority(mezuniyette iptal edilir).freeze_authority = None.supply = supply, tamamenbase_vaultiçine basılır.decimalsyaratıcı tarafındanInitializesırasında seçilir (yaygın olarak 6).
base_mint.supply başlatmanın ömrü boyunca sabittir. Eğri alımları tokenleri base_vault’tan alıcıya taşır, ancak mint_to çağırmaz.
Initialize / InitializeV2 SPL Token temel mintleri oluşturur. Özel InitializeWithToken2022 talimatı temel mint’in Token-2022 mint’i olmasını sağlar (isteğe bağlı TransferFeeConfig ile). Üç başlatma yolu da CPMM mezuniyeti gerektirir.
InitializeWithToken2022 bir TransferFeeConfig eklediğinde, mint transfer_fee_config_authority = authority ve withdraw_withheld_authority = PlatformConfig.transfer_fee_extension_auth ile oluşturulur, platform bu alanı ayarlamadığında authority’ye geri döner. Her iki yetki de mezuniyette platform anahtarına yeniden atanır, çekme tarafı yalnızca PDA hala tutuyorsa. Bkz. platform-config.
Alıntı mint, temel mint’ten bağımsızdır ve kendisi Token-2022 mint’i olabilir — InitializeV2 ve InitializeWithToken2022 alıntı-program yuvasında her iki programı da kabul eder. Kullanımdan kaldırılan Initialize yapmaz: alıntı-program hesabı hala SPL Token’a yazılmıştır, bu nedenle alıntı mint’i Token-2022 olan bir yapılandırma yalnızca diğer ikisi aracılığıyla başlatılabilir. Alıntı mint asla LaunchLab tarafından oluşturulmaz; GlobalConfig.quote_mint adlandırdığı şeydir. Bkz. global-config ve reference/token-2022-support.
Kasalar
Hembase_vault hem de quote_vault LaunchLab authority PDA’sına ait token hesaplarıdır, her biri kendi mint’ine sahip olan programa oluşturulur — bu nedenle bir başlatma eski bir temel kasaya ve Token-2022 alıntı kasasına sahip olabilir veya başka herhangi bir kombinasyon. token_program_flag hangisinin hangisi olduğunu kaydeder. Adresler PoolState üzerinde depolanır ve ayrıca türetilebilir:
Initialize hesapları yapısından doğrulayın.)
Ücret kasaları
İki PDA ücretleri başlatmalar arasında toplar:- Yaratıcı ücret kasası —
[creator, quote_mint]tohumlarında PDA. Aynı alıntı mint’inde aynı yaratıcı ücretlerini kazanan her başlatma aynı kasaya dökülür. Yaratıcı bunuClaimCreatorFeearacılığıyla temizler. - Platform ücret kasası —
[platform_config, quote_mint]tohumlarında PDA. Aynı platform aracılığıyla yönlendirilen ve aynı alıntı mint’ini kullanan her başlatma aynı kasaya dökülür. Platformunplatform_fee_wallet’ı bunuClaimPlatformFeeFromVaultaracılığıyla temizler. Başlatmanınquote_vault’undan doğrudan çeken ve toplu kasadan geçmeyen başlatma başına bir temizleme varyantı da vardır (ClaimPlatformFee).
Alıntı kasası ↔ real_quote
quote_vault.balance ve PoolState.real_quote senkronize kalmalıdır. Üç bekleyen ücret sayacının toplamı kadar sapabilirler (quote_protocol_fee, platform_fee, migrate_fee), bunlar kasada oturur ancak ücret sayaçlarına ve eğri rezervine değil. Eğri matematik her zaman real_quote kullanır, asla ham kasa bakiyesini değil.
Mezuniyet öncesi değişmez:
PlatformCurveRule
(PlatformConfig, GlobalConfig) çifti başına bir hesap, o yapılandırmada platformun izin verdiği başlatma şekillerini tutar. PDA tohumları [b"platform_curve_rule", platform_config, global_config]’tir.
150 + Σ(14 + 18 × constraints)’tir ve kod çözücüler sabit bir boyut varsaymamalıdır. Gruplar OR’lanır: bir grubun kısıtlamalarının tümü tutulur tutulmaz bir başlatmaya izin verilir. Sıfır grup kısıtlama yok anlamına gelir.
Yalnızca sahibi PlatformConfig.restrict_curve_param 1 olduğunda okuyun — 0’da program hesabı yok sayar ve eski bir kural orada oturuyor olabilir. Alan kimlikleri, operatörler ve oyun kitapları products/launchlab/curve-rules içindedir.
Yaşam döngüsü hesap geçişleri
Sonraki adım
products/launchlab/bonding-curve—real_base↔real_quotearkasındaki matematik.products/launchlab/instructions— talimat başına hesap listeleri.products/launchlab/global-config— protokol düzeyindeki bağlama.products/launchlab/platform-config— platform ek katmanı.products/launchlab/vesting— kilitli arz mekaniği.products/cpmm/accounts— mezuniyet sonrasıcpmm_pool_stateneye benziyor.
raydium-launch/programs/launchpad/src/states/pool.rs—PoolState,PoolStatus,VestingSchedule,AmmCreatorFeeOn.raydium-launch/programs/launchpad/src/lib.rs— PDA tohum sabitleri (AUTH_SEED,CREATOR_FEE_VAULT_AUTH_SEED,PLATFORM_FEE_VAULT_AUTH_SEED).- Raydium SDK v2
launchpadmodülü.

