Gelder abheben

Verbrennt das kanalseitige Token-Guthaben eines Benutzers im Withdraw Program, um eine ausstehende Auszahlung zu signalisieren; ein Operator muss anschließend ReleaseFunds im Escrow Program aufrufen, um die Abwicklung abzuschließen.

Konten

KontenBeschreibbarSignerBeschreibung
user✓Token-Inhaber, der die Auszahlung initiiert
mint✓SPL-Token-Mint (wird verbrannt)
token_account✓Kanalseitiges token account des Benutzers (Quelle)
token_programSPL Token Program
associated_token_programAssociated Token Program

Parameter

ParameterTypBeschreibung
amountu64Anzahl der abzuhebenden Token in der kleinsten Einheit des Tokens
destinationOption<Pubkey>Ziel-Wallet im Mainnet; wenn None, wird standardmäßig die Wallet des Signers verwendet

Rückgabewerte

Gibt einen TransactionBuilder zurück, der verwendet werden kann, um die Transaktion zu erstellen und zu senden.

Beispiel

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
});

Wichtige Hinweise

  • Diese Anweisung befindet sich im Withdraw Program (J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVi devnet), nicht im Escrow Program
  • Das Verbrennen von Token auf der Kanalseite gibt Gelder im Mainnet nicht automatisch frei; ein Operator muss anschließend ReleaseFunds im Escrow Program mit einem gültigen SMT-Ausschlussbeweis aufrufen
  • ZeroAmount-Fehler wird ausgelöst, wenn amount 0 ist
  • Wenn destination None ist, gibt der ReleaseFunds-Aufruf des Operators die Gelder an die Wallet des Signers frei

Die vollständige Fehlercode-Referenz für beide Programme finden Sie unter Anweisungen -> Fehlercodes.

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.