CreateInstance

Cria o PDA Instance que ancora o escrow. Deve ser chamado antes de qualquer outra operação.

Seeds do 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"]

Contas

ContaGravávelSignatárioDescrição
payer✓✓Pagador de taxas e pagador de rent
admin✓Administrador inicial da instância
instance_seed✓keypair descartável usado apenas para derivação do PDA; seu pubkey torna-se o seed
instance✓PDA de Instance (derivado de ["instance", instance_seed.pubkey])
system_programSystem Program
event_authorityPDA de autoridade de eventos
private_channel_escrow_programPrograma de Escrow

Parâmetros

ParâmetroTipoDescrição
bumpu8bump seed para o PDA da instância. Opcional: o cliente Async deriva-o automaticamente se omitido

O IDL contém um argumento discriminator: u8 (valor 0) que é definido automaticamente pelo cliente gerado e não deve ser passado manualmente.

Notas Importantes

  • instance_seed é um keypair descartável, usado apenas para derivar o PDA Instance. Seu pubkey torna-se o seed; o próprio keypair não é armazenado nem reutilizado.
  • Use getCreateInstanceInstructionAsync; ele deriva automaticamente bump e instance a partir de instance_seed quando não são fornecidos. Passe seu próprio bump apenas se já o tiver calculado via Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)
  • Emite um evento via CPI EmitEvent

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.