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.
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 function
Token Information Management
setName, setSymbol, setOnchainID
setClaimTopicsRegistry, setTrustedIssuersRegistry, setIdentityRegistry, setIdentityRegistryStorage
Custom compliance functions depending on the compliance features, e.g. setDailyLimit, setMonthlyLimit, setAuthorizedCountry, etc.
Claim Registry Management
Issuers Registry Management
addTrustedIssuer, removeTrustedIssuer, updateIssuerClaimTopics
transferOwnershipOnTokenContract, transferOwnershipOnIdentityRegistryContract, transferOwnershipOnComplianceContract, transferOwnershipOnClaimTopicsRegistryContract, transferOwnershipOnIssuersRegistryContract, addAgentOnTokenContract, removeAgentOnTokenContract, addAgentOnIdentityRegistryContract, removeAgentOnIdentityRegistryContract
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 Function
Mint, burn, batchMint, batchBurn
Pause, unPause, setAddressFrozen, batchSetAddressFrozen, freezePartialTokens, unfreezePartialTokens, batchFreezePartialTokens, batchUnfreezePartialTokens
registerIdentity, updateIdentity, updateCountry, deleteIdentity
Updated 8 months ago