Que fait le désencapsulage de lamports ?
UnwrapLamports transfère du SOL hors d'un token account natif (SOL
encapsulé) vers un compte de destination sous forme de lamports. Vous pouvez
désencapsuler la totalité du solde ou un montant spécifique, et le token account
reste ouvert.
C'est plus flexible que la fermeture d'un compte SOL encapsulé : un désencapsulage partiel vous permet de retirer une partie du SOL tout en maintenant le compte alimenté pour une utilisation ultérieure.
Référence source
| Élément | Description | Source |
|---|---|---|
UnwrapLamports | L'instruction (discriminant 45). | Source |
process_unwrap_lamports | Logique du processeur. | Source |
Comptes
| Compte | Description |
|---|---|
source | Modifiable. Le token account natif (SOL encapsulé) à désencapsuler. |
destination | Modifiable. Reçoit les lamports désencapsulés. |
authority | Le propriétaire du compte ou un délégué (ou signataires multisig). |
La source doit être un token account natif ; les autres token accounts
retournent NonNativeNotSupported. Un délégué peut désencapsuler jusqu'à
son montant délégué.
Comment désencapsuler des lamports
Omettez amount pour désencapsuler la totalité du solde, ou définissez-le
pour désencapsuler un nombre spécifique de lamports. L'exemple utilise un client
@solana/kit configuré —
consultez Transfert de tokens pour la
configuration du client.
import { getUnwrapLamportsInstruction } from "@solana-program/token";// source: the native (wrapped SOL) token account to unwrap.// destination: address that receives the unwrapped lamports.// authority: a TransactionSigner (the account owner or a delegate).// Unwrap a specific number of lamports.const unwrapSome = getUnwrapLamportsInstruction({source,destination,authority,amount: 500_000_000n});// Or omit `amount` to unwrap the entire balance.const unwrapAll = getUnwrapLamportsInstruction({source,destination,authority});// Send whichever instruction you need.await client.sendTransaction([unwrapSome]);
Pour une autorité multisig, passez les co-signataires avec multiSigners.
Is this page helpful?