Dépôt

Transfère des tokens SPL depuis l'associated token account d'un utilisateur vers l'associated token account de l'entiercement, en créditant le solde du canal de l'utilisateur déposant (ou le solde d'un destinataire optionnel).

Comptes

CompteModifiableSignataireDescription
payer✓✓Payeur des frais de transaction
user✓Propriétaire du token effectuant le dépôt
instancePDA de l'instance d'entiercement
mintMint de token SPL
allowed_mintPDA vérifiant que le mint est autorisé sur cette instance
user_ata✓associated token account de l'utilisateur (source)
instance_ata✓associated token account de l'entiercement (destination)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA d'autorité d'événement pour le CPI EmitEvent
private_channel_escrow_programProgramme d'entiercement (auto-référence pour CPI)

Paramètres

ParamètreTypeDescription
amountu64Montant de tokens à déposer, dans la plus petite unité du token
recipientOption<Pubkey>Destinataire on-chain optionnel ; si None, crédite le solde du canal de l'utilisateur déposant

Retours

Retourne un TransactionBuilder pouvant être utilisé pour construire et envoyer la transaction.

Exemple

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

Remarques importantes

  • ID du programme : 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Pour les mints Token-2022, passez tokenProgram: TOKEN_2022_PROGRAM_ADDRESS explicitement, car la valeur par défaut est le SPL Token Program standard
  • Le PDA allowed_mint doit exister (créé par AllowMint) ; déposer un mint non répertorié déclenche l'erreur InvalidAllowedMint
  • Lorsque recipient est None, le solde du canal de l'utilisateur déposant est crédité ; lorsqu'il est fourni, le solde du portefeuille spécifié est crédité à la place
  • payer et user doivent tous deux signer la transaction
  • L'instance_ata doit déjà exister (créée par AllowMint pour ce mint)

Is this page helpful?

Table des matières

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