AllowMint

Дозволяє карбування SPL-токена на екземплярі та створює associated token account ескроу для цього монетного двору. Після цього виклику стають можливими депозити для цього монетного двору.

Акаунти

АкаунтЗаписуванийПідписантОпис
payer✓✓Платник комісії
admin✓Адміністратор екземпляра
instancePDA екземпляра
mintМонетний двір SPL-токена для дозволу
allowed_mint✓PDA AllowedMint (створюється цією інструкцією)
instance_ata✓Associated token account ескроу для цього монетного двору (створюється цією інструкцією)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA авторитету подій
private_channel_escrow_programПрограма ескроу

Параметри

ПараметрТипОпис
bumpu8Bump 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 ескроу для цього монетного двору
  • Монетні двори з розширенням transfer hook явно заблоковані: спроба дозволити такий монетний двір викидає TransferHookNotAllowed
  • Генерує подію через CPI EmitEvent

Is this page helpful?

Зміст

Редагувати сторінку