يسمح بسك رمز SPL على المثيل وينشئ associated token account الخاص بالضمان لذلك السك. تصبح الإيداعات لهذا السك ممكنةً بعد هذا الاستدعاء.
الحسابات
| الحساب | قابل للكتابة | موقِّع | الوصف |
|---|---|---|---|
payer | ✓ | ✓ | دافع الرسوم |
admin | ✓ | مدير المثيل | |
instance | PDA الخاص بالمثيل | ||
mint | سك رمز SPL المراد السماح به | ||
allowed_mint | ✓ | PDA الخاص بـ AllowedMint (يُنشأ بواسطة هذه التعليمة) | |
instance_ata | ✓ | associated token account الخاص بالضمان لهذا السك (يُنشأ بواسطة هذه التعليمة) | |
system_program | System Program | ||
token_program | برنامج رمز SPL | ||
associated_token_program | Associated Token Program | ||
event_authority | PDA الخاص بسلطة الأحداث | ||
private_channel_escrow_program | برنامج الضمان |
المعاملات
| المعامل | النوع | الوصف |
|---|---|---|
bump | u8 | bump seed الخاص بـ PDA الخاص بـ allowed_mint. اختياري: يستنتجه العميل Async تلقائيًا إذا لم يُذكر |
يحتوي IDL على وسيطة
discriminator: u8(القيمة1) يتم ضبطها تلقائيًا بواسطة العميل المُولَّد ولا ينبغي تمريرها يدويًا.
ملاحظات مهمة
- استخدم
getAllowMintInstructionAsync؛ إذ يستنتج تلقائيًاbumpوallowed_mintوinstance_ataعند عدم تقديمها. مرِّرbumpالخاص بك فقط إذا حسبته مسبقًا عبرPubkey::find_program_address(&[b"allowed_mint", instance_pda, mint], &PROGRAM_ID) - ينشئ أيضًا
instance_ata، وهو ATA الخاص بالضمان لهذا السك - يتم حظر السكوك التي تمتلك امتداد خطاف النقل صراحةً: محاولة السماح
بمثل هذا السك تُطلق خطأ
TransferHookNotAllowed - يُصدر حدثًا عبر
EmitEventCPI
Is this page helpful?