هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
OpenPositionV2 أو OpenPositionWithToken22Nft وتحمل إحدى عملات الخزان الأساسية سلطة تجميد من قائمة المُصدِّرين المقيّدين المُشفّرة.
ملخص سريع للمدمجين
- عملات NFT للمراكز الجديدة لها سلطة تجميد، لكنها غير مجمّدة بشكل افتراضي. يقوم
OpenPositionوOpenPositionV2وOpenPositionWithToken22Nftبتعيينpool_stateللمركز كسلطة تجميد العملة. لا تزال سلطة العملة مُزالة بعد صك NFT الواحد. - التجميد يتطلب مسار V2 بالإضافة إلى تطابق المُصدِّر. يفحص
OpenPositionV2وOpenPositionWithToken22Nftقيمvault_0_mint.freeze_authorityوvault_1_mint.freeze_authority. يتم تجميد حساب NFT الجديد فقط إذا طابقت إحدى القيم قائمة البرنامج. بدون تطابق، يبقى غير مجمّد وقابل للتحويل. - التجميد يعني الربط بالمالك. يرفض SPL Token نقل NFT وتغييرات مالك حساب الرمز برسالة الخطأ الأصلية
AccountFrozen. تستمر عمليات زيادة/تقليل السيولة وجمع الرسوم/المكافآت في العمل عندما يوقّع مالك NFT. - الإغلاق يبقى متاحًا. يكتشف
ClosePositionحساب NFT المجمّد، ويستخدم pool PDA لإذابته، ثم يحرق NFT ويغلق المركز بشكل ذري. - إغلاق مجمّد يتطلب حساب متبقي واحد. يجب على العميل إضافة
personal_position.pool_idكأول حساب متبقي. عدم وجوده يُرجعAccountLackمن CLMM؛ تمرير مجموعة خاطئة يُرجعNotApproved. - المراكز الموجودة لم تتأثر. لا يقوم التحديث بتغيير سلطات عملة NFT بأثر رجعي أو تجميد حسابات الرموز الموجودة.
- لا توجد تغييرات في تخطيط حالة CLMM أو قائمة حسابات IDL المُعلنة. يبقى
PoolStateوPersonalPositionStateوحجج التعليمات متوافقة على مستوى البايت. يتم نقل متطلبات مسار الإغلاق عبرremaining_accounts.
منطق التشغيل
يقيّم البرنامج عملات الخزان الاثنتين في وقت الفتح:reference/program-addresses.
يتم تشغيل الفحص في معالج المركز المفتوح المشترك فقط عندما يتم توفير حسابات عملة الخزان. هذا يعني:
تغييرات سلطة NFT للمركز
قبل هذا التحديث، لم تحتفظ عملة NFT للمركز الكلاسيكي SPL المُنشأة حديثًا بسلطة تجميد. بعد التحديث، تسمي كل عملة NFT للمركز الجديد مجموعتها كسلطة تجميد، بما في ذلك المراكز في المجموعات العادية. هذا الإعداد للسلطة وحده لا يقوم بتجميد حساب رمز NFT؛ تبقى المراكز العادية وغير المتطابقة غير مجمّدة. يؤدي استخدام pool PDA بدلاً من مفتاح إداري عام أو مفتاح المُصدِّر إلى تضييق السلطة على مجموعة واحدة. لا يمكن لطرف خارجي التوقيع كـ PDA، ولا يكشف CLMM عن تعليمة ذات غرض عام لتجميد أو إذابة حسابات مراكز عشوائية. يستخدم الكود الجديد السلطة في مكانين فقط:- التجميد فورًا بعد الصك عندما يطابق فحص المُصدِّر الأساسي.
- الإذابة أثناء
ClosePositionمباشرة قبل الحرق.
هجرة ClosePosition
الحسابات الستة المُعلنة لا تتغير. لـ NFT مجمّد، أضف المجموعة كأول حساب متبقي:
PoolState، ويشتق بذور توقيع المجموعة، ويقوم بـ:
مصفوفة التوافقية
لا يتم إدخال متغيرات خطأ مخصصة جديدة في CLMM أو تحولات رقمية. يرفض الخطأ الأصلي
AccountFrozen من SPL Token محاولات النقل أو تغيير المالك.
الصفحات المُحدّثة
products/clmm/overview— ملخص الإصدار وتحذير عدم القابلية للتحويل المقيّد.products/clmm/ticks-and-positions— نموذج السلطة والمشغل وقدرات المالك وتحذير هجرة الإغلاق.products/clmm/accounts— عملة NFT للمركز وسلوك دورة الحياة.products/clmm/instructions— شروط ما بعد الفتح ومسار حسابClosePositionالمتبقي المجمّد.products/clmm/code-demos— مثال Anchor مباشر للإغلاق وتحذير SDK المثبّت.user-flows/add-remove-liquidity— سلوك المركز المقيّد الموجه للمستخدم.user-flows/burn-and-earn— لا يمكن للمراكز المجمّدة النقل إلى قفل escrow.security/oracle-and-token-risks/security/attack-vectors— حدود المُصدِّر وخطر النقل.reference/token-2022-support— التمييز بين قائمة السماح بالمجموعة وحضانة المركز.reference/error-codes— أسبابAccountLackوNotApprovedالموسّعة.reference/program-addresses— مفاتيح تطابق سلطة المُصدِّر المقيّد.reference/fee-comparison/reference/glossary— استثناءات القابلية للتحويل.
- فرع CLMM قبل الإصدار
feat/position-nft-freezeفيecb157760776f83f97507fa78c6e32cfb30d92a9. - الالتزامات
2e95310(تجميد NFT للمُصدِّر المقيّد) وecb1577(سلطة التجميد ذات النطاق المجموعة)، مقارنة معmasterفي51fdba2. - مصادر البرنامج تحت
instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rsوutil/token.rs. position-nft-freeze.test.ts، تغطي القابلية للتحويل العادية ورفض النقل/تغيير المالك المجمّد وتدفقات الإذابة قبل الإغلاق V2 و Token-2022.

