Comptroller.
The risk-management layer for an isolated pool. Each pool deploys its own instance — fully customizable parameters, complete isolation from every other pool.
The isolated-pool Comptroller governs all market interactions within its pool: supply, borrow, liquidation, reward distribution. Pool creators and governance configure collateral factors, liquidation incentives, supply/borrow caps, and other risk parameters independently of other pools.
Each Comptroller maintains its own listed markets, user memberships, and risk configurations.
enterMarkets
Allows a user to enable specific assets as collateral within the pool.
function enterMarkets(address[] calldata rTokens) external returns (uint256[] memory);
- rTokens: Array of RToken addresses to enable as collateral.
- Returns an array of error codes (0 = success).
exitMarket
Removes an asset from the caller's collateral set, provided the removal does not create a shortfall.
function exitMarket(address rTokenAddress) external returns (uint256);
supportMarket
Lists a new RToken market within the pool. Restricted to governance or authorized callers.
function supportMarket(IRToken rToken) external;
setCollateralFactor
Configures the collateral factor for a given market, determining how much borrowing power each unit of collateral provides.
function setCollateralFactor(
IRToken rToken,
uint256 newCollateralFactorMantissa,
uint256 newLiquidationThresholdMantissa
) external;
setMarketBorrowCaps / setMarketSupplyCaps
Sets borrow and supply caps for markets, restricting the maximum amount that can be borrowed or supplied.
function setMarketBorrowCaps(IRToken[] calldata rTokens, uint256[] calldata newBorrowCaps) external;
function setMarketSupplyCaps(IRToken[] calldata rTokens, uint256[] calldata newSupplyCaps) external;
liquidateAccount
Liquidates an account that has fallen below the required collateral threshold.
function liquidateAccount(
address borrower,
LiquidationOrder[] calldata orders
) external;
All administrative functions are gated through the AccessControlManager. Only authorized governance actions can modify pool parameters — every privileged operation validates permissions before execution.