Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

PoolAddressesProviderRegistry

A registry of all PoolAddressesProvider instances (one per SparkLend market). Each provider is assigned a non-zero id; the registry maps both directions (provider → id and id → provider).

The registry is Ownable. Only the owner (Sky Governance on mainnet) can register or unregister providers.

View methods

getAddressesProvidersList

function getAddressesProvidersList() external view returns (address[] memory)

Returns the array of currently-registered PoolAddressesProvider addresses. Order is not stable (unregistration uses swap-and-pop).

getAddressesProviderIdByAddress

function getAddressesProviderIdByAddress(address addressesProvider) external view returns (uint256)

Returns the id registered for a provider, or 0 if not registered.

getAddressesProviderAddressById

function getAddressesProviderAddressById(uint256 id) external view returns (address)

Returns the provider registered at id, or address(0) if none.

Write methods (owner only)

registerAddressesProvider

function registerAddressesProvider(address provider, uint256 id) external onlyOwner

Registers provider under id. Reverts on id == 0, on id already taken, or on provider already registered. Emits AddressesProviderRegistered.

unregisterAddressesProvider

function unregisterAddressesProvider(address provider) external onlyOwner

Removes provider from the registry. Reverts if it was never registered. Emits AddressesProviderUnregistered.