// SPDX-License-Identifier: MIT pragma solidity >=0.7.6 <0.9; pragma abicoder v2; /** * Agent owner management and work address management */ interface IAgentOwnerRegistry { event Whitelisted(address value); event WhitelistingRevoked(address value); /** * Agent owner's work address has been set. */ event WorkAddressChanged( address indexed managementAddress, address prevWorkAddress, address workAddress ); event AgentDataChanged( address indexed managementAddress, string name, string description, string iconUrl, string termsOfUseUrl ); error AgentNotWhitelisted(); error WorkAddressInUse(); /** * Returns true if the address is whitelisted, false otherwise. * @param _address address to check */ function isWhitelisted(address _address) external view returns (bool); /** * Return agent owner's name. * @param _managementAddress agent owner's management address */ function getAgentName( address _managementAddress ) external view returns (string memory); /** * Return agent owner's description. * @param _managementAddress agent owner's management address */ function getAgentDescription( address _managementAddress ) external view returns (string memory); /** * Return url of the agent owner's icon. * @param _managementAddress agent owner's management address */ function getAgentIconUrl( address _managementAddress ) external view returns (string memory); /** * Return url of the agent's page with terms of use. * @param _managementAddress agent owner's management address */ function getAgentTermsOfUseUrl( address _managementAddress ) external view returns (string memory); /** * Get the (unique) work address for the given management address. */ function getWorkAddress( address _managementAddress ) external view returns (address); /** * Get the (unique) management address for the given work address. */ function getManagementAddress( address _workAddress ) external view returns (address); }