How to Restrict Token Transfers to Whitelisted Principals in a Dapp?