mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
added token decimals & ticks
This commit is contained in:
parent
de4663563d
commit
a154c76398
|
@ -5,6 +5,24 @@ pragma experimental ABIEncoderV2;
|
|||
interface IERC20 {
|
||||
function balanceOf(address) external view returns (uint256);
|
||||
function totalSupply() external view returns (uint256);
|
||||
function decimals() external view returns (uint256);
|
||||
}
|
||||
|
||||
interface IUniswapV3Pool {
|
||||
|
||||
function slot0()
|
||||
external
|
||||
view
|
||||
returns (
|
||||
uint160 sqrtPriceX96,
|
||||
int24 tick,
|
||||
uint16 observationIndex,
|
||||
uint16 observationCardinality,
|
||||
uint16 observationCardinalityNext,
|
||||
uint8 feeProtocol,
|
||||
bool unlocked
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
interface IGUniPool {
|
||||
|
@ -12,6 +30,8 @@ interface IGUniPool {
|
|||
|
||||
function token1() external view returns (IERC20);
|
||||
|
||||
function pool() external view returns (IUniswapV3Pool);
|
||||
|
||||
function totalSupply() external view returns (uint256);
|
||||
|
||||
function balanceOf(address account) external view returns (uint256);
|
||||
|
@ -26,6 +46,12 @@ interface IGUniPool {
|
|||
);
|
||||
|
||||
function getPositionID() external view returns (bytes32 positionID);
|
||||
|
||||
function lowerTick() external view returns (int24);
|
||||
|
||||
function upperTick() external view returns (int24);
|
||||
|
||||
|
||||
}
|
||||
|
||||
interface GUniResolver {
|
||||
|
@ -121,6 +147,11 @@ contract Helpers is DSMath {
|
|||
uint stakedBal; // user's pool token bal in staking contract
|
||||
uint poolBal; // ideal pool token in user's DSA
|
||||
uint totalBal; // stakedBal + poolTknBal
|
||||
uint token0Decimals;
|
||||
uint token1Decimals;
|
||||
int24 currentTick;
|
||||
int24 lowerTick;
|
||||
int24 upperTick;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -149,6 +180,14 @@ contract Resolver is Helpers {
|
|||
_data.poolTokenSupplyStaked = stakingContract.totalSupply();
|
||||
(_data.stakingToken0Bal, _data.stakingToken1Bal) = gelatoRouter.getUnderlyingBalances(poolContract, _data.poolTokenSupplyStaked);
|
||||
_data.rewardRate = stakingContract.rewardRate();
|
||||
|
||||
_data.token0Decimals = poolContract.token0().decimals();
|
||||
_data.token1Decimals = poolContract.token1().decimals();
|
||||
|
||||
IUniswapV3Pool uniNft = poolContract.pool();
|
||||
(, _data.currentTick, , , , , ) = uniNft.slot0();
|
||||
_data.lowerTick = poolContract.lowerTick();
|
||||
_data.upperTick = poolContract.upperTick();
|
||||
}
|
||||
|
||||
function getPosition(address user, address[] memory pools) public view returns(UserData[] memory _data) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user