الانتقال إلى المحتوى الرئيسي

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.

هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →

ملخص سريع

CLMM — صانع سوق السيولة المركزة — هو نموذج Uniswap-v3 الخاص بـ Raydium. بدلاً من توزيع إيداع مزود السيولة عبر منحنى السعر بالكامل، يسمح CLMM لمزودي السيولة بالإيداع في نطاق سعر محدد. داخل هذا النطاق، يكون كل دولار من الإيداع أكثر إنتاجية بعدة مرات مقارنة بما كان سيكون عليه في مجمع CPMM؛ خارج النطاق، لا يجني الإيداع شيئًا ويبقى رصيدًا بطرف واحد. يتتبع البرنامج السيولة لكل tick (دلو السعر المنفصل)، ويسعّر حالة المجمع باستخدام الجذر التربيعي للسعر المُشفّر كرقم ثابت Q64.64 (sqrt_price_x64)، وينشئ NFT لكل موضع LP بدلاً من رمز LP قابل للتبادل.

ما هو الجديد

يأتي آخر إصدار من CLMM مع ثلاث إضافات جديدة تدعم نواة Uniswap-v3. وهي اختيارية عند إنشاء المجمع وعكسية التوافق مع المجمعات والمواضع الموجودة: تعريض تعليمة جديدة، CreateCustomizablePool، جميع المقابض الثلاثة عند إنشاء المجمع. يستمر CreatePool الكلاسيكي في العمل لمجمعات الرسوم الافتراضية بدون أوامر تحديد أو رسوم ديناميكية.

ما يوفره CLMM

  • كفاءة رأس المال. يمكن لمزود السيولة لزوج عملة مستقرة بنسبة 100× أو أكثر من الرسوم لكل دولار من TVL مقارنة بمجمع CPMM من نفس الزوج.
  • محاسبة الرسوم على مستوى الموضع. تتراكم الرسوم لكل موضع، وليس لكل mint LP. يكسب موضعان على نفس المجمع كميات رسوم مختلفة بناءً على نطاقاتهما والمسار الذي اتخذه السعر.
  • مستويات رسوم متعددة لكل زوج. يمكن أن يكون للزوج عدة مجمعات CLMM، كل منها مرتبط بـ AmmConfig مختلف برسم تجارة وتباعد tick خاص به. تعرض واجهة الويب والموجهات المستوى الذي يحتوي على أكثر السيولة بالسعر الحالي.
  • قابل للحافز مباشرة على المجمع. يمكن إرفاق ما يصل إلى ثلاثة تدفقات رمز حوافز بمجمع؛ تجمع المواضع الحوافز بما يتناسب مع الثواني × السيولة داخل النطاق التي تساهم بها. انظر products/clmm/fees.
  • مواضع NFT. كل موضع هو رمز غير قابل للتبادل مع mint يساوي PDA محدد. ينقل NFT الموضع؛ يمكن للمحافظ والواجهات عرض المواضع بنفس طريقة عرض المقتنيات.
  • دعم Token-2022 على جانبي الزوج، مع نفس قيود الامتداد الموجودة في CPMM.

ما لا يكون عليه CLMM

  • ليس ضبط وتجاهل. نطاق محدد عندما يكون SOL بسعر $160 لن يجني شيئًا إذا انتقل SOL إلى $80، ما لم تقم بالتعديل بنشاط. يكافئ CLMM مزودي السيولة النشطين؛ يجب أن يبقى مزودو السيولة السلبيون مع CPMM.
  • ليس خالي التكلفة للفتح. يجب تهيئة كل مجموعة tick جديدة يعبرها الموضع، مما يكلف إيجارًا. النطاقات الواسعة أرخص؛ النطاقات الضيقة ليست كذلك.
  • ليس CLOB. على عكس AMM v4، ليس لدى CLMM تبعية OpenBook. تجلس كل السيولة على خريطة tick.
  • ليس مجموعة فائقة من CPMM. موضع CLMM يتراوح بين [tick_min, tick_max] بأقصى نطاق يتصرف بشكل مشابه لـ CPMM، لكن برسوم غاز مختلفة، نموذج محاسبة رسوم مختلف، وبدون رمز LP قابل للتبادل. إذا كنت تريد مجمع LP فطري بسيط، استخدم CPMM.

كيف يختلف CLMM عن CPMM و AMM v4

