هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يعرّض LaunchLab مجموعة تعليمات محكمة: ستة استدعاءات موجهة للمستخدمين بالإضافة إلى عدد قليل من البدائيات الإدارية. يغلّف SDK جميعها؛ تتناول هذه الصفحة السطح الخام للمجمّعات وأدوات المراقبة والبرامج التي تحتاج إلى CPI.
جرد التعليمات
ينعكس الانقسام “ExactIn/ExactOut” في CPMM
SwapBaseInput / SwapBaseOutput — على السلسلة يكونان محددات تعليمات منفصلة برقم مختلف قليلاً.
اختيار مسار التخرج. يجب أن تعيّن كل استدعاء Initialize و InitializeV2 و InitializeWithToken2022 جديد migrate_type = 1 (CPSWAP). أي محاولة لتهيئة مجموعة جديدة مرتبطة بـ AMM v4 تُرجع MigrateTypeNotMatch. amm_creator_fee_on يختار فقط ما إذا كانت رسوم منشئ CPMM الناتجة تنطبق على رمز الاقتباس أو كلا الرمزين؛ لا يختار برنامج الهدف.
يبقى MigrateToAmm قابلاً للاستدعاء لـ PoolState موجود تمت تهيئته بـ migrate_type = 0 قبل هذا التقييد. الإصدار لا يعيد كتابة حالة المجموعة الموجودة أو يزيل التعليمة القديمة.
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_mintلهsupply = 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
تخرج إطلاق إلى مجموعة قابلة للتداول بمجرد وصول المنحنى إلى total_quote_fund_raising. الإطلاقات الجديدة هي CPMM فقط. يتم الاحتفاظ بـ MigrateToAmm للمجموعات الموجودة التي يكون migrate_type المخزن فيها 0.
من يوقّع
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) مع تلك الاحتياطيات لإنشاء مجموعة ما بعد التخرج. - لهجرات CPMM المنفذة بعد ترقية 2026-08-17، دمج
platform_scale + creator_scaleفي حصة LP مقفلة مملوكة للمنصة واحدة وضرب على الأكثر مفتاح رسوم NFT واحد إلىplatform_nft_wallet. حرق بقيةburn_scale. قبل الترقية، كانcreator_scaleمقفلاً بشكل منفصل وذهب مفتاح الرسوم الخاص به إلى منشئ الرمز. الهجرات التاريخية المكتملة لم تُعدّل. لتخرج AMM v4 القديم، يتبع توزيع LP تدفق التعليمة الموجود. - إلغاء
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.
حسابات CPMM المتبقية للهجرة
يجب على العملاء الذين يبنونMigrateToCpswap استخدام مؤشرات remaining_accounts الثابتة هذه:
تتطلب التعليمة عشرة حسابات متبقية على الأقل على المسار المحدث. حسابات دعم النعناع هي مدخلات CPI للقراءة فقط. اشتق كلا العنوانين حتى عندما لا يكون للنعناع سجل دعم مهيأ. يجب تحديث المنشئين الأقدم الذين لا يزالون يضيفون حسابات قفل المنشئ أو يحذفون المؤشرات 8–9.
قائمة السماح GlobalConfig للمنصة
PlatformConfig.restrict_global_config يتحكم في الفحص:
0: تقبل المنصة أيGlobalConfigصحيح بخلاف ذلك؛ لا يلزم حساب السماح.1: يجب أن تتضمنInitializeوInitializeV2وInitializeWithToken2022PlatformAllowConfigالمطابق في أي مكان فيremaining_accounts.
CreatePlatformAllowConfig و ClosePlatformAllowConfig. بذوره هي [b"platform_allow_config", platform_config, global_config]. تعليمات PlatformGlobalAccess المدارة من قبل المسؤول السابق و PDA متقاعدة.
CollectFee
تجميع المسؤول لرسوم التداول المتراكمة للبروتوكول على إطلاق واحد.
الوسائط — لا شيء.
الحسابات
التأثير — نقل
pool_state.quote_protocol_fee من quote_vault إلى recipient_token_account، ثم تصفير العداد. قابل للاستدعاء في أي وقت بعد الشراء الأول.
CollectMigrateFee
تجميع المسؤول لرسوم الهجرة المتراكمة عند التخرج. نفس شكل الحساب مثل CollectFee مع migrate_fee_owner كموقّع (بدلاً من protocol_fee_owner) و pool_state.migrate_fee كعداد مستنزف.
ClaimCreatorFee
تجميع لكل منشئ لرسوم المنشئ المتراكمة عبر كل إطلاق يملكه المنشئ الذي يستخدم نفس رمز الاقتباس. يستنزف خزينة رسوم لكل منشئ، وليس خزينة لكل مجموعة.
الوسائط — لا شيء.
الحسابات
التأثير — نقل الرصيد الكامل لـ
creator_fee_vault إلى recipient_token_account. يعكس مع فحص require-greater-than-zero إذا كانت الخزينة فارغة.
ClaimPlatformFee
تجميع لكل منصة يستنزف خزينة الاقتباس للإطلاق مباشرة. استخدم هذا عندما تريد منصة المطالبة بحصتها لإطلاق واحد محدد دون المرور عبر خزينة المنصة المجمعة.
الوسائط — لا شيء.
الحسابات
التأثير — نقل
pool_state.platform_fee من quote_vault إلى recipient_token_account، تصفير العداد.
ClaimPlatformFeeFromVault
تجميع مجمع لكل منصة. يستنزف خزينة رسوم المنصة لكل رمز اقتباس التي تتراكم الرسوم من كل إطلاق موجه عبر المنصة.
الوسائط — لا شيء.
الحسابات
التأثير — نقل الرصيد الكامل لـ
platform_fee_vault إلى recipient_token_account. يعكس إذا كانت الخزينة فارغة.
تعليمات الاستحقاق وإعدادات المنصة
يتم توثيقها على صفحات مخصصة لأن كل واحدة لها نموذج حالة خاص بها:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformAllowConfig,ClosePlatformAllowConfigCreateConfig,UpdateConfig
مصفوفة تغيير الحالة
أين تذهب بعد ذلك
products/launchlab/code-demos— أمثلة TypeScript لكل تعليمة.products/launchlab/accounts— شكل الحالة الكامل.reference/error-codes— تعداد خطأ LaunchLab.
- وحدة Raydium SDK v2
LaunchLab - مصدر برنامج Raydium LaunchLab

