Port to Solidity 0.8.21 passes 3 tests
This commit is contained in:
@@ -61,7 +61,7 @@ library FullMath {
|
||||
// Factor powers of two out of denominator
|
||||
// Compute largest power of two divisor of denominator.
|
||||
// Always >= 1.
|
||||
uint256 twos = -denominator & denominator;
|
||||
uint256 twos = uint256(-int256(denominator)) & denominator;
|
||||
// Divide denominator by power of two
|
||||
assembly {
|
||||
denominator := div(denominator, twos)
|
||||
|
||||
@@ -22,7 +22,7 @@ library TickMath {
|
||||
/// at the given tick
|
||||
function getSqrtRatioAtTick(int24 tick) internal pure returns (uint160 sqrtPriceX96) {
|
||||
uint256 absTick = tick < 0 ? uint256(-int256(tick)) : uint256(int256(tick));
|
||||
require(absTick <= uint256(MAX_TICK), 'T');
|
||||
require(absTick <= uint256(int256(MAX_TICK)), 'T');
|
||||
|
||||
uint256 ratio = absTick & 0x1 != 0 ? 0xfffcb933bd6fad37aa2d162d1a594001 : 0x100000000000000000000000000000000;
|
||||
if (absTick & 0x2 != 0) ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128;
|
||||
|
||||
Reference in New Issue
Block a user