Crea el PDA Instance que ancla el depósito en garantía. Debe llamarse antes que
cualquier otra operación.
Seeds 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"]
Cuentas
| Cuenta | Modificable | Firmante | Descripción |
|---|---|---|---|
payer | ✓ | ✓ | Pagador de tarifas y de rent |
admin | ✓ | Administrador inicial de la instancia | |
instance_seed | ✓ | keypair desechable usado únicamente para la derivación del PDA; su pubkey se convierte en el seed | |
instance | ✓ | PDA de Instance (derivado de ["instance", instance_seed.pubkey]) | |
system_program | System Program | ||
event_authority | PDA de autoridad de eventos | ||
private_channel_escrow_program | Programa de depósito en garantía |
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
bump | u8 | bump seed para el PDA de la instancia. Opcional: el cliente Async lo deriva automáticamente si se omite |
El IDL contiene un argumento
discriminator: u8(valor0) que es establecido automáticamente por el cliente generado y no debe pasarse manualmente.
Notas importantes
instance_seedes un keypair desechable, usado únicamente para derivar el PDAInstance. Su pubkey se convierte en el seed; el keypair en sí no se almacena ni se reutiliza.- Usa
getCreateInstanceInstructionAsync; deriva automáticamentebumpeinstancea partir deinstance_seedcuando no se proporcionan. Pasa tu propiobumpsolo si ya lo calculaste mediantePubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - Emite un evento mediante CPI
EmitEvent
Is this page helpful?