الانتقال إلى المحتوى الرئيسي

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 عن مجموعة تعليمات مشدودة: ستة استدعاءات موجهة للمستخدم بالإضافة إلى عدد قليل من البدائيات الإدارية. يغلف SDK جميعها؛ توثق هذه الصفحة السطح الخام للمُجمِّعات وأدوات المراقبة والبرامج التي تحتاج إلى CPI.

جرد التعليمات

المجموعةالتعليمةيمكن استدعاؤها من قبل
الإعدادات العامةCreateConfig / UpdateConfigالمسؤول
دورة حياة الإطلاقInitialize / InitializeV2أي شخص (المنشئ) — إطلاقات SPL Token؛ V2 يسجل amm_creator_fee_on للتخرج CPMM النهائي
دورة حياة الإطلاقInitializeWithToken2022أي شخص (المنشئ) — إطلاق Token-2022، TransferFeeConfig اختياري
التداولBuyExactIn / BuyExactOutأي شخص — شراء الإدخال الدقيق / الإخراج الدقيق على منحنى الربط
التداولSellExactIn / SellExactOutأي شخص — بيع الإدخال الدقيق / الإخراج الدقيق على منحنى الربط
التخرجMigrateToAmmمحفظة الهجرة (مضبوطة على GlobalConfig) — التخرج إلى AMM v4. يُستخدم عندما amm_creator_fee_on = BothToken بحيث يمكن جمع رسوم المنشئ على أي جانب.
التخرجMigrateToCpswapمحفظة الهجرة — التخرج إلى CPMM. يُستخدم عندما amm_creator_fee_on = QuoteToken وضروري لإطلاقات Token-2022. يغلف InitializeWithPermission على CPMM.
الرسومCollectFeeالمسؤول — مسح رسوم البروتوكول المتراكمة من إطلاق
الرسومCollectMigrateFeeالمسؤول — مسح رسوم الهجرة المتراكمة
الرسومClaimCreatorFeeالمنشئ — المطالبة برسوم المنشئ المتراكمة أثناء مرحلة المنحنى
الاستحقاقCreateVestingAccountالمنشئ — تخصيص الرموز المقفولة لمستفيد، غير مقفول بعد التخرج
الاستحقاقCreatePlatformVestingAccountمسؤول منصة — تخصيص الرموز المقفولة لمستفيدي جانب المنصة
الاستحقاقClaimVestedTokenالمستفيد — المطالبة برموز غير مقفولة بعد الجرف
إعدادات المنصةCreatePlatformConfig / UpdatePlatformConfigمسؤول منصة
إعدادات المنصةUpdatePlatformCurveParam / RemovePlatformCurveParamمسؤول منصة — إدارة قائمة أشكال المنحنى المسموحة لكل منصة
رسوم المنصةClaimPlatformFee / ClaimPlatformFeeFromVaultمسؤول منصة
وصول المنصةCreatePlatformGlobalAccess / ClosePlatformGlobalAccessالمسؤول — بوابة المنصات التي قد تستخدم GlobalConfig معين
يعكس التقسيم “ExactIn/ExactOut” SwapBaseInput / SwapBaseOutput الخاص بـ CPMM — على السلسلة عبارة عن فاصلات تعليمات منفصلة بتقريب مختلف قليلاً. اختيار مسار التخرج. يتم تسجيل migrate_type على PoolState في وقت Initialize{V2,WithToken2022} ويحدد أي من التعليمات الخريجين يمكن أن يعمل. تهاجر إطلاقات Token-2022 دائماً إلى CPMM. تهاجر إطلاقات SPL Token إلى AMM v4 أو CPMM اعتماداً على إعداد amm_creator_fee_on:
  • BothTokenMigrateToAmm → مجموعة AMM v4 (يمكن جمع رسوم المنشئ من أي جانب؛ AMM v4 ليس لديه حقل رسوم منشئ أصلي، لذا يتم أخذ رسوم المنشئ عبر آلية قفل LP NFT بدلاً من ذلك).
  • QuoteTokenMigrateToCpswap → مجموعة CPMM مع creator_fee_on = OnlyQuoteToken (يستمر المنشئ في كسب الرسوم من مجموعة CPMM من خلال LaunchLab Fee Key NFT — انظر products/launchlab/creator-fees).
ملاحظة حول اسم enum AmmCreatorFeeOn. يسمي المصدر Rust هذا enum AmmCreatorFeeOn مع variants QuoteToken و BothToken. الاسم مضلل: في الممارسة التشغيلية الحالية، لا يتحكم variant فقط في الجانب الذي يتم جمع رسوم المنشئ منه على مجموعة CPMM بعد التخرج — بل يختار أيضاً برنامج الهدف للتخرج (AMM v4 مقابل CPMM) ويقترن مع migrate_type على PoolState الخاص بالإطلاق. تعامل مع الحقل كـ “هدف الهجرة + جانب رسوم المنشئ بعد التخرج” مدمج في واحد. لم يتم إعادة تسمية enum على السلسلة، لكن التفكير فيه كـ MigrationTarget يطابق الواقع بشكل أوثق.

