Queima o saldo de tokens do lado do canal de um utilizador no Withdraw Program para sinalizar uma
retirada pendente; um operador deve subsequentemente chamar ReleaseFunds no
Escrow Program para concluir a liquidação.
Contas
| Conta | Gravável | Assinante | Descrição |
|---|---|---|---|
user | ✓ | Proprietário do token que inicia a retirada | |
mint | ✓ | Mint de token SPL (queimado contra) | |
token_account | ✓ | token account do canal do utilizador (origem) | |
token_program | Token Program SPL | ||
associated_token_program | Associated Token Program |
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
amount | u64 | Quantidade de tokens a sacar, na menor unidade do token |
destination | Option<Pubkey> | Carteira de destino na Mainnet; se None, assume por padrão a carteira do assinante |
Retornos
Retorna um TransactionBuilder que pode ser utilizado para construir e enviar a
transação.
Exemplo
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});
Notas Importantes
- Esta instrução está no Withdraw Program
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet), não no Escrow Program - Queimar tokens do lado do canal não liberta automaticamente os fundos na
Mainnet; um operador deve subsequentemente chamar
ReleaseFundsno Escrow Program com uma prova de exclusão SMT válida - O erro
ZeroAmounté lançado seamountfor 0 - Se
destinationforNone, a chamadaReleaseFundsdo operador irá libertar os fundos para a carteira do assinante
Para a referência completa de códigos de erro de ambos os programas, consulte Instructions -> Error Codes.
Is this page helpful?