Đốt số dư token phía kênh của người dùng trên Withdraw Program để báo hiệu một
yêu cầu rút tiền đang chờ xử lý; sau đó operator phải gọi ReleaseFunds trên
Escrow Program để hoàn tất thanh toán.
Tài Khoản
| Tài khoản | Có thể ghi | Người ký | Mô tả |
|---|---|---|---|
user | ✓ | Chủ sở hữu token khởi tạo yêu cầu rút tiền | |
mint | ✓ | SPL token mint (được đốt) | |
token_account | ✓ | token account phía kênh của người dùng (nguồn) | |
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program |
Tham Số
| Tham số | Kiểu | Mô tả |
|---|---|---|
amount | u64 | Số lượng token cần rút, tính theo đơn vị nhỏ nhất của token |
destination | Option<Pubkey> | Ví đích trên Mainnet; nếu là None, mặc định là ví của người ký |
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 { getWithdrawFundsInstruction } from "../private-channel-withdraw-program/clients/typescript/src/generated";const withdrawIx = getWithdrawFundsInstruction({user: userSigner,mint: mintAddress,tokenAccount: channelTokenAccount,tokenProgram: TOKEN_PROGRAM_ID,associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,amount: 1_000_000n,destination: null // null = release to signer's Mainnet wallet});
Lưu Ý Quan Trọng
- Lệnh này thuộc Withdraw Program
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet), không phải Escrow Program - Việc đốt token phía kênh không tự động giải phóng tiền trên
Mainnet; operator phải gọi
ReleaseFundstrên Escrow Program với bằng chứng loại trừ SMT hợp lệ - Lỗi
ZeroAmountđược ném ra nếuamountbằng 0 - Nếu
destinationlàNone, lệnh gọiReleaseFundscủa operator sẽ giải phóng tiền về ví của người ký
Để xem tài liệu tham chiếu mã lỗi đầy đủ cho cả hai chương trình, hãy xem Instructions -> Error Codes.
Is this page helpful?