هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
x·y=k). لا تغير أي سلوك تداول مباشر — لم تكن هناك طلبات OpenBook متبقية لإيقاف وضعها.
ملخص سريع للمدمجين
- Swap / Deposit / Withdraw تستمر في العمل بدون تغييرات. المعاملات المبنية بتخطيطات الحسابات القديمة تستمر في التنفيذ — حسابات Serum/السوق المحذوفة يتم تجاهلها ببساطة (بدون تحقق، بدون CPI).
SwapBaseIn/SwapBaseOutلا تزال تتوقع 17 (+1 اختياري) حساب؛ تخطيطاتDepositوWithdrawلم تتغير. لا تحتاج إلى شحن تحديث عميل للحفاظ على تدفقات موجودة. - انتقل إلى نقاط دخول V2 swap.
SwapBaseInV2/SwapBaseOutV2لا تحمل حسابات سوق ولاamm_open_orders(8 حسابات إجمالاً)، لذا المعاملات أصغر وأرخص. يجب على الموجهات/المجمعات التوجيه عبر V2. WithdrawPnlتشكل تغييرًا جذريًا (للمسؤول فقط). تنتقل من 17 (+1 اختياري) → 10 حساب بدون تحليل توافق؛ التخطيط القديم لا يتوافق (الرقم 5 القديم كانamm_open_orders) ويفشل التحقق. يجب تحديث أدوات المسؤول.SetParamsتشكل تغييرًا جذريًا (للمسؤول فقط). تنكمش الحسابات إلى[amm, admin]، وتعدادparamمعاد ترقيمه (Fees9 → 2،SetOpenTime11 → 3)؛ تم حذفAmmOwnerوLastOrderDistanceوUpdateOpenOrderوپارامترات الشبكة.- عدة تعليمات لم تعد قابلة للاستدعاء.
InitializeوPreInitializeوMonitorStepوMigrateToOpenBookوWithdrawSrmوSimulateInfoوAdminCancelOrdersتعود الآن. استخدمInitialize2لإنشاء مجموعات. - تخطيطات الحسابات على السلسلة مستقرة بايت، وأكواد الخطأ لم تتغير.
AmmInfo/StateDataتحتفظ بتخطيطها (حقول OpenBook القديمة محتفظ بها لكن مهملة/مجمدة)؛ ترقيمAmmErrorمحفوظ، مع إضافةNotAllowedجديد فقط.
لماذا هذا مهم (للمتداولين والمزودي السيولة والمدمجين)
- المتداولون لا يرون تغييرًا في سلوك المبادلة أو التسعير — منحنى الحاصل الثابت لم يتغير. مبادلات تخطيط V2 أرخص في الهبوط لأنها تحمل حوالي 8 حسابات أقل.
- مزودو السيولة يحتفظون بنفس اقتصاديات الإيداع/السحب. ظلت السيولة بالكامل في خزائن المجموعة، لذا قيمة المجموعة بالكامل على السلسلة؛ هذا الترقية فقط تحذف السباكة البطيئة.
- المدمجون يحصلون على معاملات أصغر وأبسط ونموذج اقتباس يقرأ مباشرة من الخزائن. التكاملات الموجودة لا تنكسر (باستثناء
WithdrawPnl/SetParamsللمسؤول)، لكن تحويل التوافق v1-swap مؤقت — انتقل إلى V2 حسب راحتك.
تغييرات على مستوى التعليمات
لا تزال قابلة للاستدعاء، التخطيط لم يتغير (متوافق للخلف)
Initialize2 و Deposit و Withdraw و SwapBaseIn و SwapBaseOut و CreateConfigAccount و UpdateConfigAccount تحتفظ بقوائم حساباتها الموجودة. على SwapBaseIn / SwapBaseOut و Deposit و Withdraw، حسابات OpenBook/السوق لا تزال مقبولة موضعيًا لكن لم تعد يتم التحقق منها أو استخدامها — لا يتم إصدار CPI وتُحسب احتياطيات المجموعة من الخزائن فقط. عدد الحساب يجب أن يطابق بعد، لذا المعاملات الموجودة تستمر في التنفيذ دون تغيير.
SwapBaseInV2 / SwapBaseOutV2 — المسار الموصى به
حذف حسابات السوق و amm_open_orders بالكامل (8 حسابات؛ العلامات 16 / 17). رياضيات الاقتباس متطابقة مع v1. يجب على التكاملات الجديدة والموجهات استخدام V2.
WithdrawPnl — 17 (+1 اختياري) → 10 حسابات (⚠️ تغيير جذري، بدون مسار توافق)
تم حذف amm_open_orders وجميع حسابات السوق الستة. التخطيط الثابت الجديد البالغ 10 حسابات، الخاص بالمسؤول فقط، لا يحتوي على تحليل توافق؛ التخطيط القديم لا يتوافق ويفشل مع أخطاء مثل InvalidCoinVault.
SetParams — مختزل إلى [amm, admin] (⚠️ تغيير جذري) + پارامترات معاد ترقيمها
تم حذف السلطة وحسابات الطلبات المفتوحة والطلبات المستهدفة والخزائن وجميع حسابات السوق. تعداد param معاد ترقيمه ومختزل:
| Param | القيمة القديمة | القيمة الجديدة |
|---|---|---|
Status | 0 | 0 |
State | 1 | 1 |
Fees | 9 | 2 |
SetOpenTime | 11 | 3 |
OrderNum و Depth و AmountWave و MinPriceMultiplier و MaxPriceMultiplier و MinSize و VolMaxCutRatio و InitOrderDepth و SetSwitchTime و ClearOpenTime و Seperate) بالإضافة إلى AmmOwner و LastOrderDistance و UpdateOpenOrder. تسقط بنية SetParamsInstruction new_pubkey و last_order_distance.
لم تعد قابلة للاستدعاء (تعود في وقت التشغيل؛ المنشئون محذوفون)
| التعليمة | العلامة | البديل |
|---|---|---|
Initialize | 0 | Initialize2 |
MonitorStep | 2 | لا شيء (كرنك دفتر الطلبات، متقاعد) |
MigrateToOpenBook | 5 | لا شيء |
WithdrawSrm | 8 | لا شيء (خصم رسوم SRM، متقاعد) |
PreInitialize | 10 | Initialize2 |
SimulateInfo | 12 | اقتباس خارج السلسلة / SDK |
AdminCancelOrders | 13 | لا شيء |
تغييرات الاحتياطي / الحالة
- صيغة أصول المجموعة. إجمالي أصول المجموعة الآن
أرصدة الخزائن − PnL المعلقة (need_take_pnl)؛ حد دفتر الطلبات المفتوح — بالفعل صفر عمليًا — تم حذفه. يمكن لكود الاقتباس أن يقرأ مباشرة من أرصدة الخزائن. - حقول الحالة المهملة.
StateData.total_pnl_pcوtotal_pnl_coinوorderbook_to_init_timeوswap_coin_in_amountوswap_pc_out_amountوswap_acc_pc_feeوswap_pc_in_amountوswap_coin_out_amountوswap_acc_coin_feeمحتفظ بها لتوافق التخطيط لكن لم تعد يتم تحديثها. يجب على المستهلكين الذين يعتمدون على عدادات حجمswap_*الانتقال إلى سجلات التداول. - تهيئة
AmmInfo.coin_lot_sizeوpc_lot_sizeوmin_sizeيتم تهيئتها الآن إلى0. - تبعية محذوفة و CPIs. تم حذف صندوق
serum_dexمنCargo.toml؛ تم حذف جميع Serum DEX CPIs (invoke_dex_new_order_v3وinvoke_dex_cancel_order_v2وinvoke_dex_settle_fundsوinvoke_dex_init_open_ordersو …) منinvokers.rs. بنى البيانات المحذوفة:LastOrderDistanceوSimulateParamsوRunCrankDataوGetPoolDataوGetSwapBaseInDataوGetSwapBaseOutData.

