Fathom Protocol
  • Introduction
  • FXD Stablecoin
    • FXD Smart Contract Architecture
    • Minting and Burning Mechanisms with LTV Ratio
    • Soft-Pegging to the US Dollar
    • Opening and closing position flows
    • BookKeeping mechanism
      • Stablecoin Accounting
      • Collateral Accounting
    • Liquidation
      • Fixed Spread Liquidation Strategy
      • Liquidation process walk through
    • Emergency Shutdown
    • Maths for position safety
    • Fee structure
    • Risk Management
    • Interfaces
      • ProxyWalletRegistry
      • ProxyWallet
        • FathomStablecoinProxyActions
      • CollateralPoolConfig
      • BookKeeper
      • FXD
      • LiquidationEngine
      • FlashMintModule
      • PriceFeed
      • ShowStopper
      • StabilityFeeCollector
      • SystemDebtEngine
      • AdminControls
    • Deployments
      • XDC Network
    • User Guides
      • Open FXD position
      • Top Up FXD Position
      • Repay and close FXD position
    • Fathom Stablecoin Smart Contracts
    • Fathom Stablecoin Subgraph
  • Vaults
    • Key Features
    • Definitions
    • Architecture
    • Fees
    • Workflows
    • Vault Management
    • Strategy Creation
    • Interfaces
      • Factory
      • Vault
      • BaseStrategy
      • TokenizedStrategy
    • Deployments
      • XDC Network
    • User Guides
      • Deposit and Withdraw in Vault
    • Fathom Vaults Smart Contracts
    • Fathom Vaults Subgraph
  • Lending
    • Core Concepts
    • Protocol Mechanics
    • Architecture
    • Interfaces
      • FmToken
      • VariableDebtToken
      • StableDebtToken
      • L2Pool
      • PoolAddressesProvider
    • User Guides
      • Supply, Borrow, Repay and Withdraw Asset
    • Deployments
      • XDC Network
    • Fathom Lending Smart Contracts
    • Fathom Lending Subgraph
  • DEX
    • Core Concepts
    • Architecture
    • Interfaces
      • Factory
      • Pair
      • Router
    • User Guides
      • Providing Liquidity
      • Swapping Assets
    • Deployments
      • XDC Network
    • Fathom DEX Smart Contracts
    • Fathom DEX Subgraph
  • DAO
    • DAO Structure
    • Governance Process
    • Staking Process
    • Treasury Management
    • Risk Management and Security Measures
    • Contributing to Fathom DAO
    • Interfaces
      • FTHM
      • Staking
        • Vault
        • RewardsCalculator
        • vFTHM
      • Governance
        • TimelockController
    • Deployments
      • XDC Network
    • User Guides
      • Staking
      • Proposing
      • Voting
    • Fathom DAO Smart Contracts
    • Fathom DAO Subgraph
  • Whitepaper
    • Version 1.0
  • Resources
  • FXD Deployments
  • FTHM Deployments
  • Privacy Policy
  • Terms of Service
Powered by GitBook

Copyright© Fathom App 2024.

On this page
  • Storage Variables
  • Constants
  • Functions
  • Getters
  • Setters
  • Events

Was this helpful?

Export as PDF
  1. Lending
  2. Interfaces

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.

PreviousL2PoolNextUser Guides

Last updated 11 months ago

Was this helpful?