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

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.

هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
تتوقع تعليمات AMM v4 بشكل موحد كلاً من جانب المجموعة (حسابات برنامج AMM v4) و جانب السوق (حسابات OpenBook للسوق المرتبطة). يؤدي حذف أو عدم تطابق أي مجموعة إلى الرجوع. تستخدم قوائم الحسابات أدناه أسماء الحقول من Raydium SDK لتوضيح الصورة؛ في بعض الأحيان تستخدم IDL الأساسية بادئات serum_*.

قائمة جرد التعليمات

المجموعةالتعليمةملاحظات
دورة حياة المجموعةInitialize2تعليمة إنشاء المجموعة الحالية (لا تزال وظيفية؛ واجهة المستخدم الافتراضية تفضل CPMM للمجموعات الجديدة).
السيولةDepositإضافة السيولة، استقبال LP.
السيولةWithdrawحرق LP، استقبال كلا الجانبين بشكل متناسب.
المبادلةSwapBaseInمبادلة المدخلات المحددة بدقة (المسار الكامل: الأقبية + OpenBook).
المبادلةSwapBaseOutمبادلة المخرجات المحددة بدقة (المسار الكامل).
المبادلةSwapBaseInV2مبادلة المدخلات المحددة بدقة التي تتجاوز OpenBook — الأقبية فقط، حسابات أقل.
المبادلةSwapBaseOutV2مبادلة المخرجات المحددة بدقة التي تتجاوز OpenBook.
الصيانةSetParamsالمسؤول: تغيير معاملات المجموعة.
الصيانةWithdrawPnlكسح أرباح وخسائر البروتوكول المتراكمة إلى حسابات مالك الأرباح والخسائر.
الصيانةCreateConfigAccountالمسؤول: تهيئة PDA AmmConfig على مستوى البرنامج.
الصيانةUpdateConfigAccountالمسؤول: تغيير معاملات التكوين على مستوى البرنامج.
يعرّض SDK منشئين لتعليمات المستخدم فقط. عادة ما يتم استدعاء تعليمات الصيانة بواسطة حارس Raydium.

Initialize2

بدء تشغيل مجموعة AMM v4 جديدة مرتبطة بسوق OpenBook موجودة. المعاملات
nonce:        u8
open_time:    u64
init_pc_amount:   u64
init_coin_amount: u64
الحسابات (قابل للكتابة W، الموقّع S)
#الاسمWSملاحظات
1token_programSPL Token.
2system_program
3rent
4ammWحساب AmmInfo (مفتاح مزروع).
5amm_authorityبرنامج PDA.
6amm_open_ordersWOpenBook OpenOrders (مزروع).
7lp_mintW
8coin_mint
9pc_mint
10pool_coin_token_accountW
11pool_pc_token_accountW
12pool_withdraw_queueW
13pool_target_orders_accountW
14pool_lp_token_accountWLP ATA للمنشئ.
15pool_temp_lp_token_accountWحساب مؤقت.
16market_programبرنامج OpenBook.
17marketسوق OpenBook.
18user_walletWSالمنشئ. يدفع الإيجار ويمول الإيداع الأولي.
19user_token_coinW
20user_token_pcW
الشروط اللاحقة
  • lp_supply = sqrt(init_coin_amount × init_pc_amount) − INIT_BURN، حيث يتم الاحتفاظ بـ INIT_BURN ≈ 100 وحدة LP خارج التداول.
  • لم يتم نشر طلبات OpenBook بعد؛ يقوم أول MonitorStep بنشر الشبكة الأولية.
الأخطاء الشائعةInvalidInput (عدم تطابق الكسور العشرية، غير مرتبة)، NotApproved، جانب OpenBook InvalidMarketState.

Deposit

