mirror of
https://github.com/luxfi/markets.git
synced 2026-10-30 16:19:55 +00:00
50 lines
1.5 KiB
Solidity
50 lines
1.5 KiB
Solidity
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
pragma solidity 0.8.19;
|
|
|
|
import {Id, MarketParams, MarketParamsLib} from "../../src/libraries/MarketParamsLib.sol";
|
|
import "../../src/libraries/MathLib.sol";
|
|
import "../../src/libraries/ConstantsLib.sol";
|
|
import "../../src/libraries/UtilsLib.sol";
|
|
|
|
contract Util {
|
|
using MarketParamsLib for MarketParams;
|
|
using MathLib for uint256;
|
|
|
|
function wad() external pure returns (uint256) {
|
|
return WAD;
|
|
}
|
|
|
|
function maxFee() external pure returns (uint256) {
|
|
return MAX_FEE;
|
|
}
|
|
|
|
function oraclePriceScale() external pure returns (uint256) {
|
|
return ORACLE_PRICE_SCALE;
|
|
}
|
|
|
|
function lif(uint256 lltv) external pure returns (uint256) {
|
|
return
|
|
UtilsLib.min(MAX_LIQUIDATION_INCENTIVE_FACTOR, WAD.wDivDown(WAD - LIQUIDATION_CURSOR.wMulDown(WAD - lltv)));
|
|
}
|
|
|
|
function libId(MarketParams memory marketParams) external pure returns (Id) {
|
|
return marketParams.id();
|
|
}
|
|
|
|
function refId(MarketParams memory marketParams) external pure returns (Id marketParamsId) {
|
|
marketParamsId = Id.wrap(keccak256(abi.encode(marketParams)));
|
|
}
|
|
|
|
function libMulDivUp(uint256 x, uint256 y, uint256 d) external pure returns (uint256) {
|
|
return MathLib.mulDivUp(x, y, d);
|
|
}
|
|
|
|
function libMulDivDown(uint256 x, uint256 y, uint256 d) external pure returns (uint256) {
|
|
return MathLib.mulDivDown(x, y, d);
|
|
}
|
|
|
|
function libMin(uint256 x, uint256 y) external pure returns (uint256) {
|
|
return UtilsLib.min(x, y);
|
|
}
|
|
}
|