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

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.

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

تخطيط الحسابات: حسابات ATA للمستخدم في جميع الخطوات

يوجه كل متغير مبادلة مفعّل الرموز الوسيطة من خلال حسابات ATA يتحكم فيها المستخدم. يمتلك المستخدم حساب الإدخال ATA، وكل حساب ATA وسيط، وحساب الإخراج النهائي ATA. لا توجد حسابات رموز وسيطة مشتركة أو يمتلكها الموجّه في السطح النشط. الخصائص:
  • يمتلك المستخدم حساب ATA واحد لكل رمز وسيط.
  • يوفر المستخدم كل حساب ATA في قائمة الحسابات.
  • يجب أن يكون كل حساب ATA وسيط موجوداً مسبقاً على السلسلة (قم بتهيئته باستخدام CreateSyncNative لـ wSOL، أو عبر برنامج حساب الرمز المرتبط بـ SPL لأي mint آخر، قبل التوجيه).
  • يقوم الموجّه بالتحويل من حساب ATA واحد وإلى خزينة مجموعة المسار التالي عند كل قفزة.
  • ينتهي كل حساب ATA وسيط من كل مسار برصيد مماثل للرصيد الذي بدأ به — يستهلك المسار كل ما أنتجته القفزة السابقة.
مثال على المسار USDC → SOL → STEP:
Accounts list:
  [
    USDC_input_ata (user, signer),
    SOL_intermediate_ata (user),
    STEP_output_ata (user),
    token_program,

    amm_program_1, *amm1_accounts,    // hop 1: USDC → SOL
    amm_program_2, *amm2_accounts,    // hop 2: SOL → STEP
  ]

Hop 1: USDC_input_ata → AMM1 → SOL_intermediate_ata
Hop 2: SOL_intermediate_ata → AMM2 → STEP_output_ata

تخطيط الحسابات لكل قفزة

يتم تمرير حسابات كل قفزة بالتتابع. يحدد الموجّه برنامج المقصد بقراءة الحساب الأول في كتلة كل قفزة (معرف البرنامج)، ثم يُرسل إلى معالج صحيح. لكل قفزة، يتوقع الموجّه حسابات مجمعة بالشكل التالي:
[
  program_id,         // Identifies which pool program (AMM v4, CPMM, CLMM, Stable)
  *child_accounts,    // All accounts required by that pool's swap instruction
]
تختلف الحسابات الفرعية حسب نوع المجموعة:

قفزة AMM v4

تقريباً 18 حساباً: المجموعة، السلطة، الخزائن، الرموز، حسابات سوق OpenBook (محفوظة في قائمة الحسابات للتوافق العكسي حتى وإن لم تعد تكامل OpenBook في AMM v4 نشطاً)، برامج الرموز. انظر products/amm-v4/accounts للقائمة الكاملة.

قفزة CPMM

تقريباً 11–13 حساباً: حالة المجموعة، السلطة، الخزائن (2)، الرموز (2)، برامج الرموز، برنامج النظام، برنامج حساب الرمز المرتبط. انظر products/cpmm/accounts.

قفزة CLMM

تقريباً 15+ حساباً: المجموعة، مصفوفات الحافات، الخزائن، الرموز، حالة الملاحظة، الموقّع، برامج الرموز. انظر products/clmm/accounts.

قفزة Stable

مشابهة لـ AMM v4. انظر products/stable/accounts.

تدفق الرموز وملكية ATA

  • يوقّع المتصل برقم user_input_ata.
  • يجب على المتصل أن يمتلك جميع حسابات ATA للإدخال والوسيط والإخراج. سيرفض الموجّه المعاملة إذا لم يكن مالك أي حساب ATA وسيط هو الموقّع.
  • يجب أن يكون رصيد user_input_ata للمتصل كافياً لإدخال القفزة الأولى (amount_in للبطاقة 0 / 8، أو maximum_amount_in للبطاقة 1 / 9).
  • يجب أن يكون كل حساب ATA وسيط موجوداً مسبقاً على السلسلة. إذا لم يكن موجوداً، قم بإنشاؤه مسبقاً — عادةً عبر برنامج حساب الرمز المرتبط بـ SPL، أو باستخدام CreateSyncNative (البطاقة 5) لحساب ATA بـ wSOL.

تعليمات CreateSyncNative

إذا كنت بحاجة إلى التوجيه عبر SOL المغلف ولا تريد إنشاء وتزامن حساب ATA بـ wSOL يدويًا، استخدم CreateSyncNative (البطاقة 5):
CreateSyncNative(amount)
هذا ينشئ حساب ATA بـ wSOL تحت محفظة المتصل، ينقل amount من SOL إليه عبر برنامج النظام، ويزامنه في تعليمة واحدة. مفيد لتهيئة حساب ATA بـ wSOL جديد قبل التوجيه.

تعليمات CloseTokenAccount

بعد انتهاء المسار، قد تريد إغلاق أي حساب ATA وسيط — الأكثر شيوعاً هو حساب ATA بـ wSOL — لاسترجاع الإيجار. استخدم CloseTokenAccount (البطاقة 6):
CloseTokenAccount
يجب أن يكون رصيد حساب الرمز صفراً قبل الإغلاق؛ لن يقوم الموجّه بإفراغه تلقائياً لك.

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