Crea il PDA Instance che ancora l'escrow. Deve essere chiamato prima di qualsiasi
altra operazione.
Seed del PDA
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"]
Account
| Account | Scrivibile | Firmatario | Descrizione |
|---|---|---|---|
payer | ✓ | ✓ | Pagatore delle commissioni e del rent |
admin | ✓ | Admin iniziale dell'istanza | |
instance_seed | ✓ | keypair temporaneo usato solo per la derivazione del PDA; il suo pubkey diventa il seed | |
instance | ✓ | PDA Instance (derivato da ["instance", instance_seed.pubkey]) | |
system_program | System Program | ||
event_authority | PDA dell'autorità degli eventi | ||
private_channel_escrow_program | Programma Escrow |
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
bump | u8 | bump seed per il PDA dell'istanza. Opzionale: il client Async lo deriva automaticamente se omesso |
L'IDL contiene un argomento
discriminator: u8(valore0) che viene impostato automaticamente dal client generato e non deve essere passato manualmente.
Note Importanti
instance_seedè un keypair temporaneo, usato solo per derivare il PDAInstance. Il suo pubkey diventa il seed; il keypair stesso non viene memorizzato né riutilizzato.- Usa
getCreateInstanceInstructionAsync; deriva automaticamentebumpeinstancedainstance_seedquando non vengono forniti. Passa il tuobumpsolo se lo hai già calcolato tramitePubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - Emette un evento tramite CPI
EmitEvent
Is this page helpful?