Emanet hesabını sabitleyen Instance PDA'sını oluşturur. Diğer herhangi bir
işlemden önce çağrılmalıdır.
PDA seed'leri
instance -> ["instance", instance_seed: Pubkey]allowed_mint -> ["allowed_mint", instance_pda: Pubkey, mint: Pubkey]operator -> ["operator", instance_pda: Pubkey, operator: Pubkey]event_authority -> ["event_authority"]
Hesaplar
| Hesap | Yazılabilir | İmzalayan | Açıklama |
|---|---|---|---|
payer | ✓ | ✓ | Ücret ödeyen ve rent ödeyen |
admin | ✓ | Instance'ın ilk yöneticisi | |
instance_seed | ✓ | Yalnızca PDA türetme için kullanılan tek kullanımlık keypair; pubkey'i seed olur | |
instance | ✓ | Instance PDA (["instance", instance_seed.pubkey] değerinden türetilir) | |
system_program | System Program | ||
event_authority | Olay yetkisi PDA'sı | ||
private_channel_escrow_program | Emanet Programı |
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
bump | u8 | Instance PDA için bump seed. İsteğe bağlı: belirtilmezse Async istemcisi otomatik olarak türetir |
IDL, otomatik olarak ayarlanan bir
discriminator: u8argümanı (değer0) içerir ve oluşturulan istemci tarafından otomatik olarak ayarlanır; manuel olarak geçirilmemelidir.
Önemli Notlar
instance_seed, yalnızcaInstancePDA'sını türetmek için kullanılan tek kullanımlık bir keypair'dir. pubkey'i seed olur; keypair'in kendisi saklanmaz veya yeniden kullanılmaz.getCreateInstanceInstructionAsynckullanın; sağlanmadığındainstance_seed'denbumpveinstance'ı otomatik olarak türetir. Kendibumpdeğerinizi yalnızcaPubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)aracılığıyla önceden hesapladıysanız geçirinEmitEventCPI aracılığıyla bir olay yayar
Is this page helpful?