@@ -29,6 +29,7 @@ import {PythErrors} from "@pythnetwork/PythErrors.sol";
2929import {MortgageMath} from "@core/libraries/MortgageMath.sol " ;
3030import {MortgagePosition} from "@core/types/MortgagePosition.sol " ;
3131import {ILiquidityVault} from "./interfaces/ILiquidityVault/ILiquidityVault.sol " ;
32+ import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol " ;
3233
3334/**
3435 * @title Router
@@ -466,18 +467,25 @@ contract Router is
466467 * @param usdTokenAmount The amount of usdToken to pull in
467468 */
468469 function _vaultDeposit (address vault , address usdToken , uint256 usdTokenAmount ) internal {
470+ if (
471+ ILiquidityVault (vault).whitelistEnforced ()
472+ && ! IAccessControl (vault).hasRole (ILiquidityVault (vault).WHITELIST_ROLE (), _msgSender ())
473+ ) {
474+ revert VaultWhitelistEnforced (vault, _msgSender ());
475+ }
476+
469477 // Convert the usdTokenAmount to USDX
470478 uint256 usdxAmount = convert (usdToken, usdx, usdTokenAmount);
471479
472480 // Pull in the usdToken from the user
473481 _pullUsdToken (usdToken, usdxAmount);
474482
475- // Deposit the USDX into the rollover vault
483+ // Deposit the USDX into the vault
476484 IUSDX (usdx).approve (vault, usdxAmount);
477485 ILiquidityVault (vault).deposit (usdx, usdxAmount);
478486
479487 // Transfer the vault share tokens to the user
480- ILiquidityVault (vault).transfer (msg . sender , ILiquidityVault (vault).balanceOf (address (this )));
488+ ILiquidityVault (vault).transfer (_msgSender () , ILiquidityVault (vault).balanceOf (address (this )));
481489 }
482490
483491 /**
0 commit comments