Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
يغطي هذا الإدراج تحديث برنامج LaunchLab القادم. تم التحقق منه مقابل فرع الإصدار المحلي قبل النشر. تأكد من البرنامج المنشور و IDL المنشور قبل تفعيل المسارات الجديدة في الإنتاج.
يتيح هذا الإصدار اقتباس الإطلاق بعملة Token-2022. حتى الآن كان جانب الـ quote مرتبطًا بقوة ببرنامج SPL Token القديم، لذا فقط كان يمكن لـ base mint أن يكون Token-2022. في كل مكان يتم فيه لمس quote mint — إنشاء GlobalConfig، وتهيئة المجمع، والأربع تعليمات مبادلة، وجميع مطالبات الرسوم، وهجرة CPMM — يقبل الآن أي برنامج رمز، وتأخذ تعليمات المبادلة في الاعتبار رسم التحويل لـ quote mint.

ملخص سريع للمدمجين

  • يمكن أن تكون 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 mint، وليس المبلغ الذي نقله الخزان. منطق الاقتباس الموجود يقلل من تقدير التكلفة ويبالغ في تقدير الإيرادات على quote mint يحمل رسومًا.
  • تصبح بت PoolState.token_program_flag الثانية ذات معنى. كانت دائمًا 0 بينما كانت quote mints قديمة فقط. العملاء الذين يقارنون البايت بالكامل مقابل 0 سيقرأون الآن base mint القديم كـ Token-2022 كلما كان quote mint من Token-2022. هذا هو الكسر الصامت الأكثر احتمالاً في هذا الإصدار.
  • تعيد MigrateToCpswap تسمية حسابيها لبرنامج الرمز. يصبح base_token_program / quote_token_program إلى token_program / token_program_2022. كلاهما مطلوب دائمًا، والبرنامج يختار الصحيح لكل mint.
  • يتم التحقق من صحة أزواج Mint/program الآن. كلا swap mints اكتسب قيد mint::token_program، وكذلك quote mint الخاص بـ ClaimPlatformFee، لذا يعود الزوج غير المتطابق بدلاً من تجاهله.
  • خطأ جديد 6023 CalculateOverflow. الأكواد 60006022 لم تتغير. تم إخلاء 6023 من قبل الإصدار السابق وإعادة استخدامه الآن.
  • تتبع خزانات الرسوم quote mint. خزانات رسوم المنشئ والمنصة، وحساب الرمز لمستقبل رسم المشاركة، تعيش على أي برنامج يمتلك quote mint.

أي الحسابات غيرت النوع

لا يتغير أي من هذه المواضع في قائمة الحسابات الخاصة به. فقط القيمة المسموحة تتغير. Initialize (مسار V1 المهجور) متعمدًا ليس في هذا الجدول. حسابه quote-program يبقى مكتوبًا إلى SPL Token. عدة من هذه أيضًا شددت قيود mint الخاصة بها، لذا فإن زوج mint/program غير المتطابق يعود الآن حيث تم قبوله أو عدم التحقق منه سابقًا:
  • تقيد الأربع تعليمات مبادلة كلاً من base_token_mint و quote_token_mint للبرنامج الذي تم تمريره في الفتحة المطابقة. لم يحمل أي منهما هذا القيد من قبل، لذا تم قبول برنامج base خاطئ بصمت.
  • يضيف ClaimPlatformFee نفس القيد على quote_mint.
  • يصحح ClaimPlatformFeeFromVault قيده من نموذج حساب رمز إلى نموذج mint على ما هو حساب mint.

محاسبة رسم التحويل على جانب Quote

هذا هو الجزء الذي يغير الأرقام بدلاً من قوائم الحسابات. على quote mint بدون TransferFeeConfig كل صيغة أدناه تنهار إلى السلوك السابق، لذا المجمعات القديمة والمجمعات الخالية من الرسوم Token-2022 لم تتغير بت واحد. نتيجتان تستحق الذكر بوضوح:
  • الحد المحسوب من مجمع خالٍ من الرسوم المكافئ لم يعد مقبولاً. BuyExactOut مع تكلفة خالية من الرسوم كـ maximum_amount_in يعود الآن مع ExceededSlippage، وكذلك SellExactIn مع إيرادات خالية من الرسوم كـ minimum_amount_out. هذا هو السلوك المقصود — المقارنة القديمة سمحت للدافع بفرض رسم التحويل على رأس حد وافق عليه بالفعل.
  • يسجل المجمع فقط ما وصل إلى الخزان. بعد BuyExactIn من amount_in على mint quote بنسبة 5%، يتقدم real_quote بـ amount_in × 0.95، وليس amount_in.
أسقطت get_transfer_inverse_fee أيضًا حالتها الخاصة لـ mint برسوم 100%: بدلاً من العودة إلى maximum_fee، تعود الآن خطأ CalculateOverflow الجديد عندما لا يمكن حساب الرسم العكسي. quote mint في 10000 نقطة أساس لذلك يفشل مسارات exact-out بدلاً من التعامل بصمت عند حد الرسوم.

بت token_program_flag الثانية

