Розгортання lamport

Що робить розгортання lamport?

UnwrapLamports переміщує SOL із нативного (wrapped SOL) token account до цільового акаунту у вигляді lamport. Можна розгорнути весь баланс або вказану суму — token account при цьому залишається відкритим.

Це гнучкіше, ніж закриття wrapped SOL акаунту: часткове розгортання дозволяє вивести частину SOL, залишаючи акаунт поповненим для подальшого використання.

Посилання на джерело

ЕлементОписДжерело
UnwrapLamportsІнструкція (дискримінатор 45).Джерело
process_unwrap_lamportsЛогіка процесора.Джерело

Акаунти

АкаунтОпис
sourceДля запису. Нативний (wrapped SOL) token account для розгортання.
destinationДля запису. Отримує розгорнуті lamport.
authorityВласник акаунту або делегат (або підписувачі мультипідпису).

Джерело має бути нативним token account; інші token account повертають NonNativeNotSupported. Делегат може розгорнути суму до свого делегованого ліміту.

Як розгортати lamport

Пропустіть amount, щоб розгорнути весь баланс, або вкажіть конкретну кількість lamport. У прикладі використовується налаштований клієнт @solana/kit — див. Перенесення токенів для налаштування клієнта.

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

Для мультипідписного повноваження передайте співпідписувачів за допомогою multiSigners.

Is this page helpful?

Зміст

Редагувати сторінку