Τι Κάνει η Αναδίπλωση Lamports;
UnwrapLamports μεταφέρει SOL έξω από ένα native (wrapped SOL) token
account σε έναν λογαριασμό προορισμού ως lamports. Μπορείτε να αναδιπλώσετε το
πλήρες υπόλοιπο ή ένα συγκεκριμένο ποσό, και το token account παραμένει ανοιχτό.
Αυτό είναι πιο ευέλικτο από το κλείσιμο ενός wrapped SOL λογαριασμού: μια μερική αναδίπλωση σάς επιτρέπει να αναλάβετε κάποιο SOL διατηρώντας τον λογαριασμό χρηματοδοτημένο για μελλοντική χρήση.
Αναφορά Πηγής
| Στοιχείο | Περιγραφή | Πηγή |
|---|---|---|
UnwrapLamports | Η εντολή (discriminator 45). | Πηγή |
process_unwrap_lamports | Λογική επεξεργαστή. | Πηγή |
Λογαριασμοί
| Λογαριασμός | Περιγραφή |
|---|---|
source | Εγγράψιμο. Το native (wrapped SOL) token account προς αναδίπλωση. |
destination | Εγγράψιμο. Λαμβάνει τα αναδιπλωμένα lamports. |
authority | Ο κάτοχος του λογαριασμού ή ένας εκπρόσωπος (ή υπογράφοντες multisig). |
Η πηγή πρέπει να είναι native token account· άλλα token accounts επιστρέφουν
NonNativeNotSupported. Ένας εκπρόσωπος μπορεί να αναδιπλώσει έως το
εξουσιοδοτημένο ποσό του.
Πώς να Αναδιπλώσετε Lamports
Παραλείψτε το amount για να αναδιπλώσετε το πλήρες υπόλοιπο, ή ορίστε το
για να αναδιπλώσετε συγκεκριμένο αριθμό lamports. Το παράδειγμα χρησιμοποιεί
έναν διαμορφωμένο @solana/kit
client — δείτε Μεταφορά Tokens για τη
ρύθμιση του 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]);
Για αρχή multisig, περάστε τους συν-υπογράφοντες με multiSigners.
Is this page helpful?