هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
ملخص في فقرة واحدة
CLMM — Concentrated Liquidity Market Maker — هو AMM بأسلوب Uniswap-v3 من Raydium. بدلاً من توزيع إيداع مزود السيولة عبر منحنى السعر بالكامل، يسمح CLMM لمزودي السيولة بالإيداع في نطاق سعر محدد. داخل هذا النطاق، كل دولار من الإيداع يكون أكثر إنتاجية بأضعاف مما سيكون عليه في مجمع CPMM؛ خارج النطاق، الإيداع لا يحقق أي عائد ويبقى كرصيد أحادي الجانب. يتتبع البرنامج السيولة لكل tick (دلو سعر منفصل)، ويسعّر حالة المجمع بجذر السعر المشفر كرقم نقطة ثابتة Q64.64 (sqrt_price_x64)، ويصدر NFT لكل موضع LP بدلاً من رمز LP قابل للتبادل.
ما الجديد
يأتي أحدث إصدار CLMM مع ثلاث إضافات فوق النواة بأسلوب Uniswap-v3. وهي اختيارية عند إنشاء المجمع وتتوافق مع الإصدارات السابقة مع المجمعات والمواضع الموجودة:- أوامر التحديد (Limit orders). يمكن لمزودي السيولة الآن وضع أمر بـ tick واحد بسعر محدد وجعل مسار المبادلة يملأه بنظام FIFO عند عبور المبادلة لهذا الـ tick. تُسوّى الأوامر المملوءة في ATA المالك بسعر التحديد؛ يمكن لحارس خارج السلسلة (
limit_order_admin) مسح الأوامر المملوءة دون أن يكون المالك متصلاً. انظر التعليمات → OpenLimitOrder / SettleLimitOrder والرياضيات → مطابقة أوامر التحديد أثناء المبادلة. - رسم أحادي الجانب (
CollectFeeOn). يمكن تكوين المجمعات لأخذ رسوم المبادلة من الجانب المدخل (السلوك القديم، الوضع0)، أو دائماً منtoken_0(1)، أو دائماً منtoken_1(2). مفيد عندما يكون أحد جانبي الزوج هو رمز المحاسبة الأساسي (مثل USDC). انظر الرسوم → رسم أحادي الجانب. - رسم ديناميكي. يمكن للمجمعات الاختيار لرسم إضافي يتتبع التقلب يرتفع مع حركة tick السريعة وينخفض بمرور الوقت. معايرة بـ
DynamicFeeConfigلكل طبقة وDynamicFeeInfoلكل مجمع. انظر الرسوم → رسم ديناميكي والرياضيات → اشتقاق الرسم الديناميكي.
CreateCustomizablePool، جميع الخيارات الثلاثة عند إنشاء المجمع. يستمر CreatePool الكلاسيكي في العمل لمجمعات الرسوم الافتراضية بدون أوامر تحديد أو رسوم ديناميكية.
يضيف إصدار لاحق مجمعات متعددة برخصة: يسمح CreatePermissionedPool لمشغل مدرج في القائمة البيضاء (يحمل PDA Permission) بإنشاء أكثر من مجمع واحد لنفس الزوج وطبقة الرسم بطي seed_index في عنوان المجمع، ويقوي OpenLimitOrder لرفض الأوامر التي يكون حساب رمز الإدخال أو الإخراج الخاص بها مجمداً. انظر التعليمات → CreatePermissionedPool وإدخال السجل من 2026-07-30.
يضيف إصدار 2026-08 مسار تجميد موضع مشروط لمجمعات المُصدرين المقيدة بـ KYC المختارة. يستخدم كل نعت موضع جديد المجمع كسلطة تجميد، لكن حساب رمز NFT يبقى غير مجمد وقابل للتحويل بشكل افتراضي. يجمد CLMM فقط عندما يتم فتح الموضع من خلال OpenPositionV2 أو OpenPositionWithToken22Nft و سلطة التجميد لأحد أرصدة المجمع تطابق قائمة المُصدرين المقيدين للبرنامج. يمكن للمالك بالفعل إدارة السيولة وإغلاق موضع متطابق، لكن لا يمكنه نقل NFT الخاص به أو تغيير مالك حساب الرمز. لا يتم تجميد المواضع الموجودة بأثر رجعي. انظر Ticks والمواضع → مواضع المُصدرين المقيدين وإدخال السجل من 2026-08-17.
ما يعطيك CLMM
- كفاءة رأس المال. يمكن لـ LP للعملات المستقرة تركيز السيولة في نطاق ±0.1% حول التكافؤ أن يحقق 100× أو أكثر من الرسوم لكل دولار من TVL مقارنة بمجمع CPMM من نفس الزوج.
- محاسبة الرسوم على مستوى الموضع. تتراكم الرسوم لكل موضع، وليس لكل نعت LP. يحقق موضعان على نفس المجمع مبالغ رسوم مختلفة بناءً على نطاقاتهما والمسار الذي اتخذه السعر.
- طبقات رسوم متعددة لكل زوج. يمكن أن يكون لزوج عدة مجمعات CLMM، كل منها مرتبط بـ
AmmConfigمختلف برسم تجارة خاص به وتباعد tick. تعرض واجهة الويب والموجهات أي طبقة لديها أكثر سيولة بالسعر الحالي. - حوافز مباشرة على المجمع. يمكن إرفاق ما يصل إلى ثلاث تدفقات رموز مكافآت بمجمع؛ تجمع المواضع المكافآت بشكل متناسب بناءً على الثواني × السيولة داخل النطاق التي تساهم بها. انظر
products/clmm/fees. - مواضع NFT. كل موضع هو رمز غير قابل للتبادل. نقل NFT عادة ينقل الموضع؛ يمكن للمحافظ والواجهات عرض المواضع بنفس الطريقة التي تعرض بها التحف. فقط موضع V2 الذي يطابق نعته الأساسي مرشح المُصدر المقيد يكون مجمداً وغير قابل للتحويل.
- دعم Token-2022 على كلا جانبي الزوج، مع نفس قيود الامتداد مثل CPMM.
ما CLMM ليس
- ليس اضبط وانسَ. نطاق محدد بينما SOL بـ $160 لن يحقق أي عائد إذا انتقل SOL إلى $80، إلا إذا قمت بالتعديل بنشاط. يكافئ CLMM مزودي السيولة النشطين؛ يجب أن يبقى مزودو السيولة السلبيون مع CPMM.
- ليس بدون تكلفة للفتح. يجب تهيئة كل tick-array جديد يعبره الموضع، مما يكلف الإيجار. النطاقات الواسعة أرخص؛ الضيقة ليست كذلك.
- ليس CLOB. بخلاف AMM v4، CLMM ليس لديه اعتماد OpenBook. كل السيولة تجلس على خريطة tick.
- ليس مجموعة فائقة من CPMM. موضع CLMM يمتد
[tick_min, tick_max]بأقصى نطاق يتصرف بشكل مشابه لـ CPMM، لكن مع تكاليف غاز مختلفة، نموذج محاسبة رسوم مختلف، وبدون رمز LP قابل للتبادل. إذا كنت تريد مجمع LP قابل للتبادل بسيط، استخدم CPMM.
كيف يختلف CLMM عن CPMM و AMM v4
النموذج الذهني
فكر في مجمع CLMM كثلاث هياكل بيانات متراكبة:- منحنى مستمر في فضاء
sqrt_price. يتم تمثيل سعر المجمع كـsqrt_price_x64، رقم نقطة ثابتة Q64.64. تمشي المبادلات على طول هذا المنحنى؛ ضمن حدود tick، الرياضيات هي رياضيات AMM السيولة المركزة القياسية (انظرalgorithms/clmm-math). - خريطة tick منفصلة. يتم تحديد الأسعار في ticks — قوى صحيحة لـ
1.0001. لكل tick سعر معروفsqrt_price. تشير المواضع إلى نقاط نهايتها كمؤشرات tick صحيحة. يتم تجميع مؤشرات tick في مصفوفات tick بحجم ثابت للتخزين. - محاسبة الرسوم والمكافآت لكل موضع. يخزن كل موضع
fee_growth_insideالعام في وقت آخر تحديث له. عندما يلمس LP الموضع (فتح، إغلاق، تعديل، جمع)، يطرح البرنامج القيمة المخزنة من الحالية العامة لحساب ما هو مستحق. هذا هو نمط Uniswap-v3feeGrowthInside0X128 / feeGrowthInside1X128.
- موضع مفتوح: اختر نطاق tick، أودع الرموز، اصدر NFT، أدرج السيولة في خريطة tick ضمن النطاق، هيّئ أي مصفوفات tick فارغة سابقاً.
- زيادة / تقليل السيولة: اضبط المبلغ المخزن في حساب الموضع المرتبط بـ NFT وفي خريطة tick؛ اجمع الرسوم المتراكمة في نفس الوقت.
- مبادلة: امشِ من
sqrt_price_x64الحالي في اتجاه التجارة، واستهلك السيولة النشطة حتى يتم استنزاف الإدخال أو الوصول إلى tick المهيأ التالي؛ عبر tick واختر أو أسقط السيولة على الجانب الجديد. - جمع الرسوم / المكافآت: احسب
fee_growth_inside_now − fee_growth_inside_last×position_liquidityلكل جانب وكل تدفق مكافآت؛ انقل للخارج.
liquidity الفردية الخاصة بهم.
متى تختار CLMM
اختر CLMM عندما:- تقدم السيولة لـ زوج مستقر أو يعود للمتوسط (USDC/USDT، jitoSOL/SOL، wBTC/BTC) وتريد التركيز بالقرب من التكافؤ.
- أنت صانع سوق مستعد لمراقبة السعر وإعادة التوازن.
- تحتاج بشكل خاص إلى انبعاثات حوافز لكل مجمع دون إنشاء مزرعة منفصلة.
- تحتاج إلى محاسبة لكل موضع لمنتج LP الخاص بك (vault، منتج منظم، إلخ).
- تطلق رمزاً جديداً باكتشاف سعر غير معروف.
- تريد رمز LP قابل للتبادل واحد يمكنك وضعه في الرهن أو قفله أو تكوينه.
- تريد تجربة LP سلبية.
- تحتاج بشكل خاص إلى عمق AMM الهجين-CLOB الذي يضعه AMM v4 على OpenBook.
- تهاجر تكاملات AMM v4 الموجودة ولا تفتح مواضع جديدة.
المواضع هي NFTs
يتم تمثيل موضع CLMM على السلسلة بحسابين:- نعت موضع NFT برصيد 1.
- حساب حالة موضع شخصي مفتاح لنعت NFT، يحمل ticks الموضع والسيولة وقيم نمو الرسوم الملاحظة الأخيرة.
products/clmm/ticks-and-positions.
أنشأت إصدارات CLMM الأقدم أيضاً حساب
ProtocolPositionState لكل (pool, tick_lower, tick_upper) لتجميع السيولة لهذا النطاق. الإصدارات الأحدث لم تعد تنشئ أو تستخدمه — الحقل لا يزال يظهر في قوائم حسابات OpenPosition / IncreaseLiquidity / DecreaseLiquidity كـ UncheckedAccount لتوافق ABI، لكن البرنامج لا يقرأ أو يكتب إليه. تعيش محاسبة النطاق المجمعة على نقاط نهاية tick (liquidity_gross، liquidity_net) مباشرة.أين تذهب بعد ذلك
- الحسابات — تخطيطات حسابات المجمع والإعدادات ومصفوفة tick والموضع.
- Ticks والمواضع — خريطة tick، تباعد tick، حجم مصفوفة tick، المواضع القائمة على NFT.
- الرياضيات —
sqrt_price_x64، خطوة المبادلة، اشتقاقfee_growth_inside. - التعليمات —
OpenPosition،IncreaseLiquidity،Swap،CollectRewards، عائلة أوامر التحديد، وCreateCustomizablePool. - الرسوم والمكافآت — نموذج الرسوم لكل موضع، أوضاع الرسوم أحادية الجانب، الرسم الديناميكي، وفتحات المكافآت الثلاث.
- عروض توضيحية للكود — فتح / تعديل / مبادلة / جمع / أمر تحديد / عروض توضيحية لمجمع قابل للتخصيص في TypeScript.
- مصدر Raydium CLMM —
raydium-io/raydium-clmm - ورقة Uniswap v3 البيضاء (“Uniswap v3 Core”) للرياضيات التي يرثها CLMM مباشرة
reference/program-addressesلمعرفات البرنامج الأساسية

