هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
اعتبارًا من ترقية البرنامج 2026-07، تم إزالة اعتماد AMM v4 على OpenBook / Serum. تحتفظ تعليمات v1 القديمة
SwapBaseIn / SwapBaseOut و Deposit و Withdraw بتخطيطات الحسابات القديمة للتوافق العكسي: لا تزال حسابات السوق مقبولة في مواضعها القديمة، لكن لم تعد يتم التحقق منها أو استخدامها (لا يتم إصدار CPI). يجب على التكاملات الجديدة استخدام نقاط الدخول V2 للمبادلة، التي تحذف حسابات السوق بالكامل. تم إزالة عدة تعليمات والآن تعود — انظر إدخال السجل. تستخدم قوائم الحسابات أدناه أسماء الحقول من Raydium SDK؛ IDL الأساسي يستخدم أحيانًا بادئات serum_*.جرد التعليمات
يكشف SDK عن منشئات للتعليمات الموجهة للمستخدم فقط. عادة ما يتم استدعاء تعليمات الصيانة بواسطة حارس Raydium.
تم إزالتها / لم تعد قابلة للاستدعاء (تعود الآن مع
unimplemented!، وتم حذف منشئات العميل الخاصة بها): Initialize (الوسم 0، استخدم Initialize2)، MonitorStep (2)، MigrateToOpenBook (5)، WithdrawSrm (8)، PreInitialize (10، استخدم Initialize2)، SimulateInfo (12)، AdminCancelOrders (13).
Initialize2
بدء تشغيل pool AMM v4 جديد مرتبط بسوق OpenBook موجود.
المعاملات
W، موقّع S)
الشروط اللاحقة
lp_supply = sqrt(init_coin_amount × init_pc_amount) − INIT_BURN، حيث يتم الاحتفاظ بـINIT_BURN≈ 100 وحدة LP خارج التداول.- لا يتم نشر أوامر OpenBook (تم إزالة شبكة دفتر الطلبات). لا يزال يتم تمرير
market_program/marketلكن يتم تخزينهما كحقول مرجعية فقط؛ يتم تهيئةcoin_lot_size/pc_lot_size/min_sizeإلى0.
InvalidInput (عدم تطابق الكسور العشرية، غير مرتبة)، NotAllowed.
Deposit
إضافة السيولة.
المعاملات
الرياضيات — نسبة متناسبة قياسية. باستخدام احتياطيات pool الفعلية (الأقبية + المُدرجة)، يحسب SDK زوج coin/pc الذي ينتج عنه مبلغ LP المعطى ويتحقق منه مقابل
max_*. يعود مع ExceededSlippage إذا تجاوز أي جانب الحد الأقصى.
Withdraw
حرق LP، استقبال كلا الجانبين.
المعاملات
Deposit مع عكس الاتجاه؛ lp_mint قابل للكتابة للحرق، ATAs المستخدم هي المستقبلات. تخطيط الحسابات لم يتغير (حسابات السوق لا تزال تُمرر بشكل موضعي، مُتجاهلة). لا توجد خطوة تسوية من OpenBook — تستخدم الرياضيات النسبة المتناسبة أرصدة الأقبية مباشرة.
SwapBaseIn
مبادلة بمدخل دقيق. دائمًا مبادلة مسار AMM (لا تسير عبر مطابقة OpenBook).
استخدم متغيرات V2 للكود الجديد. نظرًا لأنه تم إزالة اعتماد AMM v4 على OpenBook، لا تزال نقاط الدخول V1 (
SwapBaseIn، SwapBaseOut) تتوقع قائمة الحسابات الكاملة المكونة من 17 حسابًا (أو 18 مع حساب target-orders الاختياري)، لكن حسابات OpenBook/market الآن مقبولة بشكل موضعي ومُتجاهلة — لا يتم التحقق منها ولا يتم إصدار CPI. تمرير عدد حسابات خاطئ لا يزال يعود مع WrongAccountsNumber، لكن محتويات حساب السوق لم تعد يتم التحقق منها. يجب على التكاملات الجديدة استخدام SwapBaseInV2 / SwapBaseOutV2، التي تأخذ قائمة حسابات أصغر بكثير وتمثل مسار التنفيذ الكنسي اليوم. يتم توثيق النماذج V1 هنا للاكتمال وللقراءة من المعاملات على السلسلة الموجودة.
الرياضيات — انظر
products/amm-v4/math.
الشروط السابقة
amm.statusيسمح بالمبادلة (البت 0 من قناع حالة الحالة غير مضبوط).amm.state_data.pool_open_time <= now.amount_in > 0.user_source_token_accountيحتفظ بـamount_inعلى الأقل.
- يفقد المستخدم
amount_inمن الرمز المصدر، ويكسبamount_out ≥ minimum_amount_outمن رمز الوجهة. need_take_pnl_*مزيد بحصة رسوم البروتوكول.- ملاحظة: عدادات التحليلات
state_data.swap_*_in_amount/swap_*_out_amountلم تعد يتم تحديثها — قيمها مجمدة. استخدم سجلات التداول لتحليلات الحجم.
ExceededSlippage، InvalidInput، InvalidStatus، NotAllowed (رمز coin/pc متطابق).
SwapBaseOut
مخرج دقيق، معكوس SwapBaseIn. نفس الحسابات.
المعاملات
SwapBaseInV2 / SwapBaseOutV2
نقاط دخول مبادلة متغيرة (الوسوم 16 / 17) التي تتخطى حسابات OpenBook بالكامل. الرياضيات متطابقة مع مسار V1، لكن قائمة الحسابات تنكمش إلى جانب AMM والمستخدم فقط — 8 حسابات، و amm_open_orders لا يتم تمريره:
احتياطيات Pool الآن هي أرصدة الأقبية (ناقص PnL المعلق)، لذا رياضيات الاقتباس مباشرة ومتطابقة مع مسار v1. استخدم V2 لتوفير الحساب وتجنب تمرير حسابات السوق (المُتجاهلة الآن). يستخدم موجه Raydium دائمًا نموذج V2 عند التوجيه عبر AMM v4.
المعاملات هي نفسها نماذج V1 (
amount_in / minimum_amount_out لـ SwapBaseInV2؛ max_amount_in / amount_out لـ SwapBaseOutV2).
MonitorStep والتعليمات المحذوفة الأخرى
تاريخيًا، كانت MonitorStep تشغل تفاعل pool مع OpenBook: كانت تسوي الطلبات المملوءة (نقل العائدات من أقبية السوق إلى أقبية pool عبر OpenBook CPI)، وتلغي الطلبات القديمة، وتنشر طلبات جديدة لإغلاق الفجوة بين target_orders و amm_open_orders. مع إزالة اعتماد OpenBook، لا يوجد شيء لتشغيله والتعليمة اختفت. يجب على أي حارس أو تكامل لا يزال يستدعيها إزالة الاستدعاء.
WithdrawPnl / TakePnl
مسح المسؤول لرسوم البروتوكول المتراكمة.
المعاملات
WithdrawPnlلا تأخذ أي معاملات؛ تقرأneed_take_pnl_*وتنقل تلك المبالغ بالضبط.
التأثير
- ينقل
need_take_pnl_coinمنpool_coin_token_accountإلىpnl_coin_token_account. - نفس الشيء لـ pc.
- يصفر
need_take_pnl_coinوneed_take_pnl_pc. - تغيير المنطق: إذا كان رصيد القبو غير كافٍ لتغطية PnL المتراكم، تعود التعليمة مع
TakePnlErrorمباشرة (لم تعد تتلاعب بحالة دفتر الطلبات).
SetParams
تغييرات معاملات المسؤول، يتم استدعاؤها بواسطة توقيع متعدد Raydium. المعاملات هي وسم param: u8 + حمولة.
مصفوفة تغيير الحالة
عمود OpenBook اختفى — لا تعليمة تلمس دفتر طلبات بعد الآن.الخطوات التالية
products/amm-v4/code-demos— أمثلة TypeScript لتدفقات المبادلة و LP.products/amm-v4/fees— تفاصيلWithdrawPnlوتقسيم الرسوم.reference/error-codes— جدول مرجعي للأمام (أخطاء AMM v4 مدرجة في تلك الصفحة).
- برنامج Raydium AMM —
raydium-io/raydium-amm - وحدة Raydium SDK v2
Liquidity - برنامج OpenBook — التحقق من الحسابات على جانب السوق

