diff --git a/src/MathHelper.sol b/src/MathHelper.sol index f8d3ec2..7de0dde 100644 --- a/src/MathHelper.sol +++ b/src/MathHelper.sol @@ -5,8 +5,8 @@ abstract contract MathHelper { function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } - - // Forked from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/utils/math/SignedMath.sol + + // Forked from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/utils/math/SignedMath.sol function max(int256 a, int256 b) internal pure returns (int256) { return a > b ? a : b; } @@ -15,4 +15,16 @@ abstract contract MathHelper { function abs(int128 n) internal pure returns (int128) { return n >= 0 ? n : -n; } + + function abs(int256 n) internal pure returns (uint256) { + return n >= 0 ? uint256(n) : uint256(-n); + } + + function diff(int256 a, int256 b) internal pure returns (uint256) { + return a >= b ? uint256(a - b) : uint256(b - a); + } + + function diff(uint256 a, uint256 b) internal pure returns (uint256) { + return a >= b ? a - b : b - a; + } }