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
| Konto | Zapisywalne | Podpisujący | Opis |
|---|---|---|---|
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_program | System Program | ||
event_authority | PDA authority zdarzeń | ||
private_channel_escrow_program | Program escrow |
Parametry
| Parametr | Typ | Opis |
|---|---|---|
bump | u8 | Bump 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_seedto jednorazowy keypair, używany wyłącznie do derywacji PDAInstance. Jego pubkey staje się seed; sam keypair nie jest przechowywany ani ponownie używany.- Używaj
getCreateInstanceInstructionAsync; automatycznie derywujebumpiinstancezinstance_seed, gdy nie są podane. Przekazuj własnybumptylko 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?