Örnekte bir SPL token mint'ine izin verir ve o mint için escrow'un associated token account'unu oluşturur. Bu çağrının ardından söz konusu mint için yatırma işlemleri mümkün hale gelir.
Hesaplar
| Hesap | Yazılabilir | İmzalayan | Açıklama |
|---|---|---|---|
payer | ✓ | ✓ | Ücret ödeyici |
admin | ✓ | Örnek yöneticisi | |
instance | Örnek PDA | ||
mint | İzin verilecek SPL token mint'i | ||
allowed_mint | ✓ | AllowedMint PDA (bu talimat tarafından oluşturulur) | |
instance_ata | ✓ | Bu mint için escrow'un associated token account'u (bu talimat tarafından oluşturulur) | |
system_program | System Program | ||
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program | ||
event_authority | Etkinlik yetkisi PDA | ||
private_channel_escrow_program | Escrow Programı |
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
bump | u8 | allowed_mint PDA için bump seed. İsteğe bağlı: Async istemcisi atlanırsa otomatik türetir |
IDL, otomatik olarak ayarlanan bir
discriminator: u8argümanı (değer1) içerir ve bu değer üretilen istemci tarafından otomatik ayarlanır; elle iletilmemelidir.
Önemli Notlar
getAllowMintInstructionAsynckullanın; sağlanmadığındabump,allowed_mintveinstance_atadeğerlerini otomatik olarak türetir. Kendibumpdeğerinizi yalnızcaPubkey::find_program_address(&[b"allowed_mint", instance_pda, mint], &PROGRAM_ID)aracılığıyla önceden hesapladıysanız iletin- Bu mint için escrow'un ATA'sı olan
instance_ata'yı da oluşturur - Transfer hook uzantısına sahip mint'ler açıkça engellenir: böyle bir mint'e izin verme
girişimi
TransferHookNotAllowedhatasını fırlatır EmitEventCPI aracılığıyla bir olay yayar
Is this page helpful?