Desenvolver Lamports

¿Qué hace Desenvolver Lamports?

UnwrapLamports mueve SOL fuera de un token account nativo (SOL envuelto) hacia una cuenta de destino en forma de lamports. Puedes desenvolver el saldo completo o una cantidad específica, y el token account permanece abierto.

Esto es más flexible que cerrar un token account de SOL envuelto: un desenvolvimiento parcial te permite retirar algo de SOL mientras mantienes la cuenta financiada para un uso posterior.

Referencia del código fuente

ElementoDescripciónFuente
UnwrapLamportsLa instrucción (discriminador 45).Fuente
process_unwrap_lamportsLógica del procesador.Fuente

Cuentas

CuentaDescripción
sourceModificable. El token account nativo (SOL envuelto) a desenvolver.
destinationModificable. Recibe los lamports desenvueltos.
authorityEl propietario de la cuenta o un delegado (o firmantes multisig).

La fuente debe ser un token account nativo; otros token accounts devuelven NonNativeNotSupported. Un delegado puede desenvolver hasta su cantidad delegada.

Cómo Desenvolver Lamports

Omite amount para desenvolver el saldo completo, o establécelo para desenvolver una cantidad específica de lamports. El ejemplo utiliza un cliente @solana/kit configurado — consulta Transferir Tokens para la configuración del cliente.

Unwrap wrapped SOL (Kit)
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]);

Para una autoridad multisig, pasa los co-firmantes con multiSigners.

Is this page helpful?

Tabla de Contenidos

Editar Página