Sanction List implementation that enables access control on chain using one-line of code
Sanctioning today is implemented mostly on the user-interface level, the smart contract access remains ungated. Extending the original EthGlobal hackathon project "Molecule Protocol" to support Sanctioning so that developers can add Sanction with only one line of code in Solidity, and maintain their sanctions fully on-chain, with added encryption for their data so that their data is only accessible to them. Custom batches of sanction addresses can be created for specific use cases.
Molecule Protocol consists of 2 contracts, Molecule Factory which has all the protocol features and the Molecule Scan contract which act as a middle ware contract between Molecule Factory and the user contract. We have implemented features for a general sanction list, that is based on official sanction lists published by the US and UK governments. Users can check addresses against these sanction lists to determine wallet safety. We have also implemented a feature for a custom sanction list creation for DeFi providers. Multiple user based sanction lists (upto 25 addresses) can be combined and can be used as custom sanction lists for specific use cases like different level of access for subscriptions or entry tickets or different levels of a token sale, minting etc. The protocol can be used either by directly creating an instance of factory contract in the application UI and calling the query functions, or can be used by importing the molecule scan contract into the user smart contract at the smart contract level. Deploying the contract to Polygon helps us scale the contract which is ever growing in size with infrequent data updations. The UI has been designed on figma and photoshop and created on Next JS.