Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يغطي هذا الإدراج تحديثًا قادمًا لبرنامج LaunchLab. تم التحقق منه مقابل فرع الإصدار المحلي قبل النشر. تأكد من البرنامج المنشور و IDL المنشور قبل تفعيل المسارات الجديدة في الإنتاج.
يسمح هذا الإصدار بأن يتم اقتباس الإطلاق برمز Token-2022. حتى الآن كان جانب الـ quote مرتبطًا بقوة ببرنامج SPL Token القديم، لذا فقط رمز الـ base يمكن أن يكون Token-2022. في كل مكان يتم فيه لمس رمز الـ quote — إنشاء 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، لذا يعود الزوج غير المتطابق بدلاً من تجاهله.
  • خطأ جديد 6023 CalculateOverflow. الأكواد 60006022 لم تتغير. تم إخلاء 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 يمكن الآن أن يكون فعليًا 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

الأكواد 60006022 لم تتغير، بما في ذلك 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-codes6023 CalculateOverflow.