Deposito

Trasferisce token SPL dall'associated token account dell'utente nell'associated token account dell'escrow, accreditando il saldo del canale dell'utente che effettua il deposito (o il saldo di un destinatario opzionale).

Account

AccountScrivibileFirmatarioDescrizione
payer✓✓Pagante delle commissioni per la transazione
user✓Proprietario del token che effettua il deposito
instancePDA dell'istanza escrow
mintMint del token SPL
allowed_mintPDA che verifica che il mint sia autorizzato su questa istanza
user_ata✓Associated token account dell'utente (sorgente)
instance_ata✓Associated token account dell'escrow (destinazione)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA dell'autorità eventi per il CPI EmitEvent
private_channel_escrow_programProgramma Escrow (auto-riferimento per CPI)

Parametri

ParametroTipoDescrizione
amountu64Quantità di token da depositare, nell'unità più piccola del token
recipientOption<Pubkey>Destinatario on-chain opzionale; se None, accredita il saldo del canale dell'utente che effettua il deposito

Valori restituiti

Restituisce un TransactionBuilder che può essere utilizzato per costruire e inviare la transazione.

Esempio

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
});

Note importanti

  • Program ID: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Per i mint Token-2022, passare esplicitamente tokenProgram: TOKEN_2022_PROGRAM_ADDRESS, poiché il valore predefinito è il Token Program SPL standard
  • Il PDA allowed_mint deve esistere (creato da AllowMint); depositare un mint non elencato genera l'errore InvalidAllowedMint
  • Quando recipient è None, viene accreditato il saldo del canale dell'utente che effettua il deposito; se fornito, viene accreditato il saldo del portafoglio specificato
  • Sia payer che user devono firmare la transazione
  • L'instance_ata deve già esistere (creato da AllowMint per questo mint)

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.