Sui CLT met whitelist-gestuurde overdrachten + pauze. Houders verplaatsen punten alleen tussen adressen die u vooraf heeft goedgekeurd.
Loyaliteitspunten en in-app-tegoeden werken het beste wanneer ze in het ecosysteem blijven dat u beheert. Deze voorinstelling implementeert een Sui Closed-Loop Token waarbij de implementatie een whitelist van goedgekeurde ontvanger-adressen onderhoudt (handelaren, partners, operatorwallets). Door gebruikers gemuntte tokens kunnen alleen in die whitelist stromen — geen vluchtroute via willekeurige wallets, geen omwisseling naar een generieke Coin, geen DEX-notering standaard.
Sui's `sui::token` Closed-Loop Token is het enige mainstream Move-primitief dat overdrachten op typesysteemniveau controleert — houders ontvangen `Token<T>` (geen `store`-mogelijkheid, geen `public_transfer`) en elke overdracht produceert een ActionRequest die moet worden goedgekeurd tegen het geïmplementeerde TokenPolicy. De whitelist-regel is een `VecSet<address>`-configuratie die de implementatie beheert via twee door TokenPolicyCap gestuurde beheerfuncties (add_to_allowlist, remove_from_allowlist). Pauze bestrijkt het geval waarin de gesloten lus zelf een noodstop nodig heeft.
Ja — verwijder het gesloten-lus-beleid uit de bundel en schakel non-transferable in. Dit registreert een leeg TokenPolicy: elke overdracht ActionRequest breekt af bij confirm_request. De non-transferable + Identity-SBT voorinstelling op Sui dekt dat geval.
De geïmplementeerde Move-module geeft `add_to_allowlist(policy, cap, addr, ctx)` en `remove_from_allowlist` bloot. Roep ze aan vanaf de beheerpagina of vanuit een wallet die het TokenPolicyCap bezit — dezelfde wallet die het token standaard heeft geïmplementeerd.
De `token::transfer`-oproep retourneert een ActionRequest; `verify_allowlist_transfer` stelt vast dat de ontvanger op de lijst staat, anders breekt de transactie af. Tokens verlaten nooit het adres van de afzender — er is geen mislukt en stagnerend saldo om schoon te maken.