Deposit

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

AkunDapat DitulisPenanda TanganDeskripsi
payer✓✓Pembayar biaya untuk transaksi
user✓Pemilik token yang melakukan deposit
instancePDA instance escrow
mintMint token SPL
allowed_mintPDA yang memverifikasi bahwa mint diizinkan pada instance ini
user_ata✓Associated token account pengguna (sumber)
instance_ata✓Associated token account escrow (tujuan)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA otoritas event untuk CPI EmitEvent
private_channel_escrow_programProgram Escrow (referensi diri untuk CPI)

Parameter

ParameterTipeDeskripsi
amountu64Jumlah token yang akan didepositkan, dalam satuan terkecil token
recipientOption<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 instance
const 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_ADDRESS secara eksplisit, karena defaultnya adalah SPL Token Program standar
  • PDA allowed_mint harus sudah ada (dibuat oleh AllowMint); mendepositkan mint yang tidak terdaftar akan memunculkan InvalidAllowedMint
  • Ketika recipient adalah None, saldo kanal pengguna yang melakukan deposit akan dikredit; jika diberikan, saldo dompet yang ditentukan akan dikredit
  • Baik payer maupun user harus menandatangani transaksi
  • instance_ata harus sudah ada (dibuat oleh AllowMint untuk mint ini)

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.