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
| Conta | Gravável | Signatário | Descriçã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_program | System Program | ||
event_authority | PDA de autoridade de eventos | ||
private_channel_escrow_program | Programa de Escrow |
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
bump | u8 | bump seed para o PDA da instância. Opcional: o cliente Async deriva-o automaticamente se omitido |
O IDL contém um argumento
discriminator: u8(valor0) 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 PDAInstance. Seu pubkey torna-se o seed; o próprio keypair não é armazenado nem reutilizado.- Use
getCreateInstanceInstructionAsync; ele deriva automaticamentebumpeinstancea partir deinstance_seedquando não são fornecidos. Passe seu própriobumpapenas se já o tiver calculado viaPubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - Emite um evento via CPI
EmitEvent
Is this page helpful?