هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يكشف LaunchLab عن مجموعة تعليمات مشدودة: ستة استدعاءات موجهة للمستخدم بالإضافة إلى عدد قليل من البدائيات الإدارية. يغلف SDK جميعها؛ توثق هذه الصفحة السطح الخام للمُجمِّعات وأدوات المراقبة والبرامج التي تحتاج إلى CPI.
جرد التعليمات
يعكس التقسيم “ExactIn/ExactOut”
SwapBaseInput / SwapBaseOutput الخاص بـ CPMM — على السلسلة عبارة عن فاصلات تعليمات منفصلة بتقريب مختلف قليلاً.
اختيار مسار التخرج. يتم تسجيل migrate_type على PoolState في وقت Initialize{V2,WithToken2022} ويحدد أي من التعليمات الخريجين يمكن أن يعمل. تهاجر إطلاقات Token-2022 دائماً إلى CPMM. تهاجر إطلاقات SPL Token إلى AMM v4 أو CPMM اعتماداً على إعداد amm_creator_fee_on:
BothToken→MigrateToAmm→ مجموعة AMM v4 (يمكن جمع رسوم المنشئ من أي جانب؛ AMM v4 ليس لديه حقل رسوم منشئ أصلي، لذا يتم أخذ رسوم المنشئ عبر آلية قفل LP NFT بدلاً من ذلك).QuoteToken→MigrateToCpswap→ مجموعة CPMM معcreator_fee_on = OnlyQuoteToken(يستمر المنشئ في كسب الرسوم من مجموعة CPMM من خلال LaunchLab Fee Key NFT — انظرproducts/launchlab/creator-fees).
Initialize
إنشاء إطلاق جديد.
الحجج
الشروط السابقة
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- تمرير معاملات الرسوم فحوص
launch_config.max_*_fee_rate. open_time ≥ now − slop(يفرض SDK≥ now؛ البرنامج يتسامح مع التاريخ المتأخر قليلاً).curve_typeمعترف به.
- يمتلك
base_mintsupply = base_supply_max، الكل فيbase_vault. base_mint.mint_authority = launch_authority،freeze_authority = None.- تم تهيئة
LaunchStateمعstatus = Active،base_sold = 0،quote_reserve_real = 0. - يتم حساب
quote_reserve_targetمن معاملات المنحنى +base_supply_graduation+buy_numerator(تقريباً).
InvalidQuoteMint، FeeRateTooHigh، InvalidCurveParams، MathOverflow.
Buy (المتغير الكنسي: BuyExactIn)
يوفر المستخدم quote_in محدد؛ يحسب المنحنى base_out.
الحجج
الشروط السابقة
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- قسّم
quote_inإلىquote_in_after_feeوأجزاء الرسوم. - حل منحنى Newton للحصول على
base_outمن الحصة بعد الرسم. require(base_out ≥ minimum_base_out)وإلا رجوعExceededSlippage.- انقل
quote_inمن المستخدم → الخزان. انقلbase_outمن الخزان → المستخدم. - تحديث
base_sold += base_out،quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - تحديث عدادات الرسوم (
protocol_fees_quote،creator_fees_quote). state_data.num_buys += 1.- إذا كان
quote_reserve_real ≥ quote_reserve_targetبعد التحديث، فإن SDK عادةً يسلسل تعليمةGraduateفي نفس المعاملة. لا يقوم البرنامج بالتخرج التلقائي داخلBuy— يلزم استدعاءGraduateلاحقاً.
BuyExactOut
يحدد المستخدم الدقيق base_out؛ يحسب البرنامج quote_in.
الحجج
BuyExactIn. يستخدم التكامل التربيعي الشكل المغلق (أو معكوس CPMM، لـ curve_type 1) بدلاً من تكرار Newton.
Sell / SellExactIn / SellExactOut
مرآة Buy. يعيد المستخدم base_in إلى المنحنى ويستقبل quote_out. يتم خصم الرسم من quote_out، لذا يستقبل المستخدم أقل من العائدات المتكاملة الخام.
الشروط السابقة —
user_base_ata.balance ≥ base_in.- لا يمكن للبيع دفع
base_soldتحت 0 (متكرر مع ما سبق بالنظر إلى أن المحاسبة متسقة). - الإطلاق هو
Active.
Buy. ينخفض base_sold، ينخفض quote_reserve_real. الرسوم لا تزال تتراكم.
MigrateToAmm / MigrateToCpswap
تخرج إطلاق إلى مجموعة AMM قابلة للتداول بمجرد أن يصل المنحنى إلى total_quote_fund_raising. المتغيران المقابلان لهدفي التخرج — AMM v4 و CPMM — و يكون واحد منهما فقط صالحاً لأي إطلاق معين، محدد بواسطة pool_state.migrate_type (مضبوط في وقت Initialize).
من يوقّع
MigrateToAmm— المحفظةmigrate_to_amm_walletالمسجلة علىGlobalConfigالملزم.MigrateToCpswap— المحفظةmigrate_to_cpswap_walletالمسجلة علىGlobalConfigالملزم.
MigrateToAmm ثلاثة (معاملات سوق OpenBook في الغالب التي ينقلها البرنامج إلى AMM v4):
MigrateToCpswap لا يأخذ أي شيء.
التأثير (مشترك بين الاثنين)
- تحقق من
pool_state.status == Migrate(أي، تم الوصول إلىquote_reserve_target). وإلا عاد برجوعPoolMigrated(كانت الحالة بالفعلMigrated) أوPoolFunding(لا يزال في مرحلة التمويل). - تحقق من أن
pool_state.migrate_typeيطابق التعليمة (0لـ AMM،1لـ CPMM). وإلا عاد برجوعMigrateTypeNotMatch. - حساب احتياطيات ما بعد التخرج:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI في برنامج الهدف (
AMM v4 Initialize2أوCPMM InitializeWithPermission) بهذه الاحتياطيات لإنشاء مجموعة ما بعد التخرج. - قسّم LP الناتج وفقاً لـ
PlatformConfig.{platform_scale, creator_scale, burn_scale}الملزم (CPMM فقط) — قطعة واحدة ممنوحة لـplatform_nft_wallet، واحدة لـ creator NFT ملفوفة ببرنامج LP-Lock، واحدة محترقة عبر Burn & Earn. لتخرج AMM v4، يتم حكم تخصيص LP بواسطة معاملات التهيئة الخاصة بـ AMM v4. - استدعاء
base_mint.mint_authority(تعيين إلىNone). - اقلب
pool_state.status = Migrated، اضبطvesting_schedule.start_time = block_time + cliff_period.
BuyExactIn، BuyExactOut، SellExactIn، SellExactOut سترفض من هذه النقطة فصاعداً مع PoolMigrated. مجموعة AMM الناتجة موثوقة وتتاجر مثل أي مجموعة AMM v4 / CPMM أخرى.
الأخطاء الشائعة — PoolFunding، PoolMigrated، MigrateTypeNotMatch، InvalidCpSwapConfig، MathOverflow.
CollectFee
مسح إداري لرسوم البروتوكول المتراكمة للتجارة على إطلاق واحد.
الحجج — لا شيء.
الحسابات
التأثير — نقل
pool_state.quote_protocol_fee من quote_vault إلى recipient_token_account، ثم تصفير العداد. يمكن استدعاؤه في أي وقت بعد أول عملية شراء.
CollectMigrateFee
مسح إداري لرسم الهجرة المتراكمة عند التخرج. نفس شكل الحساب مثل CollectFee مع migrate_fee_owner كموقع (بدلاً من protocol_fee_owner) و pool_state.migrate_fee كعداد مستنزف.
ClaimCreatorFee
مسح لكل منشئ برسوم المنشئ المتراكمة عبر كل إطلاق يملكه المنشئ الذي يستخدم نفس quote mint. يصرف خزان رسوم المنشئ، لا الخزان لكل مجموعة.
الحجج — لا شيء.
الحسابات
التأثير — نقل رصيد
creator_fee_vault بالكامل إلى recipient_token_account. يعود برجوع مع فحص require-greater-than-zero إذا كان الخزان فارغاً.
ClaimPlatformFee
مسح لكل منصة يصرف خزان quote للإطلاق مباشرة. استخدم هذا عندما تريد منصة المطالبة بحصتها لإطلاق محدد واحد دون المرور عبر خزان المنصة الموحد.
الحجج — لا شيء.
الحسابات
التأثير — نقل
pool_state.platform_fee من quote_vault إلى recipient_token_account، تصفير العداد.
ClaimPlatformFeeFromVault
مسح موحد لكل منصة. يصرف خزان رسوم المنصة لكل quote-mint الذي يتراكم الرسوم من كل إطلاق موجه عبر المنصة.
الحجج — لا شيء.
الحسابات
التأثير — نقل الرصيد الكامل لـ
platform_fee_vault إلى recipient_token_account. يعود برجوع إذا كان الخزان فارغاً.
تعليمات الاستحقاق وإعدادات المنصة
تم توثيق هذه على صفحات مخصصة لأن لكل واحدة نموذج حالة خاص بها:CreateVestingAccount،CreatePlatformVestingAccount،ClaimVestedTokenCreatePlatformConfig،UpdatePlatformConfig،UpdatePlatformCurveParam،RemovePlatformCurveParam،CreatePlatformGlobalAccess،ClosePlatformGlobalAccessCreateConfig،UpdateConfig
مصفوفة تغيير الحالة
إلى أين تذهب بعد ذلك
products/launchlab/code-demos— أمثلة TypeScript لكل تعليمة.products/launchlab/accounts— شكل الحالة الكامل.reference/error-codes— enum خطأ LaunchLab.
- وحدة Raydium SDK v2
LaunchLab - مصدر برنامج Raydium LaunchLab

