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
| Konten | Beschreibbar | Signer | Beschreibung |
|---|---|---|---|
user | ✓ | Token-Inhaber, der die Auszahlung initiiert | |
mint | ✓ | SPL-Token-Mint (wird verbrannt) | |
token_account | ✓ | Kanalseitiges token account des Benutzers (Quelle) | |
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program |
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
amount | u64 | Anzahl der abzuhebenden Token in der kleinsten Einheit des Tokens |
destination | Option<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
(
J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVidevnet), nicht im Escrow Program - Das Verbrennen von Token auf der Kanalseite gibt Gelder im
Mainnet nicht automatisch frei; ein Operator muss anschließend
ReleaseFundsim Escrow Program mit einem gültigen SMT-Ausschlussbeweis aufrufen ZeroAmount-Fehler wird ausgelöst, wennamount0 ist- Wenn
destinationNoneist, gibt derReleaseFunds-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?