إضافة السيولة. المعاملات
max_coin_amount: u64
max_pc_amount:   u64
base_side:       u64    // 0 = base على coin، 1 = base على pc
// (بعض متغيرات SDK تقبل أيضاً other_amount_min)
الحسابات (مختصرة)
#الاسمWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5amm_target_ordersW
6lp_mintW
7pool_coin_token_accountW
8pool_pc_token_accountW
9market
10user_coin_token_accountW
11user_pc_token_accountW
12user_lp_token_accountW
13user_ownerS
الرياضيات — متناسبة بشكل معياري. باستخدام الاحتياطيات الفعلية للمجموعة (الأقبية + على الكتاب)، يحسب SDK زوج coin/pc الذي ينتج كمية LP المعطاة ويتحقق منه مقابل max_*. يرجع مع ExceededSlippage إذا تجاوز أي جانب الحد الأقصى.

Withdraw

حرق LP، استقبال كلا الجانبين. المعاملات
amount: u64    // LP لحرقه
الحسابات — مثل Deposit مع عكس الاتجاه؛ lp_mint قابل للكتابة للحرق، ATAs المستخدم هي المتلقون. تحدث خطوة تسوية شبيهة بـ MonitorStep-من-OpenBook بشكل داخلي قبل الرياضيات المتناسبة بحيث تستخدم الاسترجاع احتياطيات جديدة.

SwapBaseIn

مبادلة المدخلات المحددة بدقة. دائماً مبادلة مسار AMM (لا توجه عبر مطابقة OpenBook).
استخدم متغيرات V2 للكود الجديد. بما أن AMM v4 لم تعد تشارك السيولة مع OpenBook، فإن نقاط النهاية V1 (SwapBaseIn, SwapBaseOut) — التي لا تزال تتطلب المجموعة الكاملة من حسابات OpenBook للتحقق من الصحة — تكون زائدة عن الحاجة من الناحية الوظيفية. يجب أن تستخدم التطبيقات الجديدة SwapBaseInV2 / SwapBaseOutV2، التي تأخذ قائمة حسابات أصغر بكثير وتمثل مسار التنفيذ الأساسي اليوم. يتم توثيق النماذج V1 هنا للاكتمال والقراءة للمعاملات الموجودة على السلسلة.
المعاملات
amount_in:            u64
minimum_amount_out:   u64
الحسابات (مختصرة)
#الاسمWS
1token_program
2ammW
3amm_authority
4amm_open_ordersW
5amm_target_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8market_program
9marketW
10market_bidsW
11market_asksW
12market_event_queueW
13market_coin_vaultW
14market_pc_vaultW
15market_vault_signer
16user_source_token_accountW
17user_dest_token_accountW
18user_ownerS
الرياضيات — انظر 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 من رمز الوجهة.
  • state_data.swap_*_in_amount و swap_*_out_amount معزز (للتحليلات).
  • need_take_pnl_* معزز بحصة رسوم البروتوكول.
الأخطاء الشائعةExceededSlippage، InvalidInput، InvalidStatus، InvalidMarket.

SwapBaseOut

المخرجات المحددة بدقة، معكوس SwapBaseIn. نفس الحسابات. المعاملات
max_amount_in: u64
amount_out:    u64

SwapBaseInV2 / SwapBaseOutV2

نقاط نهاية مبادلة متغيرة تتجاوز حسابات OpenBook بالكامل. الرياضيات مماثلة لمسار V1، لكن قائمة الحسابات تنكمش إلى جانب AMM فقط:
#الاسمWS
1token_program
2ammW
3amm_authority
4amm_open_orders
5pool_coin_token_accountW
6pool_pc_token_accountW
7user_source_token_accountW
8user_dest_token_accountW
9user_ownerS
الاحتياطيات الفعلية للمجموعة لا تزال تأخذ في الحسبان الرموز المرسلة على OpenBook، لذا فإن رياضيات الاقتباس لم تتغير. استخدم V2 لحفظ الحوسبة وتجنب تمرير حسابات السوق عندما لا تحتاج إلى OpenBook crank في نفس المعاملة. يستخدم موجه Raydium دائماً نموذج V2 عند التوجيه عبر AMM v4. المعاملات هي نفسها نماذج V1 (amount_in / minimum_amount_out لـ SwapBaseInV2؛ max_amount_in / amount_out لـ SwapBaseOutV2).

