Roles and Permissions

Roles & Permissions management

The TREX protocol, in its basic form distinguishes 2 different roles at the smart contract level, the owner of the smart contract and (on Token and Identity Registry) the agent(s). The owner of the contract is granted the rights to initialize the setup of the token, e.g. setting the links between contracts, setting the rules of transfers and restrictions applicable to transfers while the agents are meant to administrate the token on a day-to-day basis, by calling admin functions when necessary, such as minting/burning functions, recovery function, etc.

Owner Role

The Owner Role is responsible for the core management of contracts, it is an administrator role with the capacity to modify the contracts settings as well as the rules of compliance, the Owner is also responsible to delegate permissions to Agent wallets by assigning the Agent Role to them.
Hereunder, the list of functions under Owner Role's responsibility :

Type of functionfunctions
Token Information ManagementsetName, setSymbol, setOnchainID
Registries SettingssetClaimTopicsRegistry, setTrustedIssuersRegistry, setIdentityRegistry, setIdentityRegistryStorage
Compliance SettingssetCompliance
Compliance ManagementcallModuleFunction, bindToken, addModule, removeModule
Claim Registry ManagementaddClaimTopic, removeClaimTopic
Issuers Registry ManagementaddTrustedIssuer, removeTrustedIssuer, updateIssuerClaimTopics
Roles ManagementtransferOwnership, addAgent, removeAgent

Agent Role

The Agent Role is responsible for the operational management of contracts, Agents are able to perform all operational tasks such as minting tokens, burning tokens, whitelisting investors, etc.
Hereunder, the list of functions under Agent Role's responsibility :

Type of Functionfunctions
Supply modificationMint, burn, batchMint, batchBurn
Transfer restrictionsPause, unPause, setAddressFrozen, batchSetAddressFrozen, freezePartialTokens, unfreezePartialTokens, batchFreezePartialTokens, batchUnfreezePartialTokens
TransactionforcedTransfer, batchForcedtransfer
Token recoveryrecoveryAddress
WhitelistingregisterIdentity, updateIdentity, updateCountry, deleteIdentity