This repository contains contracts used for ensuring regulatory compliance of cryptocurrencies. It takes inspiration from the Transaction Permission Layer project. Here is a high-level overview of the contracts; for more detail see the relevant .sol files.
Stores arbitrary attributes for users, such as whether they have passed a KYC/AML check. Allows the owner to set all attributes, and also allows the owner to choose other users that can set specific attributes.
Extended by other contracts that want to have a registry that is replacable by the owner.
To run the tests and generate a code coverage report:
npm install
npm test