All pages
Powered by GitBook
1 of 2

Loading...

Loading...

Trusted Issuers Registry

The Trusted Issuers Registry (TIR) is responsible for managing and verifying the list of entities authorized to issue claims. This registry ensures that only verified and trusted issuers can contribute to the identity verification process, thereby enhancing the security and reliability of the protocol.

Key Features of the Trusted Issuers Registry

  1. Authorization of Issuers:

    • The TIR maintains a list of authorized claim issuers. These issuers are trusted entities that can issue claims verifying various aspects of an identity, such as KYC status, AML compliance, and more.

  2. Interoperability with Identity Verification:

    • The TIR works in conjunction with the Identity Registry and the Claim Topics Registry to verify the claims associated with an ONCHAINID. This integration ensures that all claims are issued by recognized and trusted entities.

  3. Dynamic Management:

    • The registry allows for the dynamic addition and removal of trusted issuers. This flexibility ensures that the list of trusted issuers can be updated as new issuers are verified or existing issuers are revoked.

How the Trusted Issuers Registry Works

  1. Listing Trusted Issuers:

    • The TIR lists the addresses of entities authorized to issue claims. Each trusted issuer is added to the registry through a formal process to ensure their credibility and reliability.

  2. Verification Process:

Interaction with Other T-REX Components

  • Identity Registry: The TIR provides the list of trusted issuers to the Identity Registry. This information is used to verify the claims on an ONCHAINID during the identity verification process.

  • Claim Topics Registry: The TIR works with the Claim Topics Registry to ensure that only claims issued by trusted entities are considered valid. This collaboration enhances the security and reliability of the verification process.

Benefits of the Trusted Issuers Registry

  1. Enhanced Security:

    • By maintaining a list of trusted issuers, the TIR ensures that only verified and credible entities can issue claims. This reduces the risk of fraudulent claims and enhances the security of the T-REX protocol.

  2. Regulatory Compliance:

During the identity verification process, the Identity Registry checks the claims on an ONCHAINID against the list of trusted issuers in the TIR. If the claims are issued by entities listed in the TIR and meet the required claim topics, they are considered valid.
  • Integration with Other Components:

    • The TIR integrates with the Identity Registry Storage and the Claim Topics Registry to provide a comprehensive verification process. This ensures that all claims are valid and issued by trusted entities, maintaining the integrity of the protocol.

  • The TIR supports regulatory compliance by ensuring that all claims used for identity verification are issued by trusted entities. This compliance is crucial for maintaining the legal integrity of the protocol.
  • Flexibility and Adaptability:

    • The ability to dynamically manage the list of trusted issuers allows the TIR to adapt to changing regulatory requirements and new entrants in the market. This flexibility ensures long-term compliance and operational efficiency.

  • Trusted Issuers Registry Interface

    The Trusted Issuers Registry interface defines the set of functions and events used to manage and verify trusted claim issuers within the T-REX protocol. Below is a detailed breakdown of each function and event, explaining its purpose, source, and functionality.

    TrustedIssuerAdded

    Event

    Description: Emitted when a trusted issuer is added to the registry.


    TrustedIssuerRemoved

    Event

    Description: Emitted when a trusted issuer is removed from the registry.


    ClaimTopicsUpdated

    Event

    Description: Emitted when the set of claim topics is changed for a given trusted issuer.


    addTrustedIssuer

    Source: ITrustedIssuersRegistry

    Description: Registers a ClaimIssuer contract as a trusted claim issuer. This function can only be called by the owner of the Trusted Issuers Registry contract and emits a TrustedIssuerAdded event.


    removeTrustedIssuer

    Source: ITrustedIssuersRegistry

    Description: Removes the ClaimIssuer contract of a trusted claim issuer. This function can only be called by the owner of the Trusted Issuers Registry contract and emits a TrustedIssuerRemoved event.


    updateIssuerClaimTopics

    Source: ITrustedIssuersRegistry

    Description: Updates the set of claim topics that a trusted issuer is allowed to emit. This function can only be called by the owner of the Trusted Issuers Registry contract and emits a ClaimTopicsUpdated event.


    getTrustedIssuers

    Source: ITrustedIssuersRegistry

    Description: Returns an array of all claim issuers registered in the Trusted Issuers Registry.


    getTrustedIssuersForClaimTopic

    Source: ITrustedIssuersRegistry

    Description: Returns an array of all claim issuer addresses that are allowed to issue a given claim topic.


    isTrustedIssuer

    Source: ITrustedIssuersRegistry

    Description: Checks if a given ClaimIssuer contract is trusted.


    getTrustedIssuerClaimTopics

    Source: ITrustedIssuersRegistry

    Description: Returns the set of claim topics that a given trusted issuer is allowed to emit.


    hasClaimTopic

    Source: ITrustedIssuersRegistry

    Description: Checks if a given trusted issuer is allowed to emit a certain claim topic.

    event TrustedIssuerAdded(IClaimIssuer indexed trustedIssuer, uint256[] claimTopics);
    event TrustedIssuerRemoved(IClaimIssuer indexed trustedIssuer);
    event ClaimTopicsUpdated(IClaimIssuer indexed trustedIssuer, uint256[] claimTopics);
    function addTrustedIssuer(IClaimIssuer _trustedIssuer, uint256[] calldata _claimTopics) external;
    function removeTrustedIssuer(IClaimIssuer _trustedIssuer) external;
    function updateIssuerClaimTopics(IClaimIssuer _trustedIssuer, uint256[] calldata _claimTopics) external;
    function getTrustedIssuers() external view returns (IClaimIssuer[] memory);
    function getTrustedIssuersForClaimTopic(uint256 claimTopic) external view returns (IClaimIssuer[] memory);
    function isTrustedIssuer(address _issuer) external view returns (bool);
    function getTrustedIssuerClaimTopics(IClaimIssuer _trustedIssuer) external view returns (uint256[] memory);
    function hasClaimTopic(address _issuer, uint256 _claimTopic) external view returns (bool);