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
Was this helpful?
