Fon Çekme

Bekleyen bir çekimi bildirmek amacıyla Withdraw Program'daki kullanıcının kanal tarafı token bakiyesini yakar; bir operatörün ardından uzlaşmayı tamamlamak için Escrow Program'da ReleaseFunds çağırması gerekir.

Hesaplar

HesapYazılabilirİmzalayanAçıklama
user✓Çekimi başlatan token sahibi
mint✓SPL token mint (yakma hedefi)
token_account✓Kullanıcının kanal tarafı token account'u (kaynak)
token_programSPL Token Program
associated_token_programAssociated Token Program

Parametreler

ParametreTürAçıklama
amountu64Çekilecek token miktarı, tokenın en küçük birimi cinsinden
destinationOption<Pubkey>Mainnet'teki hedef cüzdan; None ise varsayılan olarak imzalayanın cüzdanı kullanılır

Dönüş Değeri

İşlemi oluşturmak ve göndermek için kullanılabilecek bir TransactionBuilder döndürür.

Örnek

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

Önemli Notlar

  • Bu talimat, Escrow Program'da değil, Withdraw Program'da bulunur (J231K9UEpS4y4KAPwGc4gsMNCjKFRMYcQBcjVW7vBhVi devnet)
  • Kanal tarafında token yakmak, Mainnet'teki fonları otomatik olarak serbest bırakmaz; bir operatörün ardından geçerli bir SMT dışlama kanıtıyla Escrow Program'da ReleaseFunds çağırması gerekir
  • amount 0 ise ZeroAmount hatası fırlatılır
  • destination None ise, operatörün ReleaseFunds çağrısı fonları imzalayanın cüzdanına serbest bırakır

Her iki program için tam hata kodu referansına bakın: Talimatlar -> Hata Kodları.

Is this page helpful?

İçindekiler

Sayfayı Düzenle
© 2026 Solana Vakfı. Tüm hakları saklıdır.