CreateInstance

Crée le PDA Instance qui ancre l'escrow. Doit être appelé avant toute autre opération.

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

Comptes

CompteModifiableSignataireDescription
payer✓✓Payeur de frais et payeur de rent
admin✓Administrateur initial de l'instance
instance_seed✓keypair jetable utilisé uniquement pour la dérivation du PDA ; son pubkey devient le seed
instance✓PDA Instance (dérivé de ["instance", instance_seed.pubkey])
system_programSystem Program
event_authorityPDA de l'autorité d'événement
private_channel_escrow_programProgramme d'escrow

Paramètres

ParamètreTypeDescription
bumpu8bump seed pour le PDA de l'instance. Facultatif : le client Async le dérive automatiquement s'il est omis

L'IDL contient un argument discriminator: u8 (valeur 0) qui est défini automatiquement par le client généré et ne doit pas être passé manuellement.

Notes importantes

  • instance_seed est un keypair jetable, utilisé uniquement pour dériver le PDA Instance. Son pubkey devient le seed ; le keypair lui-même n'est ni stocké ni réutilisé.
  • Utilisez getCreateInstanceInstructionAsync ; il dérive automatiquement bump et instance depuis instance_seed lorsqu'ils ne sont pas fournis. Ne fournissez votre propre bump que si vous l'avez déjà calculé via Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)
  • Émet un événement via le CPI EmitEvent

Is this page helpful?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.