Asset whitelist
Each asset can enforce a whitelist: the addresses allowed to hold and move it. While the whitelist is enforced, the contract refuses movements from addresses that are not on it, and SQRL Enterprise refuses to send the asset to an address that is not on it.
#How the whitelist is enforced
- Holders are checked by the asset contract on-chain. A holder who is not on the whitelist cannot move what they hold.
- Recipients are checked by SQRL Enterprise before a mint or transfer becomes a transaction. A destination that is not on the whitelist cannot be selected. Tokens sent to a non-listed address from outside SQRL Enterprise cannot move again until the address is approved.
#Adding and removing addresses
Required permissions: Manage compliance (MANAGE_COMPLIANCE).
- Open the asset and select Whitelist an address, or open the asset's Whitelist tab.
- Enter the address, or pick one from the Address Book.
- Confirm.
A whitelist change is a contract call signed by the administering vault's quorum. Once it is broadcast, it applies to every movement after it.
Removing an address stops it moving the asset, which in effect freezes the balance it holds. Use Enforcement instead when the restriction is a legal action, so it carries a reason code and a case reference.
#Enforcing or stopping enforcement
Required permissions: Manage compliance (MANAGE_COMPLIANCE).
An asset that should circulate freely can stop enforcing its whitelist: select Stop enforcing. Select Enforce whitelist to turn it back on. Both are signed by the quorum.
Each asset has its own whitelist. Approving an address for one asset approves nothing for another.