CreateInstance

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

CuentaModificableFirmanteDescripció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_programSystem Program
event_authorityPDA de autoridad de eventos
private_channel_escrow_programPrograma de depósito en garantía

Parámetros

ParámetroTipoDescripción
bumpu8bump 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 (valor 0) que es establecido automáticamente por el cliente generado y no debe pasarse manualmente.

Notas importantes

  • instance_seed es un keypair desechable, usado únicamente para derivar el PDA Instance. Su pubkey se convierte en el seed; el keypair en sí no se almacena ni se reutiliza.
  • Usa getCreateInstanceInstructionAsync; deriva automáticamente bump e instance a partir de instance_seed cuando no se proporcionan. Pasa tu propio bump solo si ya lo calculaste mediante Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)
  • Emite un evento mediante CPI EmitEvent

Is this page helpful?

Tabla de Contenidos

Editar Página