هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يغطي هذا الإدراج تحديثًا قادمًا لبرنامج LaunchLab. تم التحقق منه مقابل فرع الإصدار المحلي قبل النشر. تأكد من البرنامج المنشور و IDL المنشور قبل تفعيل المسارات الجديدة في الإنتاج.
GlobalConfig، وتهيئة المجمع، والأربع تعليمات مبادلة، وجميع مطالبات الرسوم، والهجرة من CPMM — يقبل الآن أي برنامج رمز، وتأخذ تعليمات المبادلة في الاعتبار رسم التحويل لرمز الـ quote.
ملخص سريع للمدمجين
- يمكن أن تكون Quote mints من Token-2022. يقبل
CreateConfigرمزquote_token_mintمن Token-2022، وInitializeV2/InitializeWithToken2022يقبلان أي برنامج رمز في فتحة quote-program. ترتيب الحساب لا يتغير — القيمة التي تمررها في تلك الفتحة هي التي تتغير. - الـ
Initializeالمهجور لا يزال قديمًا فقط. حسابه quote-program لا يزال مكتوبًا إلى SPL Token، لذا يمكن فقط إطلاق إعداد quote mint من Token-2022 من خلالInitializeV2أوInitializeWithToken2022. - حدود الانزلاق تنتقل إلى ما يدفعه ويستقبله الدافع فعليًا. يتم الآن مقارنة
minimum_amount_outوmaximum_amount_inمقابل المبلغ الصافي من رسم التحويل لرمز الـ quote، وليس المبلغ الذي نقله الخزان. منطق الاقتباس الموجود يقلل من تقدير التكلفة ويبالغ في تقدير الإيرادات على رمز quote يحمل رسومًا. - تصبح بت1 من
PoolState.token_program_flagذات معنى. كانت دائمًا0بينما كانت quote mints قديمة فقط. العملاء الذين يقارنون البايت بالكامل مقابل0سيقرأون الآن رمز base قديم كـ Token-2022 كلما كان رمز الـ quote من Token-2022. هذا هو الكسر الصامت الأكثر احتمالاً في هذا الإصدار. - تعيد
MigrateToCpswapتسمية حسابيها لبرنامج الرمز. يصبحbase_token_program/quote_token_programهوtoken_program/token_program_2022. كلاهما مطلوب دائمًا، والبرنامج يختار الصحيح لكل رمز. - يتم الآن التحقق من صحة أزواج Mint/program. كلا رموز المبادلة اكتسبت قيد
mint::token_program، وكذلك رمز الـ quote فيClaimPlatformFee، لذا يعود الزوج غير المتطابق بدلاً من تجاهله. - خطأ جديد
6023CalculateOverflow. الأكواد6000–6022لم تتغير. تم إخلاء6023من قبل الإصدار السابق وإعادة استخدامه الآن. - خزانات الرسوم تتبع رمز الـ quote. خزانات رسوم المنشئ والمنصة، وحساب الرمز لمستقبل رسم المشاركة، تعيش على أي برنامج يمتلك رمز الـ quote.
أي الحسابات غيرت النوع
لا يتغير أي من هذه المواضع في قائمة الحسابات الخاصة به. فقط القيمة المسموحة تتغير.Initialize (مسار V1 المهجور) متعمدًا ليس في هذا الجدول. حسابه quote-program يبقى مكتوبًا إلى SPL Token.
عدة من هذه أيضًا شددت قيود الرمز الخاصة بها، لذا فإن زوج mint/program غير المتطابق يعود الآن حيث تم قبوله أو عدم التحقق منه سابقًا:
- تقيد الأربع تعليمات مبادلة كلاً من
base_token_mintوquote_token_mintللبرنامج الذي تم تمريره في الفتحة المطابقة. لم يحمل أي منهما هذا القيد من قبل، لذا تم قبول برنامج base خاطئ بصمت. - يضيف
ClaimPlatformFeeنفس القيد علىquote_mint. - يصحح
ClaimPlatformFeeFromVaultقيده من نموذج حساب رمز إلى نموذج رمز على ما هو حساب رمز.
محاسبة رسم التحويل على جانب الـ Quote
هذا هو الجزء الذي يغير الأرقام بدلاً من قوائم الحسابات. على رمز quote بدونTransferFeeConfig كل صيغة أدناه تنهار إلى السلوك السابق، لذا المجمعات القديمة والمجمعات الخالية من الرسوم من Token-2022 لم تتغير بت واحد.
نتيجتان تستحق الذكر بوضوح:
- الحد المحسوب من مجمع خالٍ من الرسوم المكافئ لم يعد مقبولاً.
BuyExactOutمع تكلفة خالية من الرسوم كـmaximum_amount_inيعود الآن معExceededSlippage، وكذلكSellExactInمع إيرادات خالية من الرسوم كـminimum_amount_out. هذا هو السلوك المقصود — المقارنة القديمة سمحت للدافع بفرض رسم التحويل على رأس حد وافق عليه بالفعل. - يسجل المجمع فقط ما وصل إلى الخزان. بعد
BuyExactInمنamount_inعلى رمز quote بنسبة 5%، يتقدمreal_quoteبـamount_in × 0.95، وليسamount_in.
get_transfer_inverse_fee أيضًا حالته الخاصة لرمز برسم 100%: بدلاً من العودة إلى maximum_fee، يعود الآن خطأ CalculateOverflow الجديد عندما لا يمكن حساب الرسم العكسي. رمز quote عند 10000 نقطة أساس يفشل بالتالي في مسارات exact-out بدلاً من التعامل بصمت عند حد الرسم.
بت1 من token_program_flag
PoolState.token_program_flag هو حقل بت، وكان دائمًا:
1، لأن رمز الـ quote يمكن الآن أن يكون رمز Token-2022. القيم الأربع هي:
اقرأ برنامج كل رمز مع
(token_program_flag >> bit) & 1. أي عميل يعامل البايت كقيمة منطقية لرمز base — flag === 0 ? Token : Token-2022 — يحل القيمة 2 إلى رمز base من Token-2022 وسيبني حساب الرمز على جانب base والتحويل مقابل البرنامج الخاطئ. لا توجد تغييرات في حجم الحساب أو إزاحة الحقل، لذا لا تحتاج الفهارس إلى هجرة تخزين، فقط إصلاح فك التشفير.
إعادة تسمية حساب هجرة CPMM
أخذتMigrateToCpswap سابقًا برنامج رمز واحد لكل رمز، والمتصل قرر أيهما. الآن تأخذ كلا البرنامجين بدون شروط وتشتق التعيين من الرموز نفسها:
الموضعان لم يتغيرا، لذا هذا تغيير قيمة، وليس تغيير تخطيط — لكن القيم قريبة من الانعكاس، والمنشئ الذي يستمر في تمرير زوجه القديم سيمرر Token-2022 حيث يكون البرنامج القديم مطلوبًا بمجرد أن يكون أي رمز من Token-2022.
البرنامج القديم لا يزال مطلوبًا بدون شروط بغض النظر عن أي رمز، لأن رمز LP من CPMM و NFT Fee Key المقفل يعيشان عليه دائمًا. تخطيط
remaining_accounts من إصدار 2026-08-17 لم يتغير.
يتم قبول Quote mints بتقدير الإدارة فقط
بخلاف CPMM و CLMM، لا يشغل LaunchLab أي قائمة سماح للإضافات مقابل رمز quote. يقبلCreateConfig حساب الرمز كما هو، لذا البوابة الوحيدة هي الرموز التي تربطها الإدارة بـ GlobalConfig. فحص NoSupportExtension للبرنامج ينطبق فقط على رموز base من Token-2022 التي ينشئها LaunchLab نفسه، حيث يُسمح فقط بـ MetadataPointer و TransferFeeConfig.
تعامل مع ربط رمز quote من Token-2022 كإجراء عالي الثقة، للسبب نفسه الذي يجعل تسجيل رمز في سجل دعم CPMM/CLMM — انظر reference/token-2022-support. رمز quote من TransferHook أو PermanentDelegate سيتم قبوله في وقت إنشاء الإعداد ثم سيعمل على، أو يكون قادرًا على مسح، كل مجمع مقتبس فيه.
بوابة الطابع الزمني amm_creator_fee_on
يسقط InitializeV2 بوابة الطابع الزمني التي رفضت أي amm_creator_fee_on بخلاف BothToken قبل طابع الترقية الزمني. البوابة المكافئة لا تزال موجودة في InitializeWithToken2022. عمليًا كلا المسارين يقبلان أي قيمة على mainnet-beta اليوم، لأن هذا الطابع الزمني (1755522000، 2025-08-18 13:00 UTC) قد مضى منذ زمن بعيد — هذا تنظيف، وليس تغيير سلوك للمتصلين الحاليين.
تأثير الخطأ و IDL
الأكواد6000–6022 لم تتغير، بما في ذلك 6022 InvalidPlatformAllowConfig.
تقاعد الإصدار السابق
6023 القديم وتركه شاغرًا؛ هذا الإصدار يعيد استخدام الرقم. لا تفك تشفير 6023 مع IDL من أي إصدار سابق.
حدّث IDL من LaunchLab قبل تمرير برنامج quote من Token-2022، أو فك تشفير بت1 من token_program_flag، أو بناء قائمة حساب MigrateToCpswap المعاد تسميتها.
تأثير SDK
كان جانب الـ quote من وحدة launchpad الخاصة بـ SDK مرمزًا بـTOKEN_PROGRAM_ID في نفس الأماكن التي كان البرنامج فيها. الفرع الذي يرافق هذا الإصدار يحل مالك رمز الـ quote بدلاً من ذلك، ويمرره عبر إنشاء حساب الرمز، ATA لمستقبل رسم المشاركة، وفتحة quote-program للتعليمة، ويضيف transferFeeConfigB اختياري إلى الأربع طرق Curve بحيث تعكس الاقتباسات الصيغ أعلاه. تكتسب نتائج Curve حقل transferFeeB؛ يحتفظ amountB بمعناه — ما ينفقه الدافع أو يستقبله البائع — لذا رمز quote خالٍ من الرسوم ينتج أرقامًا متطابقة كما هو الحال من قبل.
هذه تغييرات SDK لم يتم إصدارها. الدبوس الكنسي على صفحات code-demo في مجموعة التوثيق هذه لم يتغير؛ تحقق من الإصدار المنشور قبل الاعتماد على المعاملات الجديدة.
تطبيق مرجعي
كود العرض لجلب إعدادات quote المُنشأة حديثًا على الفور:raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts
إنه مرجع مضغوط لشيئين يجعلهما هذا الإصدار ضروريًا. يتم تصنيف المجمعات مباشرة من token_program_flag، فك تشفير كلا البتين بدون جلب رمز على الإطلاق — هذا هو الإصلاح لكسر بت1 الموصوف أعلاه. لا يمكن تصنيف الإعدادات بهذه الطريقة، لأن GlobalConfig يخزن فقط عنوان رمز الـ quote الخاص به وليس علم برنامج، لذا يقرأ العرض التوضيحي مالك حساب الرمز مرة واحدة ويخزنه مؤقتًا لكل رمز. رؤية كلا المسارين بجانب بعضهما البعض هي أسرع طريقة للتحقق من فك التشفير الخاص بك.
انظر products/launchlab/code-demos للشرح.
الصفحات المحدثة
products/launchlab/accounts— برنامج رمز quote، تخطيط بتtoken_program_flag، وملكية الخزان.products/launchlab/instructions— حسابات quote-program، دلالات انزلاق المبادلة، وحسابات الهجرة المعاد تسميتها.products/launchlab/global-config— قد يكونquote_mintرمز Token-2022، وما يحد وما لا يحد عليه.products/launchlab/code-demos— مراقب إعدادات/مجمعات gRPC.reference/token-2022-support— صف LaunchLab وقسم quote-mint.reference/error-codes—6023CalculateOverflow.

