Brucia il saldo dei token lato canale di un utente sul Withdraw Program per segnalare un
prelievo in sospeso; un operatore deve successivamente chiamare ReleaseFunds sull'Escrow
Program per completare il regolamento.
Account
| Account | Scrivibile | Firmatario | Descrizione |
|---|---|---|---|
user | ✓ | Proprietario del token che avvia il prelievo | |
mint | ✓ | Mint del token SPL (bruciato) | |
token_account | ✓ | token account lato canale dell'utente (sorgente) | |
token_program | Token Program SPL | ||
associated_token_program | Associated Token Program |
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
amount | u64 | Quantità di token da prelevare, nell'unità più piccola del token |
destination | Option<Pubkey> | Wallet di destinazione su Mainnet; se None, utilizza il wallet del firmatario come predefinito |
Restituisce
Restituisce un TransactionBuilder che può essere utilizzato per costruire e inviare la
transazione.
Esempio
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});
Note importanti
- Questa istruzione si trova nel Withdraw Program
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet), non nell'Escrow Program - Il burn dei token lato canale non rilascia automaticamente i fondi su
Mainnet; un operatore deve successivamente chiamare
ReleaseFundssull'Escrow Program con una prova di esclusione SMT valida - Viene generato l'errore
ZeroAmountseamountè 0 - Se
destinationèNone, la chiamataReleaseFundsdell'operatore rilascerà i fondi al wallet del firmatario
Per il riferimento completo ai codici di errore di entrambi i programmi, consulta Istruzioni -> Codici di errore.
Is this page helpful?