Sui CLT z transferami kontrolowanymi listą zatwierdzenia + pauza. Posiadacze przenoszą punkty tylko między adresami, które wcześniej zatwierdziłeś.
Punkty lojalnościowe i kredyty w aplikacji działają najlepiej, gdy pozostają w kontrolowanym przez ciebie ekosystemie. Ta konfiguracja wdraża Token Sui Closed-Loop, w którym wdrażający utrzymuje listę zatwierdzenia zatwierdzonych adresów odbiorcy (handlowcy, partnerzy, portfele operatorów). Tokeny wybite dla użytkowników mogą tylko przepływać do tej listy zatwierdzenia — brak drogi ucieczki przez dowolne portfele, brak zamiany na ogólny Coin, brak notowania DEX domyślnie.
Token `sui::token` Closed-Loop Sui jest jedynym głównym pierwotnym Move, który kontroluje transfery na poziomie systemu typów — posiadacze otrzymują `Token<T>` (brak zdolności `store`, brak `public_transfer`) i każdy transfer generuje ActionRequest, który musi być zatwierdzony względem wdrożonej TokenPolicy. Reguła listy zatwierdzenia to konfiguracja `VecSet<address>`, którą wdrażający zarządza za pośrednictwem dwóch funkcji administracyjnych kontrolowanych przez TokenPolicyCap (add_to_allowlist, remove_from_allowlist). Pauza obejmuje przypadek, w którym sama pętla zamknięta wymaga zatrzymania awaryjnego.
Tak — usuń politykę zamkniętej pętli z pakietu i włącz non-transferable. To rejestruje pusty TokenPolicy: każde ActionRequest transferu przerywa się w confirm_request. Predefiniowana non-transferable + Identity-SBT na Sui obejmuje ten przypadek.
Wdrożony moduł Move udostępnia `add_to_allowlist(policy, cap, addr, ctx)` i `remove_from_allowlist`. Wywołaj je ze strony zarządzania lub z dowolnego portfela, który posiada TokenPolicyCap — tego samego portfela, który domyślnie wdrożył token.
Wywołanie `token::transfer` zwraca ActionRequest; `verify_allowlist_transfer` potwierdza, że odbiorca jest na liście, w przeciwnym razie transakcja się przerywa. Tokeny nigdy nie opuszczają adresu nadawcy — nie ma nieudanego i stagnacyjnego salda do wyczyszczenia.