يحرق رصيد الرموز المميزة للمستخدم على جانب القناة في برنامج السحب للإشارة إلى
عملية سحب معلّقة؛ يجب على المشغّل بعد ذلك استدعاء ReleaseFunds على
برنامج الضمان لإتمام التسوية.
الحسابات
| الحساب | قابل للكتابة | موقِّع | الوصف |
|---|---|---|---|
user | ✓ | مالك الرمز المميز الذي يبدأ عملية السحب | |
mint | ✓ | عنوان إصدار رمز SPL (المُستخدَم في الحرق) | |
token_account | ✓ | token account الخاص بالمستخدم على جانب القناة (المصدر) | |
token_program | Token Program | ||
associated_token_program | Associated Token Program |
المعاملات
| المعامل | النوع | الوصف |
|---|---|---|
amount | u64 | كمية الرموز المميزة المراد سحبها، بأصغر وحدة للرمز |
destination | Option<Pubkey> | المحفظة الهدف على الشبكة الرئيسية؛ إذا كانت None، يُعيَّن افتراضيًا إلى محفظة الموقِّع |
القيم المُعادة
يُعيد TransactionBuilder يمكن استخدامه لبناء المعاملة وإرسالها.
مثال
import { getWithdrawFundsInstruction } from "../private-channel-withdraw-program/clients/typescript/src/generated";const withdrawIx = getWithdrawFundsInstruction({user: userSigner,mint: mintAddress,tokenAccount: channelTokenAccount,tokenProgram: TOKEN_PROGRAM_ID,associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,amount: 1_000_000n,destination: null // null = release to signer's Mainnet wallet});
ملاحظات مهمة
- هذا التعليمات موجود في برنامج السحب
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet)، وليس في برنامج الضمان - حرق الرموز المميزة على جانب القناة لا يُفرج تلقائيًا عن الأموال على
الشبكة الرئيسية؛ يجب على المشغّل بعد ذلك استدعاء
ReleaseFundsعلى برنامج الضمان مع تقديم دليل إقصاء SMT صالح - يُرمى خطأ
ZeroAmountإذا كانتamountتساوي 0 - إذا كانت
destinationتساويNone، فإن استدعاءReleaseFundsمن قِبل المشغّل سيُفرج عن الأموال إلى محفظة الموقِّع
للاطلاع على مرجع رموز الأخطاء الكامل لكلا البرنامجين، راجع التعليمات -> رموز الأخطاء.
Is this page helpful?