Sui CLT con trasferimenti controllati da elenco approvato + pausa. I titolari spostano i punti solo tra gli indirizzi che hai pre-approvato.
I punti fedeltà e i crediti in-app funzionano meglio quando rimangono nell'ecosistema che controlli. Questo preset distribuisce un Token Sui Closed-Loop in cui il distributore mantiene un elenco di indirizzi riceventi approvati (commercianti, partner, portafogli degli operatori). I token coniati per gli utenti possono fluire solo verso quel elenco approvato — nessun percorso di fuga attraverso portafogli arbitrari, nessuno scambio a una Moneta generica, nessuna quotazione DEX per impostazione predefinita.
Il Token Closed-Loop `sui::token` di Sui è l'unico primitivo Move mainstream che controlla i trasferimenti a livello del sistema di tipo — i titolari ricevono `Token<T>` (nessuna capacità `store`, nessun `public_transfer`) e ogni trasferimento produce un ActionRequest che deve essere approvato rispetto al TokenPolicy distribuito. La regola dell'elenco approvato è una configurazione `VecSet<address>` che il distributore gestisce attraverso due funzioni amministratore controllate da TokenPolicyCap (add_to_allowlist, remove_from_allowlist). La pausa copre il caso in cui il loop chiuso stesso necessita di un fermo di emergenza.
Sì — rilascia il criterio di loop chiuso dal bundle e abilita non-trasferibile. Questo registra un TokenPolicy vuoto: ogni ActionRequest di trasferimento interrompe in confirm_request. Il preset non-trasferibile + Identity-SBT su Sui copre quel caso.
Il modulo Move distribuito espone `add_to_allowlist(policy, cap, addr, ctx)` e `remove_from_allowlist`. Chiamali dalla pagina di gestione o da qualsiasi portafoglio che detiene il TokenPolicyCap — lo stesso portafoglio che ha distribuito il token per impostazione predefinita.
La chiamata `token::transfer` restituisce un ActionRequest; `verify_allowlist_transfer` afferma che il destinatario è nell'elenco, altrimenti la transazione si interrompe. I token non lasciano mai l'indirizzo del mittente — non c'è saldo fallito e stagnante da ripulire.