// SPDX-License-Identifier: MIT pragma solidity >=0.7.6 <0.9; pragma abicoder v2; import "./IWhitelist.sol"; /** * Agent owner management and work address management */ interface IAgentOwnerRegistry is IWhitelist { /** * 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 ); /** * 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); }