AllowMint

Разрешает SPL token mint на инстансе и создаёт associated token account эскроу для этого минта. После этого вызова становятся возможными депозиты для данного минта.

Аккаунты

АккаунтЗаписываемыйПодписантОписание
payer✓✓Плательщик комиссии
admin✓Администратор инстанса
instancePDA инстанса
mintSPL token mint для разрешения
allowed_mint✓AllowedMint PDA (создаётся данной инструкцией)
instance_ata✓Associated token account эскроу для данного минта (создаётся данной инструкцией)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA authority события
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?

Содержание

Редактировать страницу