ΠληρωμέςΣυνδρομές

Ανάκληση Εγκαταλελειμμένων Εκχωρήσεων και Συνδρομών

Οι εκχωρήσεις και οι συνδρομές διατηρούν rent που κανονικά επιστρέφει στον καταχωρημένο πληρωτή κατά την ανάκληση. Εάν ένας χορηγός χρηματοδότησε τον λογαριασμό και ο χρήστης αργότερα κλείσει ή αντικαταστήσει την Subscription Authority του, ο λογαριασμός εγκαταλείπεται και το rent του παραμένει δεσμευμένο. Τα RevokeAbandonedDelegation και RevokeAbandonedSubscription επιτρέπουν στον καταχωρημένο πληρωτή να το ανακτήσει.

Πότε Εφαρμόζεται

Επιτρέπεται μόνο όταν η Subscription Authority του λογαριασμού είναι αποδεδειγμένα τερματισμένη — κλειστή, ή κλειστή και αναδημιουργημένη (οπότε το init_id δεν ταιριάζει πλέον). Μια ενεργή εκχώρηση ή συνδρομή δεν μπορεί ποτέ να κλείσει με αυτόν τον τρόπο.

RevokeAbandonedDelegationRevokeAbandonedSubscription
ΚλείνειPDA σταθερής ή επαναλαμβανόμενης εκχώρησηςPDA συνδρομής
ΥπογράφωνΚαταχωρημένος πληρωτήςΚαταχωρημένος πληρωτής
ΛογαριασμοίΕκχώρηση + καταχωρημένη authorityΣυνδρομή + καταχωρημένη authority + πλάνο
Επιλέξιμο ότανΗ authority είναι κλειστή ή αναδημιουργημένη (αναντιστοιχία init_id)Το ίδιο, για το mint του πλάνου — το mint διαβάζεται από το συνδεδεμένο πλάνο, οπότε δεν μπορεί να υποκατασταθεί μη σχετική authority για να επιβληθεί κλείσιμο
Χρησιμοποιήστε αντ' αυτού την κανονική ανάκληση ότανΗ εκχώρηση είναι ληγμένη ή πλήρως εξαντλημένηΗ συνδρομή είναι ακυρωμένη και ληγμένη

Το RevokeAbandonedDelegation είναι επίσης η μοναδική οδός ανάκτησης για τον καταχωρημένο πληρωτή σε περίπτωση εκχώρησης χωρίς λήξη (expiry_ts == 0) που δεν έχει εξαντληθεί πλήρως: η κανονική ανάκληση ενεργοποιείται για τον πληρωτή μόνο κατά τη λήξη ή, για σταθερή εκχώρηση, μετά την πλήρη χρήση.

Ανάκληση Εγκαταλελειμμένης Εκχώρησης

Υπογράφει ο καταχωρημένος πληρωτής. Περάστε το PDA της ανενεργής εκχώρησης και την καταχωρημένη Subscription Authority της (η οποία μπορεί να είναι ήδη κλειστή). Το rent επιστρέφει στον πληρωτή.

import { getRevokeAbandonedDelegationInstruction } from '@solana/subscriptions';
// Build the instruction and send it in a transaction like any other.
const revokeAbandonedIx = getRevokeAbandonedDelegationInstruction({
payer: payerSigner,
delegationAccount: delegationPda,
subscriptionAuthority: subscriptionAuthorityPda,
});

Ανάκληση Εγκαταλελειμμένης Συνδρομής

Ο καταγεγραμμένος πληρωτής υπογράφει. Περάστε το PDA της εγκαταλελειμμένης συνδρομής, την καταγεγραμμένη Αρχή Συνδρομής (η οποία μπορεί να έχει ήδη κλείσει) και το πλάνο στο οποίο ανήκει η συνδρομή. Το rent επιστρέφεται στον πληρωτή.

import { getRevokeAbandonedSubscriptionInstruction } from '@solana/subscriptions';
// Build the instruction and send it in a transaction like any other.
const revokeAbandonedIx = getRevokeAbandonedSubscriptionInstruction({
payer: payerSigner,
subscriptionAccount: subscriptionPda,
subscriptionAuthority: subscriptionAuthorityPda,
planPda,
});

Σημειώσεις

  • Ο καταγεγραμμένος πληρωτής υπογράφει, όχι ο εκχωρητής, ο αποδέκτης εκχώρησης ή ο συνδρομητής.
  • Και οι δύο εντολές αποτυγχάνουν εάν η Αρχή Συνδρομής είναι ακόμα ενεργή για τον λογαριασμό — χρησιμοποιήστε αντ' αυτού την κανονική ανάκληση.
  • RevokeAbandonedDelegation λειτουργεί τόσο για σταθερές όσο και για επαναλαμβανόμενες εκχωρήσεις.

Is this page helpful?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας
© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.