Talletus

Siirtää SPL-tokeneita käyttäjän associated token account -tililtä escrow'n associated token account -tilille, hyvittäen tallettavan käyttäjän kanavaсалdon (tai valinnaisen vastaanottajan saldon).

Tilit

TiliKirjoitettavaAllekirjoittajaKuvaus
payer✓✓Transaktion maksaja
user✓Talletuksen tekevä tokenin omistaja
instanceEscrow-instanssin PDA
mintSPL-tokenin mint
allowed_mintPDA, joka varmistaa, että mint on sallittu tässä instanssissa
user_ata✓Käyttäjän associated token account (lähde)
instance_ata✓Escrow'n associated token account (kohde)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityTapahtuman auktoriteetti-PDA EmitEvent-CPI:tä varten
private_channel_escrow_programEscrow-ohjelma (itsensä viittaus CPI:tä varten)

Parametrit

ParametriTyyppiKuvaus
amountu64Talletettavien tokenien määrä pienimmässä yksikössä
recipientOption<Pubkey>Valinnainen ketjussa oleva vastaanottaja; jos None, hyvitetään tallettavan käyttäjän kanavaсaldo

Palautusarvo

Palauttaa TransactionBuilder-olion, jota voidaan käyttää transaktion rakentamiseen ja lähettämiseen.

Esimerkki

import { getDepositInstructionAsync } from "../private-channel-escrow-program/clients/typescript/src/generated";
// allowedMint and instanceAta are auto-derived from mint and instance
const depositIx = await getDepositInstructionAsync({
payer: payerSigner,
user: userSigner,
instance: instancePda,
mint: mintAddress,
userAta: userAtaAddress,
amount: 1_000_000n,
recipient: null
});

Tärkeät huomiot

  • Ohjelma-ID: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Token-2022-minteille välitä tokenProgram: TOKEN_2022_PROGRAM_ADDRESS eksplisiittisesti, sillä oletusarvona käytetään tavallista SPL Token Program -ohjelmaa
  • allowed_mint-PDA:n täytyy olla olemassa (luotu AllowMint-komennolla); listaamattoman mintin tallettaminen aiheuttaa InvalidAllowedMint-virheen
  • Kun recipient on None, tallettavan käyttäjän kanavaсaldo hyvitetään; kun se on annettu, hyvitetään määritetyn lompakon saldo
  • Sekä payer että user täytyy allekirjoittaa transaktio
  • instance_ata:n täytyy olla jo olemassa (luotu AllowMint-komennolla tälle mintille)

Is this page helpful?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.