Nạp tiền

Chuyển token SPL từ associated token account của người dùng vào associated token account của tài khoản ký quỹ, ghi có số dư kênh của người dùng nạp tiền (hoặc số dư của người nhận tùy chọn).

Tài khoản

Tài khoảnCó thể ghiNgười kýMô tả
payer✓✓Người trả phí giao dịch
user✓Chủ sở hữu token thực hiện nạp tiền
instancePDA của phiên bản ký quỹ
mintMint token SPL
allowed_mintPDA xác minh mint được phép trên phiên bản này
user_ata✓associated token account của người dùng (nguồn)
instance_ata✓associated token account của tài khoản ký quỹ (đích)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityPDA quyền sự kiện cho CPI EmitEvent
private_channel_escrow_programChương trình ký quỹ (tự tham chiếu cho CPI)

Tham số

Tham sốKiểuMô tả
amountu64Số lượng token cần nạp, tính theo đơn vị nhỏ nhất của token
recipientOption<Pubkey>Người nhận on-chain tùy chọn; nếu là None, ghi có số dư kênh của người dùng nạp tiền

Trả về

Trả về một TransactionBuilder có thể được sử dụng để xây dựng và gửi giao dịch.

Ví dụ

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

Lưu ý quan trọng

  • ID chương trình: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Đối với các mint Token-2022, hãy truyền tokenProgram: TOKEN_2022_PROGRAM_ADDRESS một cách tường minh, vì mặc định là SPL Token Program tiêu chuẩn
  • PDA allowed_mint phải tồn tại (được tạo bởi AllowMint); nạp tiền với mint chưa được liệt kê sẽ ném lỗi InvalidAllowedMint
  • Khi recipient là None, số dư kênh của người dùng nạp tiền được ghi có; khi được cung cấp, số dư của ví được chỉ định sẽ được ghi có thay thế
  • Cả payer và user đều phải ký giao dịch
  • instance_ata phải đã tồn tại (được tạo bởi AllowMint cho mint này)

Is this page helpful?

Mục lục

Chỉnh sửa trang