KYC Manager, Custodian, Depository participant, Asset manager
There are a number of roles that are played by appropriately regulated financial service providers on the Verified Network. These are
- KYC Manager - authorized to do KYC/AMLA checks.
- Custodian - licensed payment institutions that can keep customer deposits in custody, and initiate and settle payments.
- Depository participant - licensed registrar and transfer agents that can register securities, transfer them and settle payments against transfers.
- Asset manager - licensed managers that make and manage investments.
A user can be delegated any of these roles based on their KYC approved by an already existing manager in that country. If no such manager exists to approve KYC, a manager is approved with voting by existing managers on the Verified Network. A manager is set for every user on the Client contract.
setManager(_clientAddress: string, _managerAddress: string)
Once role based permissions are delegated to a manager, it can start to sign transactions on the Verified Network that are only reserved for managers with such roles. Roles can be added, retrieved and removed by an existing manager signing a call to the Client contract.
addRole(_submanager: string, _country: string, _role: string, _id: string)
getManagers(_role: string, _country: string)
removeRole(_submanager: string, _country: string, _role: string)
In the above functions, sub manager addresses need to be specified, along with country code, and a string role that can be 'DP', 'Custodian', 'AM' or 'KYCAML' only.