Κατάθεση

Μεταφέρει SPL tokens από το associated token account ενός χρήστη στο associated token account του escrow, πιστώνοντας το υπόλοιπο καναλιού του χρήστη που πραγματοποιεί την κατάθεση (ή το υπόλοιπο ενός προαιρετικού παραλήπτη).

Λογαριασμοί

ΛογαριασμόςΕγγράψιμοΥπογράφωνΠεριγραφή
payer✓✓Πληρωτής τελών συναλλαγής
user✓Ιδιοκτήτης token που πραγματοποιεί την κατάθεση
instancePDA παρουσίας escrow
mintSPL token mint
allowed_mintPDA που επαληθεύει ότι το mint επιτρέπεται σε αυτή την παρουσία
user_ata✓Associated token account χρήστη (πηγή)
instance_ata✓Associated token account του escrow (προορισμός)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA αρχής συμβάντων για EmitEvent CPI
private_channel_escrow_programΠρόγραμμα Escrow (αυτο-αναφορά για CPI)

Παράμετροι

ΠαράμετροςΤύποςΠεριγραφή
amountu64Ποσό tokens προς κατάθεση, στη μικρότερη μονάδα του token
recipientOption<Pubkey>Προαιρετικός on-chain παραλήπτης· αν είναι None, πιστώνεται το υπόλοιπο καναλιού του χρήστη που καταθέτει

Επιστρεφόμενη Τιμή

Επιστρέφει ένα TransactionBuilder που μπορεί να χρησιμοποιηθεί για τη δημιουργία και αποστολή της συναλλαγής.

Παράδειγμα

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

Σημαντικές Σημειώσεις

  • Program ID: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Για mint Token-2022, περάστε tokenProgram: TOKEN_2022_PROGRAM_ADDRESS ρητά, καθώς η προεπιλογή είναι το τυπικό SPL Token Program
  • Το PDA allowed_mint πρέπει να υπάρχει (δημιουργείται από το AllowMint)· η κατάθεση με μη καταχωρημένο mint εκπέμπει InvalidAllowedMint
  • Όταν το recipient είναι None, πιστώνεται το υπόλοιπο καναλιού του χρήστη που καταθέτει· όταν παρέχεται, πιστώνεται το υπόλοιπο του καθορισμένου πορτοφολιού
  • Και το payer και το user πρέπει να υπογράψουν τη συναλλαγή
  • Το instance_ata πρέπει να υπάρχει ήδη (δημιουργείται από το AllowMint για αυτό το mint)

Is this page helpful?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας
© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.