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

Copyright© Fathom App 2024.