diff --git a/src/Morpho.sol b/src/Morpho.sol index d96cd9546..f19d3396e 100644 --- a/src/Morpho.sol +++ b/src/Morpho.sol @@ -13,6 +13,7 @@ import {IIrm} from "./interfaces/IIrm.sol"; import {IERC20} from "./interfaces/IERC20.sol"; import {IOracle} from "./interfaces/IOracle.sol"; +import "./libraries/ConstantsLib.sol"; import {UtilsLib} from "./libraries/UtilsLib.sol"; import {EventsLib} from "./libraries/EventsLib.sol"; import {ErrorsLib} from "./libraries/ErrorsLib.sol"; @@ -21,20 +22,6 @@ import {MathLib, WAD} from "./libraries/MathLib.sol"; import {SharesMathLib} from "./libraries/SharesMathLib.sol"; import {SafeTransferLib} from "./libraries/SafeTransferLib.sol"; -/// @dev The maximum fee a market can have (25%). -uint256 constant MAX_FEE = 0.25e18; -/// @dev Oracle price scale. -uint256 constant ORACLE_PRICE_SCALE = 1e36; -/// @dev Liquidation cursor. -uint256 constant LIQUIDATION_CURSOR = 0.3e18; -/// @dev Max liquidation incentive factor. -uint256 constant MAX_LIQUIDATION_INCENTIVE_FACTOR = 1.15e18; -/// @dev The EIP-712 typeHash for EIP712Domain. -bytes32 constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); -/// @dev The EIP-712 typeHash for Authorization. -bytes32 constant AUTHORIZATION_TYPEHASH = - keccak256("Authorization(address authorizer,address authorized,bool isAuthorized,uint256 nonce,uint256 deadline)"); - /// @title Morpho /// @author Morpho Labs /// @custom:contact security@morpho.xyz diff --git a/src/libraries/ConstantsLib.sol b/src/libraries/ConstantsLib.sol new file mode 100644 index 000000000..f4719b9f3 --- /dev/null +++ b/src/libraries/ConstantsLib.sol @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.0; + +/// @dev The maximum fee a market can have (25%). +uint256 constant MAX_FEE = 0.25e18; + +/// @dev Oracle price scale. +uint256 constant ORACLE_PRICE_SCALE = 1e36; + +/// @dev Liquidation cursor. +uint256 constant LIQUIDATION_CURSOR = 0.3e18; + +/// @dev Max liquidation incentive factor. +uint256 constant MAX_LIQUIDATION_INCENTIVE_FACTOR = 1.15e18; + +/// @dev The EIP-712 typeHash for EIP712Domain. +bytes32 constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); + +/// @dev The EIP-712 typeHash for Authorization. +bytes32 constant AUTHORIZATION_TYPEHASH = + keccak256("Authorization(address authorizer,address authorized,bool isAuthorized,uint256 nonce,uint256 deadline)"); diff --git a/test/forge/helpers/SigUtils.sol b/test/forge/helpers/SigUtils.sol index b7972534f..ba73f8621 100644 --- a/test/forge/helpers/SigUtils.sol +++ b/test/forge/helpers/SigUtils.sol @@ -1,7 +1,9 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; -import {Authorization, AUTHORIZATION_TYPEHASH} from "src/Morpho.sol"; +import {AUTHORIZATION_TYPEHASH} from "src/libraries/ConstantsLib.sol"; + +import {Authorization} from "src/interfaces/IMorpho.sol"; library SigUtils { /// @dev Computes the hash of the EIP-712 encoded data.