PoolAddressesProvider
https://github.com/Into-the-Fathom/fathom-lending-platform-smart-contracts/blob/master/contracts/protocol/configuration/PoolAddressesProvider.sol
The PoolAddressesProvider
contract is the main registry of addresses that are part of or connected to the Fathom protocol, including permissioned roles. It acts as a factory of proxies and an admin of those proxies, with the right to change their implementations. The contract is owned by the Fathom Governance.
Storage Variables
_marketId: The identifier of the Fathom Market.
_addresses: A mapping of registered addresses (
bytes32 identifier
=>address registeredAddress
).
Constants
POOL: The identifier for the pool address.
POOL_CONFIGURATOR: The identifier for the pool configurator address.
PRICE_ORACLE: The identifier for the price oracle address.
ACL_MANAGER: The identifier for the ACL manager address.
ACL_ADMIN: The identifier for the ACL admin address.
PRICE_ORACLE_SENTINEL: The identifier for the price oracle sentinel address.
DATA_PROVIDER: The identifier for the data provider address.
Functions
Getters
getMarketId(): Returns the identifier of the Fathom Market.
getAddress(bytes32 id): Returns the registered address associated with the given identifier.
getPool(): Returns the address of the pool.
getPoolConfigurator(): Returns the address of the pool configurator.
getPriceOracle(): Returns the address of the price oracle.
getACLManager(): Returns the address of the ACL manager.
getACLAdmin(): Returns the address of the ACL admin.
getPriceOracleSentinel(): Returns the address of the price oracle sentinel.
getPoolDataProvider(): Returns the address of the pool data provider.
Setters
setMarketId(string memory newMarketId): Sets a new market identifier. Callable only by the owner.
setAddress(bytes32 id, address newAddress): Registers a new address with the given identifier. Callable only by the owner.
setAddressAsProxy(bytes32 id, address newImplementationAddress): Updates the implementation address of a proxy. Callable only by the owner.
setPoolImpl(address newPoolImpl): Sets a new pool implementation. Callable only by the owner.
setPoolConfiguratorImpl(address newPoolConfiguratorImpl): Sets a new pool configurator implementation. Callable only by the owner.
setPriceOracle(address newPriceOracle): Sets a new price oracle address. Callable only by the owner.
setACLManager(address newAclManager): Sets a new ACL manager address. Callable only by the owner.
setACLAdmin(address newAclAdmin): Sets a new ACL admin address. Callable only by the owner.
setPriceOracleSentinel(address newPriceOracleSentinel): Sets a new price oracle sentinel address. Callable only by the owner.
setPoolDataProvider(address newDataProvider): Sets a new pool data provider address. Callable only by the owner.
Events
MarketIdSet(string indexed oldMarketId, string indexed newMarketId): Emitted when the market identifier is updated.
AddressSet(bytes32 indexed id, address indexed oldAddress, address indexed newAddress): Emitted when an address is registered or updated.
AddressSetAsProxy(bytes32 indexed id, address indexed proxyAddress, address indexed oldImplementationAddress, address newImplementationAddress): Emitted when a proxy address is set or updated.
PoolUpdated(address indexed oldPoolImpl, address indexed newPoolImpl): Emitted when the pool implementation is updated.
PoolConfiguratorUpdated(address indexed oldPoolConfiguratorImpl, address indexed newPoolConfiguratorImpl): Emitted when the pool configurator implementation is updated.
PriceOracleUpdated(address indexed oldPriceOracle, address indexed newPriceOracle): Emitted when the price oracle address is updated.
ACLManagerUpdated(address indexed oldAclManager, address indexed newAclManager): Emitted when the ACL manager address is updated.
ACLAdminUpdated(address indexed oldAclAdmin, address indexed newAclAdmin): Emitted when the ACL admin address is updated.
PriceOracleSentinelUpdated(address indexed oldPriceOracleSentinel, address indexed newPriceOracleSentinel): Emitted when the price oracle sentinel address is updated.
PoolDataProviderUpdated(address indexed oldDataProvider, address indexed newDataProvider): Emitted when the pool data provider address is updated.
ProxyCreated(bytes32 indexed id, address indexed proxyAddress, address indexed implementationAddress): Emitted when a new proxy is created.
Last updated