Initialize

إنشاء إطلاق جديد. الحجج
launch_params: {
    curve_type:                 u8,
    base_supply_max:            u64,
    base_supply_graduation:     u64,
    k:                          u128,              // or initial_virtual_quote_reserve for curve_type=1
    open_time:                  u64,
    quote_mint:                 Pubkey,
    base_token_metadata: {                         // inline name/symbol/uri; program CPIs to Metaplex
        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
}
الحسابات (مختصرة)
#الاسمWSالملاحظات
1creatorWSيدفع الإيجار + إنشاء mint الأساس.
2launch_configربط إعدادات البروتوكول.
3launch_stateWحساب جديد.
4launch_authorityPDA.
5base_mintWSKeypair جديد (أو PDA) — تقوم هذه التعليمة بتهيئته.
6base_vaultWATA من launch_authority على base_mint.
7quote_mint
8quote_vaultWATA من launch_authority على quote_mint.
9metadataWMetaplex metadata PDA.
10metaplex_program
11token_programSPL Token فقط.
12system_program
13rent
الشروط السابقة
  • 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. الحجج
quote_in:          u64
minimum_base_out:  u64
الحسابات
#الاسمWS
1userWS
2launch_stateW
3launch_authority
4base_vaultW
5quote_vaultW
6user_base_ataW
7user_quote_ataW
8base_mint
9quote_mint
10token_program
11associated_token_program
12system_program
الشروط السابقة
  • launch_state.status == Active.
  • now ≥ open_time.
  • user_quote_ata.balance ≥ quote_in.
  • quote_in > 0.
التأثير
  1. قسّم quote_in إلى quote_in_after_fee وأجزاء الرسوم.
  2. حل منحنى Newton للحصول على base_out من الحصة بعد الرسم.
  3. require(base_out ≥ minimum_base_out) وإلا رجوع ExceededSlippage.
  4. انقل quote_in من المستخدم → الخزان. انقل base_out من الخزان → المستخدم.
  5. تحديث base_sold += base_out، quote_reserve_real += quote_in_after_fee × (lp_share / total_share).
  6. تحديث عدادات الرسوم (protocol_fees_quote، creator_fees_quote).
  7. state_data.num_buys += 1.
  8. إذا كان quote_reserve_real ≥ quote_reserve_target بعد التحديث، فإن SDK عادةً يسلسل تعليمة Graduate في نفس المعاملة. لا يقوم البرنامج بالتخرج التلقائي داخل Buy — يلزم استدعاء Graduate لاحقاً.

BuyExactOut

يحدد المستخدم الدقيق base_out؛ يحسب البرنامج quote_in. الحجج
base_out:      u64
maximum_quote_in: u64
نفس الحسابات مثل 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 الملزم.
عادةً تُحتفظ بهذه المحافظ من قبل رافعة التخرج التي يديرها Raydium؛ في الممارسة، يحدث التخرج ثوان بعد تجاوز الحد الأدنى، بغض النظر عمن أطلق عملية الشراء النهائية. الحجج يأخذ MigrateToAmm ثلاثة (معاملات سوق OpenBook في الغالب التي ينقلها البرنامج إلى AMM v4):
base_lot_size:               u64
quote_lot_size:              u64
market_vault_signer_nonce:   u8
MigrateToCpswap لا يأخذ أي شيء. التأثير (مشترك بين الاثنين)
  1. تحقق من pool_state.status == Migrate (أي، تم الوصول إلى quote_reserve_target). وإلا عاد برجوع PoolMigrated (كانت الحالة بالفعل Migrated) أو PoolFunding (لا يزال في مرحلة التمويل).
  2. تحقق من أن pool_state.migrate_type يطابق التعليمة (0 لـ AMM، 1 لـ CPMM). وإلا عاد برجوع MigrateTypeNotMatch.
  3. حساب احتياطيات ما بعد التخرج:
    • base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
    • quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
  4. CPI في برنامج الهدف (AMM v4 Initialize2 أو CPMM InitializeWithPermission) بهذه الاحتياطيات لإنشاء مجموعة ما بعد التخرج.
  5. قسّم LP الناتج وفقاً لـ PlatformConfig.{platform_scale, creator_scale, burn_scale} الملزم (CPMM فقط) — قطعة واحدة ممنوحة لـ platform_nft_wallet، واحدة لـ creator NFT ملفوفة ببرنامج LP-Lock، واحدة محترقة عبر Burn & Earn. لتخرج AMM v4، يتم حكم تخصيص LP بواسطة معاملات التهيئة الخاصة بـ AMM v4.
  6. استدعاء base_mint.mint_authority (تعيين إلى None).
  7. اقلب 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

مسح إداري لرسوم البروتوكول المتراكمة للتجارة على إطلاق واحد. الحجج — لا شيء. الحسابات
#الاسمWSالملاحظات
1protocol_fee_ownerSيجب أن يساوي global_config.protocol_fee_owner.
2authorityPDA [b"vault_auth_seed"]؛ يوقع نقل الخزان.
3pool_stateWتم الطفرة لتصفير quote_protocol_fee.
4global_configمصدر الحقيقة للموقع.
5quote_vaultWتُستنزف بواسطة quote_protocol_fee.
6recipient_token_accountWATA من protocol_fee_owner على quote_mint.
7quote_mint
8token_programSPL Token (quote mint هو دائماً SPL Token).
التأثير — نقل 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. يصرف خزان رسوم المنشئ، لا الخزان لكل مجموعة. الحجج — لا شيء. الحسابات
#الاسمWSالملاحظات
1creatorWSمنشئ المجموعة.
2fee_vault_authorityPDA [b"creator_fee_vault_auth_seed"].
3creator_fee_vaultWPDA في البذور [creator, quote_mint]؛ الخزان الموحد للمنشئ.
4recipient_token_accountWinit_if_needed؛ ATA من creator على quote_mint.
5quote_mint
6token_program
7system_programلإنشاء ATA إذا لزم الأمر.
8associated_token_program
التأثير — نقل رصيد creator_fee_vault بالكامل إلى recipient_token_account. يعود برجوع مع فحص require-greater-than-zero إذا كان الخزان فارغاً.

ClaimPlatformFee

مسح لكل منصة يصرف خزان quote للإطلاق مباشرة. استخدم هذا عندما تريد منصة المطالبة بحصتها لإطلاق محدد واحد دون المرور عبر خزان المنصة الموحد. الحجج — لا شيء. الحسابات
#الاسمWSالملاحظات
1platform_fee_walletWSيجب أن يساوي platform_config.platform_fee_wallet.
2authorityPDA [b"vault_auth_seed"].
3pool_stateWمستنزف بواسطة pool_state.platform_fee.
4platform_configمصدر الحقيقة للموقع.
5quote_vaultWمستنزف.
6recipient_token_accountWinit_if_needed؛ ATA من platform_fee_wallet.
7quote_mint
8token_program
9system_program
10associated_token_program
التأثير — نقل pool_state.platform_fee من quote_vault إلى recipient_token_account، تصفير العداد.

ClaimPlatformFeeFromVault

مسح موحد لكل منصة. يصرف خزان رسوم المنصة لكل quote-mint الذي يتراكم الرسوم من كل إطلاق موجه عبر المنصة. الحجج — لا شيء. الحسابات
#الاسمWSالملاحظات
1platform_fee_walletWSيجب أن يساوي platform_config.platform_fee_wallet.
2fee_vault_authorityPDA [b"platform_fee_vault_auth_seed"].
3platform_config
4platform_fee_vaultWPDA في البذور [platform_config, quote_mint].
5recipient_token_accountWinit_if_needed؛ ATA من platform_fee_wallet.
6quote_mint
7token_program
8system_program
9associated_token_program
التأثير — نقل الرصيد الكامل لـ platform_fee_vault إلى recipient_token_account. يعود برجوع إذا كان الخزان فارغاً.

تعليمات الاستحقاق وإعدادات المنصة

تم توثيق هذه على صفحات مخصصة لأن لكل واحدة نموذج حالة خاص بها:

مصفوفة تغيير الحالة

التعليمةstatusreal_basereal_quoteعدادات الرسوممجموعة ما بعد الحالة
Initialize{V2,WithToken2022}Funding000
BuyExactIn(q_in)Funding+∆+∆q_after_feequote_protocol_fee += ∆، platform_fee += ∆
SellExactIn(b_in)Funding−∆−∆q_before_fee(نفس الشيء)
تم الوصول إلى الحد الأدنى→ Migrate
MigrateToAmm / MigrateToCpswap→ Migrated(مجمد)(مجمد)تم تعيين migrate_feeتم الإنشاء، تم تقسيم LP وفقاً لـ PlatformConfig
CollectFee / CollectMigrateFeeأيتم تصفير العداد
ClaimCreatorFee / ClaimPlatformFee*أييصرف الخزان
CreateVestingAccountFundingيرفع allocated_share_amount
ClaimVestedTokenMigratedيصرف base_vault

إلى أين تذهب بعد ذلك

المصادر: