735546619e
Signed-off-by: T-Hax <>
121 lines
4.1 KiB
Solidity
121 lines
4.1 KiB
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity =0.7.6;
|
|
|
|
import '../libraries/LiquidityAmounts.sol';
|
|
|
|
contract LiquidityAmountsTest {
|
|
function getLiquidityForAmount0(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount0
|
|
) external pure returns (uint128 liquidity) {
|
|
return LiquidityAmounts.getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0);
|
|
}
|
|
|
|
function getGasCostOfGetLiquidityForAmount0(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount0
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0);
|
|
return gasBefore - gasleft();
|
|
}
|
|
|
|
function getLiquidityForAmount1(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount1
|
|
) external pure returns (uint128 liquidity) {
|
|
return LiquidityAmounts.getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1);
|
|
}
|
|
|
|
function getGasCostOfGetLiquidityForAmount1(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount1
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1);
|
|
return gasBefore - gasleft();
|
|
}
|
|
|
|
function getLiquidityForAmounts(
|
|
uint160 sqrtRatioX96,
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount0,
|
|
uint256 amount1
|
|
) external pure returns (uint128 liquidity) {
|
|
return LiquidityAmounts.getLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, amount0, amount1);
|
|
}
|
|
|
|
function getGasCostOfGetLiquidityForAmounts(
|
|
uint160 sqrtRatioX96,
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint256 amount0,
|
|
uint256 amount1
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, amount0, amount1);
|
|
return gasBefore - gasleft();
|
|
}
|
|
|
|
function getAmount0ForLiquidity(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external pure returns (uint256 amount0) {
|
|
return LiquidityAmounts.getAmount0ForLiquidity(sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
}
|
|
|
|
function getGasCostOfGetAmount0ForLiquidity(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getAmount0ForLiquidity(sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
return gasBefore - gasleft();
|
|
}
|
|
|
|
function getAmount1ForLiquidity(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external pure returns (uint256 amount1) {
|
|
return LiquidityAmounts.getAmount1ForLiquidity(sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
}
|
|
|
|
function getGasCostOfGetAmount1ForLiquidity(
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
return gasBefore - gasleft();
|
|
}
|
|
|
|
function getAmountsForLiquidity(
|
|
uint160 sqrtRatioX96,
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external pure returns (uint256 amount0, uint256 amount1) {
|
|
return LiquidityAmounts.getAmountsForLiquidity(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
}
|
|
|
|
function getGasCostOfGetAmountsForLiquidity(
|
|
uint160 sqrtRatioX96,
|
|
uint160 sqrtRatioAX96,
|
|
uint160 sqrtRatioBX96,
|
|
uint128 liquidity
|
|
) external view returns (uint256) {
|
|
uint256 gasBefore = gasleft();
|
|
LiquidityAmounts.getAmountsForLiquidity(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, liquidity);
|
|
return gasBefore - gasleft();
|
|
}
|
|
}
|