Spala saldo tokenów użytkownika po stronie kanału w Withdraw Program, sygnalizując
pendującą wypłatę; operator musi następnie wywołać ReleaseFunds w
Escrow Program, aby zakończyć rozliczenie.
Konta
| Konto | Zapisywalne | Podpisujący | Opis |
|---|---|---|---|
user | ✓ | Właściciel tokena inicjujący wypłatę | |
mint | ✓ | Mint tokena SPL (spalany) | |
token_account | ✓ | token account użytkownika po stronie kanału (źródło) | |
token_program | Token Program SPL | ||
associated_token_program | Associated Token Program |
Parametry
| Parametr | Typ | Opis |
|---|---|---|
amount | u64 | Liczba tokenów do wypłaty, wyrażona w najmniejszej jednostce tokena |
destination | Option<Pubkey> | Docelowy portfel w sieci Mainnet; jeśli None, domyślnie używany jest portfel podpisującego |
Zwraca
Zwraca TransactionBuilder, którego można użyć do zbudowania i wysłania
transakcji.
Przykład
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});
Ważne uwagi
- Ta instrukcja należy do Withdraw Program
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet), a nie do Escrow Program - Spalenie tokenów po stronie kanału nie powoduje automatycznego zwolnienia środków w
sieci Mainnet; operator musi następnie wywołać
ReleaseFundsw Escrow Program z ważnym dowodem wykluczenia SMT - Błąd
ZeroAmountjest zgłaszany, gdyamountwynosi 0 - Jeśli
destinationma wartośćNone, wywołanieReleaseFundsprzez operatora spowoduje zwolnienie środków do portfela podpisującego
Pełne odniesienie do kodów błędów dla obu programów można znaleźć w Instructions -> Error Codes.
Is this page helpful?