هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
توثق هذه الصفحة رسم البياني للحسابات لكل إطلاق:
PoolState (حساب الحالة الجذري لإطلاق واحد)، وخزائنه الاثنتان، سلطة PDA، والمراجع اللاحقة للتخرج التي يكتسبها عند استقرار الإطلاق.للإعدادات على مستوى البروتوكول التي تحد من كل إطلاق، انظر products/launchlab/global-config. للطبقة الإضافية لكل منصة، انظر products/launchlab/platform-config. لحسابات الاستحقاق (VestingSchedule على PoolState، VestingRecord لكل مستفيد)، انظر products/launchlab/vesting.جرد الحسابات
يعيد SDK
raydium.launchpad.getLaunchById PoolState بالإضافة إلى علم يشير إلى ما إذا كان الإطلاق قد تخرج؛ إذا كان الأمر كذلك، يتم تضمين معرف المجموعة بعد الهجرة.
PoolState
حالة الجذر لكل إطلاق. أسماء الحقول أدناه تطابق بنية Rust على السلسلة (states/pool.rs)؛ تم تبسيط بعض القيم لسهولة القراءة — استشر المصدر للتخطيط الدقيق للذاكرة.
PoolStatus (من Anchor IDL):
status— ثلاث قيم، رتيبة (Funding → Migrate → Migrated). القراءات آمنة دائماً؛ الكتابات مبوابة.real_base,real_quote— حالة المنحنى الحالية. معvirtual_base/virtual_quoteفهي كافية لحساب سعر البقعة دون لمس الخزائن. انظرbonding-curve.total_base_sellمقابلreal_base— نسبة “التقدم نحو التخرج” لواجهات المستخدم.migrate_type— يتطلب التهيئة الجديدة1(CPSWAP).0المخزن يبقى ذا معنى فقط لإطلاق موجود تم إنشاؤه قبل فرض CPMM فقط.amm_creator_fee_on— يختارcreator_fee_on = OnlyQuoteToken(0) أوBothToken(1) على مجموعة CPMM بعد التخرج. لا يختار هدف الهجرة. انظرcreator-fees.token_program_flag— حقل بت، وليس منطقي. Bit0 هو نعت الأساس و bit1 هو نعت الاقتباس، كل0لـ SPL Token و1لـ Token-2022، لذا البايت يأخذ أربع قيم:0(كلاهما قديم)،1(Token-2022 أساس)،2(Token-2022 اقتباس)،3(كلاهما Token-2022). اقرأ نعت واحد مع(token_program_flag >> bit) & 1. مقارنة البايت بالكامل مقابل0لتصنيف نعت الأساس تحل2إلى البرنامج الخاطئ. Bit1 كان ثابتاً0حتى تم دعم نعات اقتباس Token-2022.quote_protocol_fee/platform_fee/migrate_fee— ثلاثة عدادات رسوم مستقلة. لكل منها تعليمة مطالبة خاصة بها؛ انظرinstructions.vesting_schedule— موجود على كلPoolStateلكن غير نشط عندماtotal_locked_amount == 0. انظرvestingلدورة الحياة الكاملة.
سلطة PDA
يستخدم LaunchLab واحد PDA سلطة عبر جميع الإطلاقات، مشتق بدون بذرة لكل إطلاق:- السلطة على كل
base_vaultوquote_vaultلإطلاق. mint_authorityعلىbase_mintلكل إطلاق (قبل التخرج).- الموقع على CPI تخرج CPMM، وعلى تخرج AMM v4 القديم للحالة الموجودة.
- الموقع على تحويلات
ClaimVestedTokenخارج الخزانة الأساسية. transfer_fee_config_authorityعلىTransferFeeConfigلنعت أساس Token-2022، لكل المرحلة قبل التخرج — وwithdraw_withheld_authorityأيضاً، لكن فقط عندما لم تعين المنصةPlatformConfig.transfer_fee_extension_auth.
mint_authority فوراً بعد استدعاء MigrateToCpswap أو MigrateToAmm القديم، لذا يتم إصلاح العرض بشكل دائم.
اثنان من PDAs الإضافية يبوابان خزائن الرسوم:
ClaimCreatorFee و ClaimPlatformFeeFromVault.
نعت الأساس
تم إنشاؤه بشكل مضمن بواسطةInitialize مع:
mint_authority = authority(ملغى عند التخرج).freeze_authority = None.supply = supply، مسكوك بالكامل فيbase_vault.decimalsاختاره المنشئ عندInitialize(عادة 6).
base_mint.supply ثابت لحياة الإطلاق. عمليات شراء المنحنى تنقل الرموز من base_vault إلى المشتري، لكن لا تستدعي mint_to.
Initialize / InitializeV2 ينشئان نعات أساس SPL Token. تعليمة InitializeWithToken2022 المخصصة تسمح بأن يكون نعت الأساس نعت Token-2022 (مع TransferFeeConfig اختياري). جميع مسارات التهيئة الثلاثة تتطلب تخرج CPMM.
عندما ترفق InitializeWithToken2022 TransferFeeConfig، يتم إنشاء النعت مع transfer_fee_config_authority = authority و withdraw_withheld_authority = PlatformConfig.transfer_fee_extension_auth، العودة إلى authority عندما لم تعين المنصة هذا الحقل. يتم إعادة تعيين كلا السلطتين إلى مفتاح المنصة عند التخرج، الجانب الانسحاب فقط إذا كان PDA لا يزال يحتفظ به. انظر platform-config.
نعت الاقتباس مستقل عن نعت الأساس وقد يكون بنفسه نعت Token-2022 — InitializeV2 و InitializeWithToken2022 يقبلان أي برنامج في فتحة برنامج الاقتباس. Initialize المهجور لا يفعل: حسابه برنامج الاقتباس لا يزال مكتوباً لـ SPL Token، لذا إعداد نعت اقتباسه Token-2022 يمكن فقط إطلاقه من خلال الاثنين الآخرين. لا ينشئ LaunchLab نعت الاقتباس أبداً؛ إنه ما يسميه GlobalConfig.quote_mint. انظر global-config و reference/token-2022-support.
الخزائن
كل منbase_vault و quote_vault هما حسابات رموز يملكها LaunchLab authority PDA، كل منهما تم إنشاؤه على البرنامج الذي يمتلك نعته الخاص — لذا يمكن لإطلاق أن يكون لديه خزانة أساس قديمة وخزانة اقتباس Token-2022، أو أي مزيج آخر. token_program_flag يسجل أي منهما. يتم تخزين العناوين على PoolState ويمكن أيضاً اشتقاقها:
Initialize للمصدر قبل الاعتماد على الاشتقاق في الإنتاج.)
خزائن الرسوم
اثنان من PDAs يجمعان الرسوم عبر الإطلاقات:- خزانة رسم المنشئ — PDA عند البذور
[creator, quote_mint]. كل إطلاق يكسب رسوم المنشئ نفسها على نعت الاقتباس نفسه يصب في نفس الخزانة. المنشئ يمسحها عبرClaimCreatorFee. - خزانة رسم المنصة — PDA عند البذور
[platform_config, quote_mint]. كل إطلاق موجه عبر نفس المنصة التي تستخدم نعت الاقتباس نفسه يصب في نفس الخزانة.platform_fee_walletللمنصة يمسحها عبرClaimPlatformFeeFromVault. هناك أيضاً متغير مسح لكل إطلاق (ClaimPlatformFee) يسحب منquote_vaultللإطلاق مباشرة دون المرور عبر الخزانة المجمعة.
خزانة الاقتباس ↔ real_quote
quote_vault.balance و PoolState.real_quote يجب أن يبقيا متزامنين. يمكنهما الانجراف بحد أقصى مجموع عدادات الرسوم الثلاثة المعلقة (quote_protocol_fee، platform_fee، migrate_fee)، التي تجلس في الخزانة لكن تنتمي إلى عدادات الرسوم وليس احتياطي المنحنى. رياضيات المنحنى تستخدم دائماً real_quote، أبداً رصيد الخزانة الخام.
ثابت قبل التخرج:
PlatformCurveRule
حساب واحد لكل زوج (PlatformConfig, GlobalConfig)، يحتفظ بأشكال الإطلاق التي تسمح بها تلك المنصة على هذا الإعداد. بذور PDA هي [b"platform_curve_rule", platform_config, global_config].
150 + Σ(14 + 18 × constraints) والمفكك يجب ألا يفترض حجماً ثابتاً. يتم ORing المجموعات: يُسمح بإطلاق بمجرد أن تحتفظ مجموعة واحدة بجميع قيودها. صفر مجموعات يعني لا تقييد.
اقرأها فقط عندما يكون PlatformConfig.restrict_curve_param المالك 1 — عند 0 يتجاهل البرنامج الحساب، وقد تكون قاعدة قديمة جالسة هناك. معرفات الحقول والمشغلين والكتيبات موجودة في products/launchlab/curve-rules.
انتقالات دورة حياة الحساب
أين تذهب بعد ذلك
products/launchlab/bonding-curve— الرياضيات خلفreal_base↔real_quote.products/launchlab/instructions— قوائم الحسابات لكل تعليمة.products/launchlab/global-config— الربط على مستوى البروتوكول.products/launchlab/platform-config— طبقة المنصة الإضافية.products/launchlab/vesting— ميكانيكا العرض المقفول.products/cpmm/accounts— كيف يبدوcpmm_pool_stateبعد التخرج.
raydium-launch/programs/launchpad/src/states/pool.rs—PoolState,PoolStatus,VestingSchedule,AmmCreatorFeeOn.raydium-launch/programs/launchpad/src/lib.rs— ثوابت بذور PDA (AUTH_SEED,CREATOR_FEE_VAULT_AUTH_SEED,PLATFORM_FEE_VAULT_AUTH_SEED).- وحدة Raydium SDK v2
launchpad.

