Privileged Roles



  • Ultimate Contract Authority: The DEFAULT_ADMIN_ROLE acts as the highest authority within the contract. It is responsible for overseeing the entire contract's administration, including managing other roles, crucial contract parameters, and authorizing contract upgrades.

  • Comprehensive Role Management: This role can grant or revoke any role within the contract, making it central to the contract’s governance structure.


  • Contract Governance and Security: The role is pivotal in ensuring the security and proper governance of the contract. It has the capability to reshape the contract’s access control structure as required.

  • Adaptability and Control: This role allows the contract to adapt to changing circumstances, be it regulatory changes, operational shifts, or evolving business strategies.

Necessity and Use Cases

  • Centralized Control for Governance: Initially, it provides a centralized control mechanism, crucial for setting up and fine-tuning the contract during its initial stages.

  • Decentralization and Transition: Over time, this role can facilitate the transition of the contract towards a more decentralized governance model, reflecting the evolving nature and maturity of the project.

  • Security and Emergency Management: The role is critical in managing emergencies, such as addressing vulnerabilities or executing critical updates to the contract.



  • The RESTRICTOR_ROLE, representing the protocol compliance administrators, possesses the authority to blacklist addresses, effectively restricting their ability to engage in transactions with Dinari tokens.

  • This role is a pivotal control mechanism, used to enforce compliance and regulatory standards by immobilizing funds associated with blacklisted addresses.


  • The imposition of restrictions by the RESTRICTOR_ROLE can result in the temporary or permanent immobilization of user funds. This action serves as a safeguard against illicit activities and ensures adherence to legal and ethical standards.

Necessity and Use Cases

  1. User Protection

    • In cases of detected fraud, theft, or other malicious activities, the RESTRICTOR_ROLE can be used to protect users’ assets by quickly immobilizing the involved funds.

  2. Compliance and Regulatory Adherence

    • The primary necessity for this role arises from the need to comply with anti-money laundering (AML), countering the financing of terrorism (CFT), and other financial regulations.

    • It allows the protocol to respond to or to take proactive measures against illegal activities.

  3. Protecting Platform Integrity

    • The role is essential for maintaining the integrity and security of the platform. It helps in preventing fraudulent activities and preserving the trust of users and stakeholders.



  • Focused Distribution Management: The DISTRIBUTOR_ROLE is designated for managing the distribution of tokens, dividends, or rewards. It encompasses the authority to initiate and oversee distribution events.

  • Control Over Distribution Processes: This role has the power to execute distribution-related functions, ensuring that the allocated resources reach their intended recipients according to the contract's logic and rules.


  • Efficient Payouts: The role facilitates the efficient and orderly allocation of assets, whether it's for dividend payouts, reward distributions, or other token disbursements.

Necessity and Use Cases

  • Trusted Source of Funds: This role restricts the usage of our distribution system to Dinari accounts, ensuring token holders know the origination of payouts and preventing external accounts from abusing the distribution system.

  • Transparency and Accountability: In managing distributions through contracts, this role records distributions through contract calls and events.

Last updated