PoolState.token_program_flag هو حقل بت، وكان دائمًا:
الحقل، ومواضع البت، والكود الذي يكتب كلا البتين كل هذا يسبق هذا الإصدار. ما يتغير هو أن bit1 يمكن الآن أن يكون فعليًا 1، لأن quote mint يمكن الآن أن يكون mint من Token-2022. القيم الأربع هي: اقرأ برنامج كل mint مع (token_program_flag >> bit) & 1. أي عميل يتعامل مع البايت كقيمة منطقية لـ base mint — flag === 0 ? Token : Token-2022 — يحل قيمة 2 إلى base mint من Token-2022 وسيبني حساب الرمز على جانب base والتحويل مقابل البرنامج الخاطئ. لا توجد تغييرات في حجم الحساب أو إزاحة الحقل، لذا لا تحتاج الفهارس إلى هجرة تخزين، فقط إصلاح فك التشفير.

إعادة تسمية حساب هجرة CPMM

أخذت MigrateToCpswap سابقًا برنامج رمز واحد لكل mint، وقرر المتصل أيهما. الآن تأخذ كلا البرنامجين بدون شروط وتشتق التعيين من الـ mints نفسها: الموضعان لم يتغيرا، لذا هذا تغيير قيمة، وليس تغيير تخطيط — لكن القيم قريبة من الانعكاس، والمنشئ الذي يستمر في تمرير زوجه القديم سيمرر Token-2022 حيث يكون البرنامج القديم مطلوبًا بمجرد أن يكون أي mint من Token-2022 mint. البرنامج القديم لا يزال مطلوبًا بدون شروط بغض النظر عن أي mint، لأن LP mint من CPMM و NFT Fee Key المقفول دائمًا يعيشان عليه. تخطيط remaining_accounts من إصدار 2026-08-17 لم يتغير.

يتم قبول Quote mints بتقدير الإدارة فقط

بخلاف CPMM و CLMM، لا يقوم LaunchLab بأي فحص قائمة السماح للامتداد مقابل quote mint. يقبل CreateConfig حساب الـ mint كما هو، لذا البوابة الوحيدة هي أي mints يربطها الإدارة بـ GlobalConfig. فحص NoSupportExtension الخاص بالبرنامج ينطبق فقط على Token-2022 base mints التي ينشئها LaunchLab نفسه، حيث يُسمح فقط بـ MetadataPointer و TransferFeeConfig. تعامل مع ربط Token-2022 quote mint كإجراء عالي الثقة بنفس المنطق مثل قوائم CPMM/CLMM البيضاء الثابتة في reference/token-2022-support. quote mint من 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 من أي إصدار سابق. حدّث LaunchLab IDL قبل تمرير برنامج quote من Token-2022، أو فك تشفير بت token_program_flag الثانية، أو بناء قائمة حساب MigrateToCpswap المعاد تسميتها.

تأثير SDK

كان جانب quote من وحدة launchpad الخاصة بـ SDK مرمزًا بقوة إلى TOKEN_PROGRAM_ID في نفس الأماكن التي كان فيها البرنامج. الفرع الذي يرافق هذا الإصدار يحل مالك quote mint بدلاً من ذلك، ويمرره عبر إنشاء حساب الرمز، ATA لمستقبل رسم المشاركة، وفتحة quote-program للتعليمة، ويضيف transferFeeConfigB اختياري إلى أربع طرق Curve بحيث تعكس الاقتباسات الصيغ أعلاه. تكتسب نتائج Curve حقل transferFeeB؛ يحتفظ amountB بمعناه — ما ينفقه الدافع أو يستقبله البائع — لذا quote mint خالي من الرسوم ينتج أرقامًا متطابقة كما هو الحال من قبل. هذه تغييرات SDK لم يتم إصدارها. الدبوس الكنسي على صفحات code-demo في مجموعة التوثيق هذه لم يتغير؛ تحقق من الإصدار المنشور قبل الاعتماد على المعاملات الجديدة.

تطبيق مرجعي

يشترك عرض توضيحي جديد في برنامج LaunchLab عبر Yellowstone gRPC ويسجل، لكل تحديث GlobalConfig و PoolState، ما إذا كان كل mint من Token أو Token-2022 mint: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts إنه مرجع مضغوط لشيئين يجعلهما هذا الإصدار ضروريًا. يتم تصنيف المجمعات مباشرة من token_program_flag، فك تشفير كلا البتين بدون جلب mint على الإطلاق — هذا هو الإصلاح لكسر bit1 الموصوف أعلاه. لا يمكن تصنيف الإعدادات بهذه الطريقة، لأن GlobalConfig يخزن فقط عنوان quote mint الخاص به وليس علم البرنامج، لذا يقرأ العرض التوضيحي مالك حساب الـ mint مرة واحدة ويخزنه مؤقتًا لكل mint. رؤية كلا المسارين بجانب بعضهما البعض هي أسرع طريقة للتحقق من فك التشفير الخاص بك. انظر products/launchlab/code-demos للشرح.

الصفحات المحدثة

  • products/launchlab/accounts — برنامج رمز quote-mint، تخطيط بت token_program_flag، وملكية الخزان.
  • products/launchlab/instructions — حسابات quote-program، دلالات انزلاق المبادلة، وحسابات الهجرة المعاد تسميتها.
  • products/launchlab/global-config — قد يكون quote_mint من Token-2022 mint، وما يفتح وما لا يفتح.
  • products/launchlab/code-demos — مراقب gRPC config/pool.
  • reference/token-2022-support — صف LaunchLab وقسم quote-mint.
  • reference/error-codes6023 CalculateOverflow.