Що робить розгортання 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 — див.
Перенесення токенів для налаштування
клієнта.
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?