AdminControls
https://github.com/Into-the-Fathom/fathom-stablecoin-smart-contracts/blob/master/contracts/main/stablecoin-core/AdminControls.sol
The AdminControls
contract provides management capabilities for the Fathom FXD Protocol. It is designed to configure and control core components of the system, allowing administrative actions such as pausing and unpausing protocol operations, setting key contract addresses, and managing permissions.
Administrative role can be assigned to the Governance or Multisig account.
State Variables:
bookKeeper (
address public
): Stores the address of theBookKeeper
contract which manages the core accounting logic for the protocol.liquidationEngine (
address public
): Holds the address of theLiquidationEngine
contract responsible for handling the liquidation processes.priceOracle (
address public
): References thePriceOracle
contract which provides price feeds for the assets.positionManager (
address public
): Points to thePositionManager
contract that manages user positions.systemDebtEngine (
address public
): Contains the address of theSystemDebtEngine
contract managing the system’s debt situations.flashMintModule (
address public
): Holds the address of theFlashMintModule
for flash loan functionalities.stablecoinAdapter (
address public
): References theStablecoinAdapter
which handles interactions related to the FXD stablecoin.
Functions:
pauseProtocol (
external
): Pauses all core components of the protocol to halt operations.unpauseProtocol (
external
): Resumes operations of all core components after being paused.setBookKeeper (
external, address _bookKeeper
): Updates the address of theBookKeeper
contract.setPositionManager (
external, address _positionManager
): Updates the address of thePositionManager
contract.setLiquidationEngine (
external, address _liquidationEngine
): Updates the address of theLiquidationEngine
contract.setSystemDebtEngine (
external, address _systemDebtEngine
): Updates the address of theSystemDebtEngine
contract.setFlashMintModule (
external, address _flashMintModule
): Updates the address of theFlashMintModule
contract.setPriceOracle (
external, address _priceOracle
): Updates the address of thePriceOracle
contract.setStablecoinAdapter (
external, address _stablecoinAdapter
): Updates the address of theStablecoinAdapter
contract.
Events:
LogPauseProtocol (
event
): Emitted when the protocol is paused.LogUnpauseProtocol (
event
): Emitted when the protocol is unpaused.LogSetBookKeeper (
event, address indexed newAddress
): Emitted when theBookKeeper
address is updated.LogSetPositionManager (
event, address indexed newAddress
): Emitted when thePositionManager
address is updated.LogSetLiquidationEngine (
event, address indexed newAddress
): Emitted when theLiquidationEngine
address is updated.LogSetSystemDebtEngine (
event, address indexed newAddress
): Emitted when theSystemDebtEngine
address is updated.LogSetFlashMintModule (
event, address indexed newAddress
): Emitted when theFlashMintModule
address is updated.LogSetPriceOracle (
event, address indexed newAddress
): Emitted when thePriceOracle
address is updated.LogSetStablecoinAdapter (
event, address indexed newAddress
): Emitted when theStablecoinAdapter
address is updated.
Last updated