Mentransfer token SPL dari associated token account pengguna ke associated token account escrow, mengkredit saldo kanal pengguna yang melakukan deposit (atau saldo penerima opsional).
Akun
| Akun | Dapat Ditulis | Penanda Tangan | Deskripsi |
|---|---|---|---|
payer | ✓ | ✓ | Pembayar biaya untuk transaksi |
user | ✓ | Pemilik token yang melakukan deposit | |
instance | PDA instance escrow | ||
mint | Mint token SPL | ||
allowed_mint | PDA yang memverifikasi bahwa mint diizinkan pada instance ini | ||
user_ata | ✓ | Associated token account pengguna (sumber) | |
instance_ata | ✓ | Associated token account escrow (tujuan) | |
system_program | System Program | ||
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program | ||
event_authority | PDA otoritas event untuk CPI EmitEvent | ||
private_channel_escrow_program | Program Escrow (referensi diri untuk CPI) |
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
amount | u64 | Jumlah token yang akan didepositkan, dalam satuan terkecil token |
recipient | Option<Pubkey> | Penerima on-chain opsional; jika None, mengkredit saldo kanal pengguna yang melakukan deposit |
Kembalian
Mengembalikan TransactionBuilder yang dapat digunakan untuk membangun dan mengirim
transaksi.
Contoh
import { getDepositInstructionAsync } from "../private-channel-escrow-program/clients/typescript/src/generated";// allowedMint and instanceAta are auto-derived from mint and instanceconst depositIx = await getDepositInstructionAsync({payer: payerSigner,user: userSigner,instance: instancePda,mint: mintAddress,userAta: userAtaAddress,amount: 1_000_000n,recipient: null});
Catatan Penting
- ID Program:
9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU - Untuk mint Token-2022, berikan
tokenProgram: TOKEN_2022_PROGRAM_ADDRESSsecara eksplisit, karena defaultnya adalah SPL Token Program standar - PDA
allowed_mintharus sudah ada (dibuat olehAllowMint); mendepositkan mint yang tidak terdaftar akan memunculkanInvalidAllowedMint - Ketika
recipientadalahNone, saldo kanal pengguna yang melakukan deposit akan dikredit; jika diberikan, saldo dompet yang ditentukan akan dikredit - Baik
payermaupunuserharus menandatangani transaksi instance_ataharus sudah ada (dibuat olehAllowMintuntuk mint ini)
Is this page helpful?