M1CollateralValueCalculator
M1CollateralValueCalculator
Aggregation contracts used to calculate the value of M1 collateral.
function getAssetInBaseCurrency(address asset,uint256 amounts, address oracle) override public view returns (uint256)
Calculate the value of a specified amount of assets
Name | Type | Description |
---|---|---|
assets | address | contract address of assets |
amounts | uint256 | the evaluated amount of assets |
oracle | address | Underlying asset take-or-pay contracts in collateral assets |
Type | Description |
---|---|
uint256 | Returns the value of the specified amount of assets passed in. |
function getSingleLpInBaseCurrency(address lpContractAddress, uint256 lpAmounts, address oracle) external view returns (uint256);
Calculate the value of the specified amount of LP token
Name | Type | Description |
---|---|---|
lpContractAddress | address | token address of the LP token |
lpAmounts | uint256 | the amount need to be evaluate |
oracle | address | Underlying asset take-or-pay contracts in collateral assets |
Type | Description |
---|---|
uint256 | The evaluated results |
function getUniswapV2InBaseCurrency(address v2Pair, uint256 lpAmounts, address oracle) external view returns (uint256)
计算Uniswap v2 LP token数量的价值
Name | Type | Description |
---|---|---|
v2Pair | address | the pool address ofUniswap V2 LP |
lpAmounts | uint256 | the amount need to be evaluate |
oracle | address | Underlying asset take-or-pay contracts in collateral assets |
Type | Description |
---|---|
uint256 | The evaluated results to the corresponding asset and amount. |
function getUniswapV2LpAmounts(address v2Pair, uint256 lpAmounts) external view returns (address token0, address token1, uint256 amount0, uint256 amount1)
Get the address and number of underlying asset contracts corresponding to the number of Uniswap v2 LP tokens.
Name | Type | Description |
---|---|---|
v2Pair | address | the pool address ofUniswap V2 LP |
lpAmounts | uint256 | the LP amount need to be evaluate |
Name | Type | Description |
---|---|---|
token0 | address | Uniswap v2 LP corresponds to the token0 contract address. |
token1 | address | Uniswap v2 LP corresponds to the token1 contract address. |
amount0 | uint256 | The amount of assets corresponding to token0 for Uniswap v2 LP. |
amount1 | uint256 | The amount of assets corresponding to token1 for Uniswap v2 LP. |
function getUniswapV3NFTInBaseCurrency( address nonfungiblePositionManagerAddress, uint256 tokenId, address oracle) external view returns (uint256);
Get the value of Uniswap v3 NFT
Name | Type | Description |
---|---|---|
nonfungiblePositionManagerAddress | address | Each pair of Uniswap is grouped under a single administrative address. They have different token IDs but the same address. |
tokenId | uint256 | token id |
oracle | address | Underlying asset take-or-pay contracts in collateral assets |
Type | Description |
---|---|
uint256 | Returns the value of the token ID passed into Uniswap v3. |
function getUniswapV3NFTAmounts(uint256 tokenId, address nonfungiblePositionManagerAddress) external view returns (address token0, address token1, uint24 fee, uint256 amount0, uint256 amount1);
Get the address of the underlying asset contract corresponding to Uniswap v3 NFT and its amount.
The number of assets in Uniswap V3 NFT changes all the time, and the Pool is able to monitor it in real-time.
Name | Type | Description |
---|---|---|
tokenId | uint256 | token id |
nonfungiblePositionManagerAddress | address | Uniswap v3's nft position manager address |
Name | Type | Description |
---|---|---|
token0 | address | Uniswap v3 NFT corresponds to token0 contract address. |
token1 | address | Uniswap v3 NFT corresponds to token1 contract address. |
fee | uint256 | The uncollected fee of the NFT |
amount0 | uint256 | Uniswap v3 NFT amount of assets corresponding to token0. |
amount1 | uint256 | Uniswap v3 NFT amount of assets corresponding to token1. |
function getUniswapV3NFTPoolAddress(uint256 tokenId, address nonfungiblePositionManagerAddress) external view returns(address)
Get the address of the pool contract corresponding to the
tokenId
of Uniswap v3Name | Type | Description |
---|---|---|
tokenId | uint256 | token id |
nonfungiblePositionManagerAddress | address | Uniswap v3's nft position manager address |
Name | Description |
---|---|
address | Uniswap v3 NFT corresponds to the contract address of the pool. |
function getUniswapV3NFTInBaseCurrencyV2( address nonfungiblePositionManagerAddress, uint256 tokenId, address oracle) external view returns (uint256 currencyValue,address token0, address token1, uint256 fee , uint256 amount0, uint256 amount1);
Get the value of Uniswap v3 and basic information about the underlying assets
Name | Type | Description |
---|---|---|
nonfungiblePositionManagerAddress | address | Uniswap v3's nft position manager address |
tokenId | uint256 | token id |
oracle | address | Underlying asset take-or-pay contracts in collateral assets |
Name | Type | Description |
---|---|---|
currencyValue | uint256 | Returns the value of the tokenid of Uniswap v3. |
token0 | address | Uniswap v3 NFT corresponds to token0 contract address. |
token1 | address | Uniswap v3 NFT corresponds to token1 contract address. |
fee | uint256 | Uniswap v3 uncollected fee |
amount0 | uint256 | the amount of assets corresponding to token0 in the NFT. |
amount1 | uint256 | the amount of assets corresponding to token1 in the NFT. |
Last modified 1yr ago