Bekleyen bir çekimi bildirmek amacıyla Withdraw Program'daki kullanıcının kanal tarafı token bakiyesini yakar; bir operatörün ardından uzlaşmayı tamamlamak için Escrow Program'da ReleaseFunds çağırması gerekir.
Hesaplar
| Hesap | Yazılabilir | İmzalayan | Açıklama |
|---|---|---|---|
user | ✓ | Çekimi başlatan token sahibi | |
mint | ✓ | SPL token mint (yakma hedefi) | |
token_account | ✓ | Kullanıcının kanal tarafı token account'u (kaynak) | |
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program |
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
amount | u64 | Çekilecek token miktarı, tokenın en küçük birimi cinsinden |
destination | Option<Pubkey> | Mainnet'teki hedef cüzdan; None ise varsayılan olarak imzalayanın cüzdanı kullanılır |
Dönüş Değeri
İşlemi oluşturmak ve göndermek için kullanılabilecek bir TransactionBuilder döndürür.
Örnek
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});
Önemli Notlar
- Bu talimat, Escrow Program'da değil, Withdraw Program'da bulunur
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet) - Kanal tarafında token yakmak, Mainnet'teki fonları otomatik olarak serbest bırakmaz; bir operatörün ardından geçerli bir SMT dışlama kanıtıyla Escrow Program'da
ReleaseFundsçağırması gerekir amount0 iseZeroAmounthatası fırlatılırdestinationNoneise, operatörünReleaseFundsçağrısı fonları imzalayanın cüzdanına serbest bırakır
Her iki program için tam hata kodu referansına bakın: Talimatlar -> Hata Kodları.
Is this page helpful?