IAddressProviderRegistry

// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.16;

/**
 * @title IAddressProviderRegistry contract
 * @dev Main registry of AddressProvider of multiple FluidNFT protocol's markets
 * - Used for indexing purposes of FluidNFT protocol's markets
 * - The id assigned to a AddressProvider refers to the market it is connected with,
 *   for example with `1` for the FluidNFT main market and `2` for the next created
 * @author FluidNFT
 **/
interface IAddressProviderRegistry {
    event AddressProviderRegistered(address indexed newAddress);
    event AddressProviderUnregistered(address indexed newAddress);

    function getAddressProvidersList() external view returns (address[] memory);

    function getAddressProviderIdByAddress(address addressesProvider) external view returns (uint256);

    function registerAddressProvider(address provider, uint256 id) external;

    function unregisterAddressProvider(address provider) external;
}

Last updated