CreateInstance

Tworzy PDA Instance, który zakotwicza escrow. Musi być wywołana przed jakąkolwiek inną operacją.

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

Konta

KontoZapisywalnePodpisującyOpis
payer✓✓Płatnik opłat i rent
admin✓Początkowy administrator instancji
instance_seed✓Jednorazowy keypair używany wyłącznie do derywacji PDA; jego pubkey staje się seed
instance✓PDA instancji (derywowany z ["instance", instance_seed.pubkey])
system_programSystem Program
event_authorityPDA authority zdarzeń
private_channel_escrow_programProgram escrow

Parametry

ParametrTypOpis
bumpu8Bump seed dla PDA instancji. Opcjonalny: klient Async automatycznie go derywuje, jeśli nie zostanie podany

IDL zawiera argument discriminator: u8 (wartość 0), który jest automatycznie ustawiany przez wygenerowanego klienta i nie powinien być przekazywany ręcznie.

Ważne uwagi

  • instance_seed to jednorazowy keypair, używany wyłącznie do derywacji PDA Instance. Jego pubkey staje się seed; sam keypair nie jest przechowywany ani ponownie używany.
  • Używaj getCreateInstanceInstructionAsync; automatycznie derywuje bump i instance z instance_seed, gdy nie są podane. Przekazuj własny bump tylko wtedy, gdy został już obliczony za pomocą Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)
  • Emituje zdarzenie poprzez CPI EmitEvent

Is this page helpful?

Spis treści

Edytuj stronę