Prelievo di fondi

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

AccountScrivibileFirmatarioDescrizione
user✓Proprietario del token che avvia il prelievo
mint✓Mint del token SPL (bruciato)
token_account✓token account lato canale dell'utente (sorgente)
token_programToken Program SPL
associated_token_programAssociated Token Program

Parametri

ParametroTipoDescrizione
amountu64Quantità di token da prelevare, nell'unità più piccola del token
destinationOption<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 (J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVi devnet), non nell'Escrow Program
  • Il burn dei token lato canale non rilascia automaticamente i fondi su Mainnet; un operatore deve successivamente chiamare ReleaseFunds sull'Escrow Program con una prova di esclusione SMT valida
  • Viene generato l'errore ZeroAmount se amount è 0
  • Se destination è None, la chiamata ReleaseFunds dell'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?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.