MonitorStep (قديم / خامل)

لم يعد يتم تشغيله. AMM v4 لم تعد تشارك السيولة مع OpenBook، لذا ليس لدى MonitorStep ما يفعله — المجموعة لا تحتوي على طلبات مرسلة لتسويتها أو إلغاء أو استبدالها. تبقى التعليمة في برنامج السلسلة لأسباب التوافقية العكسية لكن حارس Raydium لم يعد يستدعيها. استدعاؤها يدويًا هو فعليًا عدم تغيير (بخلاف تحديث الحالة الصفرية) ويجب ألا تكون مطلوبة من قبل المدمجين.
أصلاً كانت هذه التعليمة تشغل تفاعل المجموعة مع OpenBook. المعاملات
plan_order_limit:   u16
place_order_limit:  u16
cancel_order_limit: u16
الحسابات — كل شيء أعلاه لمبادلة، بالإضافة إلى حسابات OpenBook الإدارية. التأثير الأصلي (لم يعد ذا صلة عمليًا):
  • تسوية أي طلبات معبأة (نقل عائداتها من market_coin_vault/market_pc_vault إلى أقبية المجموعة عبر OpenBook CPI).
  • إلغاء الطلبات القديمة التي لم تعد أسعارها أو أحجامها تطابق target_orders.
  • نشر طلبات جديدة لإغلاق الفجوة بين target_orders و amm_open_orders.
بدون إذن. يمكن لأي حساب استدعاؤها؛ تاريخيًا قام حارس Raydium بذلك بانتظام.

WithdrawPnl / TakePnl

كسح إداري لرسوم البروتوكول المتراكمة. المعاملات
  • WithdrawPnl لا تأخذ معاملات؛ تقرأ need_take_pnl_* وتنقل تلك المبالغ بالضبط.
الحسابات (مختصرة)
#الاسمWS
1token_program
2ammW
3amm_authority
4amm_config
5amm_open_ordersW
6pool_coin_token_accountW
7pool_pc_token_accountW
8pnl_coin_token_accountWالمتلقي، مخزن على AmmConfig.
9pnl_pc_token_accountW
10pnl_ownerSمجموعة المسؤول متعددة التوقيعات.
11market_program
12marketW
13market_event_queueW
14market_coin_vaultW
15market_pc_vaultW
16market_vault_signer
التأثير
  • نقل need_take_pnl_coin من pool_coin_token_account إلى pnl_coin_token_account.
  • نفس الشيء لـ pc.
  • تصفير need_take_pnl_coin و need_take_pnl_pc.
لا يوجد تغيير في الاحتياطيات لأن أرباح وخسائر المتراكمة تم استبعادها بالفعل من الثابت.

SetParams

تغييرات معاملات المسؤول: قناع الحالة، عمق شبكة الطلبات، موجات المبلغ، الرسوم (نادراً)، إلخ. يتم استدعاء بواسطة مجموعة Raydium متعددة التوقيعات. المعاملات هي وسم param: u8 + الحمولة، مشابه لـ UpdateAmmConfig الخاص بـ CPMM.

مصفوفة تغيير الحالة

التعليمةتوريد lp_mintالأقبيةعدادات الأرباح والخسائرOpenBook
Initialize2التوريد الأولي المخزن للمنشئ+ init_coin_amount، + init_pc_amount0OpenOrders تم إنشاؤه
Deposit++ كليهماتسوية الملء
Withdraw− كليهماتسوية الملء
SwapBaseIn+ داخل، − خارج+ حصة pnlقد تعيد نشر الشبكة
SwapBaseOut+ داخل، − خارج+ حصة pnlقد تعيد نشر الشبكة
MonitorStepتسوية الملءإلغاء / نشر
WithdrawPnl− (pnl مكتسح)0
SetParams

الخطوات التالية

المصادر: