Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
دعم على مستوى البرنامج
| البرنامج | عملات Token-2022 الأساسية والمقتبسة؟ | الوضع |
|---|---|---|
| CPMM | نعم — مبوب | قائمة سماح امتدادات صارمة + 4 عملات قائمة بيضاء ثابتة. |
| CLMM | نعم — مبوب | قائمة سماح امتدادات صارمة + 6 عملات قائمة بيضاء ثابتة + سجل إداري لكل عملة + كشف Superstate. |
| AMM v4 | لا | البرنامج يسبق Token-2022؛ يجب أن تكون كلا العملتين من Token الكلاسيكي. |
| Stable AMM | لا | نفس القيود مثل AMM v4. |
| Farm v6 | نعم، جزئيًا | يمكن أن تكون عملة المكافأة Token-2022 (تخضع لنفس قائمة السماح عندما تغلف Farm أ LP من CPMM/CLMM)؛ عملات LP للرهن من قبل المستخدم ترث من Pool المغلفة. |
| LaunchLab | نعم، مُدارة بواسطة البرنامج | يمكن أن تكون العملة الأساسية Token-2022، ولكن فقط عبر التعليمات المخصصة initialize_with_token_2022؛ ينشئ البرنامج نفسه العملة باستخدام MetadataPointer (دائمًا) و TransferFeeConfig اختياريًا (معدل ≤ 5%). لا يمكن استخدام عملات Token-2022 الموجودة مسبقًا مع امتدادات عشوائية كقاعدة. |
| Burn & Earn | مرايا برنامج Pool | يرث بوابة CPMM / CLMM. |
- CPMM:
is_supported_mintفيraydium-cp-swap/programs/cp-swap/src/utils/token.rs:178، مُستدعاة منInitialize. - CLMM:
is_supported_mintفيraydium-clmm/programs/amm/src/util/token.rs:280، مُستدعاة منCreatePool. - LaunchLab:
initialize_with_token_2022فيraydium-launchpad/programs/launchpad/src/instructions/initialize_with_token_2022.rs(المصدر غير متاح للعامة).
قائمة السماح الامتدادات CPMM و CLMM
بعد اختصارات قائمة البيضاء الثابتة (مغطاة أدناه)، يكرر البرنامج امتدادات العملة ورفض العملة إذا كانت تحمل أي امتداد بخلاف هذه الخمسة:| الامتداد | السبب المسموح به |
|---|---|
TransferFeeConfig | حسابات Pool تطرح الرسوم الواردة؛ يتعامل برنامج Token-2022 مع الرسوم الصادرة. انظر algorithms/token-2022-transfer-fees. |
MetadataPointer | تزييني — يشير إلى بيانات وصفية على السلسلة. |
TokenMetadata | تزييني — بيانات وصفية مضمنة. |
InterestBearingConfig | Pool يرى مبلغ رأس المال؛ مضاعف UI تزييني فقط والرصيد الأساسي محفوظ. |
ScaledUiAmount | نفس شكل الفائدة — عامل القياس ينطبق على عرض UI فقط. |
TransferHook، NonTransferable، ConfidentialTransferMint، PermanentDelegate، MintCloseAuthority، DefaultAccountState، GroupPointer، GroupMemberPointer، MemberPointer، Pausable، إلخ. — يتسبب في عودة is_supported_mint بـ false وانعكاس إنشاء Pool.
الأسطر الصلة (CPMM، شكل متطابق في CLMM):
cp-swap/src/utils/token.rs:190–200
مسارات الالتفاف
يمكن قبول عملة Token-2022 التي لا تناسب قائمة السماح عبر أحد مسارات الالتفاف الثلاثة الصريحة. يتم محاولتها بالترتيب، قبل تشغيل تكرار الامتداد.1. قائمة العملات البيضاء الثابتة
مصفوفةMINT_WHITELIST ثابتة من سلاسل base58 مشفرة في كل برنامج. إذا طابقت عنوان العملة، تعود الدالة true فورًا ولا يتم إجراء فحص الامتداد.
| البرنامج | العملات المدرجة بقائمة بيضاء |
|---|---|
| CPMM | HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM، Crn4x1Y2HUKko7ox2EZMT6N2t2ZyH7eKtwkBGVnhEq1g، FrBfWJ4qE5sCzKm3k3JaAtqZcXUh4LvJygDeketsrsH4، 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo |
| CLMM | نفس الأربعة، بالإضافة إلى DAUcJBg4jSpVoEzASxYzdqHMUN8vuTpQyG2TvDcCHfZg، AUSD1jCcCyPLybk1YnvPWsHQSrZ46dxwoMniN4N2UEB9 |
2. سجل لكل عملة — CLMM فقط
يستشير CLMM بالإضافة PDASupportMintAssociated في البذرة [b"support_mint", mint]. إذا كان هذا PDA موجودًا للعملة، يتم قبولها بغض النظر عن مجموعة الامتدادات الخاصة بها.
يتم إنشاء PDA بواسطة CreateSupportMintAssociated (admin/create_support_mint_associated.rs). التعليمات مبوبة لموقعين:
crate::admin::ID— سلطة الإدارة القياسية لـ Raydium.crate::create_support_mint_associated_owner::ID— سلطة مخصصة لهذا الغرض:RayVyjyJQz9vAi126A4sGexKnSU1XeZaHTRcM1mZMPY(mainnet)،rayf3nEbb3bnfN6RDGFpqPbjc5uUa3tRUzu6UVYrRx5(devnet).
3. كشف Superstate — CLMM فقط
يحتوي CLMM على مسار ثالث محدد لأصول Superstate المُرمزة، التي تستخدم امتدادScaledUiConfig الذي إصدار spl-token-2022 المرتبط ببرنامج CLMM لا يمكنه فك تعبئته. بدلاً من ترقية المتكل، يكتشف CLMM رموز Superstate من خلال شكل سلطتها:
raydium-clmm/programs/amm/src/util/token.rs:485
عملة تمر هذا الفرع إذا كان جميع الأربعة صحيحًا:
- برنامجها المالك هو برنامج Token-2022.
- سلطة التجميد الخاصة بها تساوي
superstate_allowlist::ID. Mainnet:2Yq4T3mPNfjtEyTxSbRjRKqLf1pwbTasuCQrWe6QpM7x. Devnet:3TRuL3MFvzHaUfQAb6EsSAbQhWdhmYrKxEiViVkdQfXu. - امتداد
DefaultAccountStateالخاص بها معيّن علىFrozen. - المفوض الدائم أيضًا
superstate_allowlist::ID.
ما لا تتنازل عنه مسارات الالتفاف
تتخطى مسارات الالتفاف قائمة السماح الامتداد، لكن البرنامج يفرض بعد ذلك:- العملة مملوكة لـ
TokenأوToken-2022. يتم رفض برنامج رمز مخصص في المنبع. - يتم إنشاء أوعية Pool مع امتدادات ATA الصحيحة لـ pools Token-2022 (
ImmutableOwner، إلخ). - تذهب جميع التحويلات عبر
transfer_checked— عملات رسوم تهبط المبلغ الصحيح في الخزينة.
TransferHook لاحقًا لا تحصل على فحص في وقت المبادلة؛ ستعمل الخطاف على كل تحويل ويمكن أن تفسد المبادلات. لذا فإن القوائم البيضاء عمل عالي الثقة.
دلالات “محظور”
عندما تعودis_supported_mint بـ false، ينعكس إنشاء Pool مع ErrorCode::NotSupportMint (CPMM) / ErrorCode::NotSupportMint (CLMM). انظر reference/error-codes للأكواد الرقمية.
الـ Pools الموجودة لا يمكن أن تفشل هذا الفحص بأثر رجعي — البوابة تعمل فقط عند الإنشاء. امتدادات العملة غير قابلة للتغيير للفئات التي ترفضها Raydium (transfer hook، non-transferable، confidential transfer لا يمكن إضافتها بعد الإنشاء)، لذا فإن الفحص الثابت كافٍ.
لماذا يتم استثناء كل امتداد
- TransferHook — يستدعي برنامج مخصص على كل تحويل، مع استهلاك CU عشوائي، شروط فشل عشوائية، والقدرة على إعادة الدخول إلى البرنامج الاستدعاء. لا يوجد sandbox آمن. بعض DEXes تحتفظ بقوائم سماح الخطاف؛ Raydium لا.
- NonTransferable —
Transferيفشل دائمًا. لا يمكن لـ Pool أخذ الحضانة. - ConfidentialTransfer — مبالغ التحويل مشفرة؛ لا يمكن للمنحنى تسعير المبادلة.
- PermanentDelegate — حامل المفوض يمكنه مسح أي حساب رمز، بما فيه خزينة Pool. مسموح فقط عبر قائمة البيضاء الثابتة للمصدرين الموثوقين (مثل العملات المستقرة المنظمة).
- MintCloseAuthority — يمكن إغلاق العملة؛ تصبح الـ Pools الموجودة غير قابلة للاستخدام. ممنوعة افتراضيًا.
- DefaultAccountState (Frozen) — سيهبط ATA من Pool في حالة
Frozenويتطلب إذابة لكل حساب. مسموح فقط عبر كشف Superstate، الذي يفترض أن المصدر يذيب الحسابات المؤسسية عند التسجيل. - مؤشرات Group/Member — ليست ضارة بنشاط، لكن لم تُراجع. ممنوعة افتراضيًا للحفاظ على السطح ضيقًا.
محاسبة رسوم التحويل
بالنسبة للعملات التي تحملTransferFeeConfig، كل مبادلة وإيداع وسحب ينقل أقل من المبلغ الاسمي. سطح SDK كلا نصفي الحساب:
amountIn + token2022FeeInكـ “ترسل”amountOut - token2022FeeOutكـ “تستقبل”feeAmountكرسم Pool (LP + بروتوكول)، وهو منفصل عن رسم نقل Token-2022
amountIn → amountOut يقلل من التكاليف.
حد maximumFee
رسوم نقل Token-2022 محدودة لكل نقل. بالنسبة لعملة 1٪ برسم حد 10,000، نقل 100,000,000 رمز يدفع فقط 10,000 كرسم. يطبق SDK computeSwapAmount الحد؛ يجب على مستدعي البرنامج المباشرة تكرار ذلك.
انتقال الحقبة
يمكن لسلطة العملة جدولة تغيير معدل الرسم الذي يتفعل عند الحقبة التالية. أثناء نافذة الانتقال، تعيش تكوينان (older، newer) على العملة في نفس الوقت و TransferChecked يختار بحسب الحقبة الحالية. كل من CPMM SwapV2 و CLMM SwapV2 تمرران حساب العملة الكامل في accounts، حتى يقرأ البرنامج التكوين الصحيح دون بحث إضافي.
إذا اقتبسْت أكثر من حقبة واحدة مقدمًا عبر Trade API أو SDK، قد يختلف الرسم المنفذ عن الرسم المقتبس — محدود بـ maximum_fee_basis_points للتكوين الأقدم.
الفائدة والمبلغ المُقاس للـ UI
يحتفظ Pool برأس المال؛ “مبلغ UI” هو رأس المال مضروب في عامل قياس يعتمد على الوقت أو يعينه الإدارة. حسابات المبادلة تعمل على رأس المال:pool.token0Vault.amount كرأس مال.
تعريف “Pool Token-2022”
Pool هو Pool Token-2022 إذا كانت أي عملة لديهاprogramId == TokenzQdB.... يسطح API هذا:
programId للـ dispatch، و hasTransferFee لعرض تحذير UI.
مساعدات SDK
أخطاء التكامل الشائعة
- فحص معرّف البرنامج فقط مسبقًا. يمكن أن تكون العملة Token-2022 و غير مدعومة. امش في قائمة الامتدادات مقابل قائمة السماح (وقائمة البيضاء الثابتة) قبل السماح بإنشاء Pool.
- الوثوق باقتباس SDK عندما لا تكون العملة مقبولة على الإطلاق. API الاقتباس لا يرفض الاقتباس — إنشاء Pool هو ما ينعكس. تأكد من دلالات
is_supported_mintخارج السلسلة قبل كشف إنشاء Pool في UI. - الاقتباس دون قطع رسوم النقل. عملة رسوم نقل 1٪ على كلا جانبي CPMM 0.25٪ لديها رسم فعّال حوالي 2.25٪، وليس 0.25٪. استخدم SDK quote أو Trade API quote — لا تحسب الرسم يدويًا من طبقة رسم Pool وحدها.
- استدعاء تعليمات
Swapالموروثة على Pool Token-2022.Swapيسبق Token-2022. استخدمSwapV2كلما كانت أي عملة Token-2022. - قائمة جديدة تلقائية لعملات Token-2022. يجب على المحافظ والموزعات التحقق من
TransferHookوNonTransferableقبل سطح عملة للمستخدمين؛ كل منهما معادية لـ Raydium.
العمل المستقبلي
عناصر خريطة الطريق لنظام Solana والبروتوكول التي ستغير هذه المصفوفة:- برامج transfer-hook مدرجة بقائمة السماح على مستوى Solana (اتفاقية النظام البيئي تتطور).
- AMMs متوافقة مع التحويل السري (مرحلة البحث).
- سجل CPMM أوسع لكل عملة (تكافؤ مع CLMM).
- ترقية المتكل بحيث فك تشفير
ScaledUiConfigالخاص بـ CLMM يعمل بدون حدس Superstate.
المؤشرات
algorithms/token-2022-transfer-fees— حسابات الرسوم في المبادلات.products/cpmm/instructions—SwapV2،Initialize.products/clmm/instructions—SwapV2،CreatePool،CreateSupportMintAssociated.reference/error-codes— أكواد رقميةNotSupportMintلكل برنامج.
raydium-cp-swap/programs/cp-swap/src/utils/token.rs—MINT_WHITELIST،is_supported_mint.raydium-clmm/programs/amm/src/util/token.rs—MINT_WHITELIST،superstate_allowlist،is_superstate_token،is_supported_mint.raydium-clmm/programs/amm/src/instructions/admin/create_support_mint_associated.rs— تعليمات سجل لكل عملة.raydium-launchpad/programs/launchpad/src/instructions/initialize_with_token_2022.rs— إنشاء قاعدة عملة Token-2022 للـ LaunchLab.


