هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
GlobalConfig هو حساب التكوين على مستوى البروتوكول. يمكن أن يكون هناك عدة منها — مفهرسة حسب (curve_type, index) — وكل إطلاق يختار واحدًا بالضبط في وقت Initialize. تصبح القيم على GlobalConfig المختار حدودًا صارمة لمعاملات ذلك الإطلاق. للتخصيص على مستوى المنصة (معدل الرسوم لكل منصة، أشكال المنحنيات المسموحة، تقسيمات NFT عند التخرج)، انظر products/launchlab/platform-config.ما هو
GlobalConfig هو PDA فريد لكل (curve_type, index) يحدّد قواعد جانب البروتوكول التي يجب على كل إطلاق الامتثال لها:
- نوع منحنى الربط المسموح به (
curve_type). - معدل رسوم التداول الذي يفرضه المنحنى على كل عملية شراء وبيع.
- رسوم الهجرة المفروضة عند التخرج.
- الحد الأدنى للعرض ومعدل القفل ومعدل البيع ومعدل الهجرة.
- عملة الاقتباس (عادة SOL المغلفة أو USDC) — الأصل الذي يشتري به المستخدمون.
- أربع محافظ على جانب البروتوكول: مالك رسوم البروتوكول، مالك رسوم الهجرة، ومحفظتا التحكم في الهجرة المحتفظ بهما لتخرج CPMM و AMM v4 القديم.
GlobalConfig بواسطة مسؤول برنامج LaunchLab أو سلطة إنشاء التكوين المفوضة. فقط المسؤول يحدّث التكوينات الموجودة. انظر reference/program-addresses للسلطات الموثوقة.
التخطيط
create_config للبرنامج هي مصدر الحقيقة.)
دلالات الحقول
curve_type و index
معًا يفهرسان GlobalConfig بشكل فريد. يوجد GlobalConfig واحد لكل زوج (curve_type, index):
curve_type = 0— منحنى الاحتياطي الافتراضي ذو المنتج الثابت. الافتراضي والأكثر استخدامًا.curve_type = 1— منحنى السعر الثابت.curve_type = 2— منحنى السعر الخطي.
index هو u16 يسمح للمسؤول بنشر عدة تكوينات لكل نوع منحنى (على سبيل المثال، واحد برسوم أضيق، وآخر برفع حد أدنى أعلى للاقتباس). في Initialize يوفر الإطلاق زوج (curve_type, index) ويحمل البرنامج GlobalConfig المطابق.
الرسوم
trade_fee_rate— مقسومة على1/1_000_000من حجم التداول. تُطبق على كل عملية شراء وبيع على المنحنى. يطالبprotocol_fee_ownerبحصته عبرCollectFee.migrate_fee— رسم ثابت بالـ lamports (أو وحدات الاقتباس، حسب التكوين) يُفرض مرة واحدة عند التخرج. يطالب بهmigrate_fee_ownerعبرCollectMigrateFee.max_share_fee_rate— مهيأ إلى10_000(100 bps). يحدّ معدل رسوم حصة المنصة منPlatformConfigالملزم (انظرplatform-config). يفرض البرنامجtrade_fee_rate + max_share_fee_rate < RATE_DENOMINATOR_VALUE.
حدود العرض والمعدل
تحدّ هذه الحدود معاملات شكل المنحنى التي يمكن لإطلاق اختيارها فيInitialize. إذا انتهكت CurveParams للمنشئ أيًا منها، يعود Initialize مع InvalidInput.
min_base_supply— الحد الأدنىsupply(بدون كسور عشرية) الذي يمكن للمنحنى أن يعلنه. الافتراضي10_000_000.max_lock_rate— مقسومة على1/1_000_000؛ الافتراضي300_000(30%). يحدّ الاستحقاق عبرtotal_locked_amount <= supply * max_lock_rate / 1_000_000.min_base_sell_rate— مقسومة على1/1_000_000؛ الافتراضي200_000(20%). يحدّbase_supply_graduation / supplyمن الأسفل.min_base_migrate_rate— مقسومة على1/1_000_000؛ الافتراضي200_000(20%). يحدّ عدد الرموز المتبقية لبذر مجموعة ما بعد التخرج.min_quote_fund_raising— الحد الأدنىquote_reserve_targetالذي قد يعلنه إطلاق (مع كسور عشرية). الافتراضي30_000_000_000وحدة من عملة الاقتباس.
عملة الاقتباس ومحافظ البروتوكول
quote_mint— الأصل الذي يشتري به المستخدمون. تستخدم معظم الإطلاقات SOL المغلفة (So111…112) أو USDC (EPjF…Dt1v). يرتبطGlobalConfigواحد بعملة اقتباس واحدة؛ الإطلاقات التي تحتاج إلى هدف اقتباس مختلف تستهدف(curve_type, index)مختلفًا.protocol_fee_owner— مفتاح عام يوقعCollectFeeويطالب برسوم البروتوكول المتراكمة على كل إطلاق مرتبط بهذا التكوين. مخزن على السلسلة؛ يمكن للمسؤول تدويره عبرUpdateConfig.migrate_fee_owner— مفتاح عام يوقعCollectMigrateFee.
محافظ الهجرة
تتطلب محفظتا التخرج المخزنتان موقعين مختلفين:migrate_to_amm_wallet— توقعMigrateToAmmلإطلاق قديم موجود يحتوي علىmigrate_type = 0المخزن.migrate_to_cpswap_wallet— توقعMigrateToCpswap. كل إطلاق مهيأ حديثًا يستخدم هذا المسار.
قوائم المسموح على جانب المنصة
لم تعدGlobalConfig تحتوي على requires_platform_auth. بايتها السابق هو حشو، لذا حجم الحساب لا يتغير. يتم التحكم في الوصول الآن بواسطة PlatformConfig.restrict_global_config وحسابات PlatformAllowConfig التي ينشئها مسؤول تلك المنصة. انظر platform-config.
الافتراضيات عند التهيئة
عند استدعاءCreateConfig، يبذر البرنامج العديد من الحقول بقيم افتراضية مشفرة:
curve_type و index و migrate_fee و trade_fee_rate و quote_mint ومفاتيح المحفظة الأربعة بشكل صريح في وقت الإنشاء؛ يمكن ضبط القيم اللاحقة عبر UpdateConfig.
كيف يختار إطلاق GlobalConfig
في Initialize، يمرر المنشئ:
(curve_type, index)لاختيار PDAGlobalConfigالذي سيتم تحميله.CurveParamsيصف شكل المنحنى (supply،total_base_sell،total_quote_fund_raising،migrate_type).VestingParamsيصف العرض المقفول.MintParamsلعملة الأساس.
curve_typeيطابقglobal_config.curve_type.supply >= global_config.min_base_supply.total_locked_amount <= supply * max_lock_rate / 1_000_000.total_base_sell >= supply * min_base_sell_rate / 1_000_000.(supply − total_base_sell − total_locked_amount) >= supply * min_base_migrate_rate / 1_000_000— أي، رموز كافية متبقية لبذر مجموعة ما بعد التخرج.total_quote_fund_raising >= min_quote_fund_raising.migrate_type == 1(CPSWAP).- إذا كانت المنصة المختارة تحتوي على
restrict_global_config == 1، يتم تضمينPlatformAllowConfigالمطابق.
Initialize، يخزن PoolState للإطلاق مفتاح global_config العام مباشرة، لذا يكون الربط دائمًا.
مسار التحديث
UpdateConfig مقتصر على المسؤول ويأخذ زوج (param: u8, value: u64). تختار كل قيمة param الحقل الذي سيتم تغييره:
تدويرات المحفظة (
protocol_fee_owner، migrate_fee_owner، migrate_to_amm_wallet، migrate_to_cpswap_wallet) تأخذ شكل حجة Pubkey منفصلة؛ تحقق من مصدر update_config من جدول الإرسال الدقيق قبل تكوين معاملة المسؤول.
تم إزالة محدد UpdateConfig السابق 12 للترخيص على مستوى المنصة. يدير مسؤولو المنصة الآن قوائم المسموح الخاصة بهم.
قراءة GlobalConfig من عميل
getAllGlobalConfigs أو استعلم نقطة نهاية LaunchLab API التي تعكسها؛ عدد الحسابات على السلسلة صغير (أرقام فردية في الممارسة العملية).
مؤشرات
products/launchlab/platform-config— طبقة تراكب لكل منصة تحدّ شكل المنحنى بشكل أكبر.products/launchlab/accounts— الرسم البياني الكامل للحسابات لإطلاق.products/launchlab/instructions— تعليماتInitializeوالتحديث.reference/program-addresses— مفتاح المسؤول، معرف البرنامج، السلطات المشتركة.
raydium-launch/programs/launchpad/src/states/config.rs— هيكلGlobalConfigوinitialize.raydium-launch/programs/launchpad/src/lib.rs—create_config،update_config.