البُعدAMM v4CPMMCLMM
المنحنىمنتج ثابتمنتج ثابتمركز (قائم على tick)
حصة LPmint LP قابلة للتبادلmint LP قابلة للتبادلNFT لكل موضع
تعيش السيولة…عبر جميع الأسعارعبر جميع الأسعارفي نطاق يختاره المستخدم
مستويات الرسومثابتة 0.25%لكل AmmConfig (مثلاً، 0.25%، 1%)لكل AmmConfig × تباعد tick
الإدارة النشطةغير قابلة للتطبيقغير قابلة للتطبيقمطلوبة
محاسبة الرسوممستوى المجمعمستوى المجمعلكل موضع
مزارع الحوافزبرنامج Farm منفصلبرنامج Farm منفصلمدمج (حتى 3 حوافز)
Token-2022لانعمنعم
أوراكل السلسلةلاحلقة observationمصفوفة observation لكل مجمع

النموذج الذهني

فكر في مجمع CLMM كثلاث هياكل بيانات متراكبة:
  1. منحنى مستمر في فضاء sqrt_price. يُمثّل سعر المجمع كـ sqrt_price_x64، رقم ثابت Q64.64. تسير المبادلات على طول هذا المنحنى؛ ضمن حدود tick، الرياضيات هي رياضيات AMM السيولة المركزة القياسية (انظر algorithms/clmm-math).
  2. خريطة tick منفصلة. يتم تقدير الأسعار إلى ticks — قوى عددية 1.0001. لكل tick sqrt_price معروف. تشير المواضع إلى نقاط نهايتها كمؤشرات tick عددية. يتم تجميع مؤشرات Tick في مصفوفات tick بحجم ثابت للتخزين.
  3. محاسبة الرسوم والحوافز لكل موضع. يخزن كل موضع القيمة العامة fee_growth_inside وقت آخر تحديث له. عندما يقوم LP بلمس الموضع (فتح، إغلاق، ضبط، جمع)، يطرح البرنامج القيمة المخزنة من القيمة العامة الحالية لحساب ما يترتب عليه. هذا نمط Uniswap-v3 feeGrowthInside0X128 / feeGrowthInside1X128.
كل إجراء مستخدم ينقسم إلى انتقالات الحالة على هذه الهياكل الثلاثة:
  • موضع مفتوح: اختر نطاق tick، أودع الرموز، اسحب NFT، أدرج السيولة في خريطة tick ضمن النطاق، هيّئ أي مصفوفات tick فارغة سابقًا.
  • زيادة / تقليل السيولة: اضبط المبلغ المخزن في حساب الموضع المرتبط بـ NFT وفي خريطة tick؛ اجمع الرسوم المتراكمة في نفس الوقت.
  • مبادلة: امشِ من sqrt_price_x64 الحالي في اتجاه التجارة، واستهلك السيولة النشطة حتى يتم استنزاف المدخلات أو يتم الوصول إلى tick المهيأ التالي؛ اعبر tick واختر أو أسقط السيولة على الجانب الجديد.
  • جمع الرسوم / الحوافز: احسب fee_growth_inside_now − fee_growth_inside_last × position_liquidity لكل جانب ولكل تدفق حوافز؛ انقل للخارج.
المجمع غير مبالٍ بخلاف ذلك بشأن المواضع المفتوحة. يرى LP اثنان في نفس النطاق نفس مسار نمو الرسوم، معايير بمبالغ liquidity الفردية.

متى تختار CLMM

اختر CLMM عندما:
  • تقدم سيولة لزوج مستقر أو متوسط عائد (USDC/USDT، jitoSOL/SOL، wBTC/BTC) وتريد التركيز بالقرب من التكافؤ.
  • تكون صانع سوق مستعدًا لمراقبة السعر وإعادة الموازنة.
  • تحتاج بشكل خاص إلى انبعاثات حافز لكل مجمع بدون إنشاء مزرعة منفصلة.
  • تحتاج إلى محاسبة لكل موضع لمنتج LP الخاص بك (صندوق، منتج منظم، إلخ).
فضّل CPMM عندما:
  • تطلق رمزًا جديدًا برؤية السعر غير المعروفة.
  • تريد رمز LP واحد قابلاً للتبادل يمكنك مكافأته أو قفله أو تجميعه.
  • تريد تجربة LP سلبية.
فضّل AMM v4 عندما:
  • تحتاج بشكل خاص إلى عمق AMM هجين-CLOB الذي يضعه AMM v4 على OpenBook.
  • تقوم بترحيل تكاملات AMM v4 الموجودة ولا تفتح مواضع جديدة.

المواضع هي NFTs

يُمثّل موضع CLMM على السلسلة بحسابين:
  • mint NFT موضع برصيد 1.
  • حساب حالة موضع شخصي مرتبط بـ mint NFT، يحمل ticks الموضع والسيولة والقيم الأخيرة المرئية لنمو الرسوم.
ينقل NFT الموضع — سلطة حساب الموضع الشخصي هي مالك NFT. هذا هو نفس النمط الذي أتاحته Uniswap v3، مُنفّذ في نموذج حساب Solana. المعاملة التفصيلية موجودة في 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.
المصادر: