Разрешает SPL token mint на инстансе и создаёт associated token account эскроу для этого минта. После этого вызова становятся возможными депозиты для данного минта.
Аккаунты
| Аккаунт | Записываемый | Подписант | Описание |
|---|---|---|---|
payer | ✓ | ✓ | Плательщик комиссии |
admin | ✓ | Администратор инстанса | |
instance | PDA инстанса | ||
mint | SPL token mint для разрешения | ||
allowed_mint | ✓ | AllowedMint PDA (создаётся данной инструкцией) | |
instance_ata | ✓ | Associated token account эскроу для данного минта (создаётся данной инструкцией) | |
system_program | System Program | ||
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program | ||
event_authority | PDA authority события | ||
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 эскроу для данного минта - Минты с расширением transfer hook явно заблокированы: попытка разрешить такой минт вызывает ошибку
TransferHookNotAllowed - Генерирует событие через CPI
EmitEvent
Is this page helpful?