maTokens
Aave's aTokens on Matic Network
Conversion between aTokens and maTokens
/**
* @dev Converts aToken value to maToken value
* @param _aTokenAddress aToken contract address
* @param _aTokenValue aToken value to convert
* @return maTokenValue_ The converted maToken value
**/
function getMATokenValue(address _aTokenAddress, uint256 _aTokenValue)
public
view
returns
(uint256 maTokenValue_)
{
ILendingPool pool = IAToken(_aTokenAddress).POOL();
uint256 liquidityIndex = pool.getReserveNormalizedIncome(
IAToken(_aTokenAddress).UNDERLYING_ASSET_ADDRESS()
);
maTokenValue_ = p27Div(_aTokenValue, liquidityIndex);
}
/**
* @dev Converts maToken value to aToken value
* @param _aTokenAddress aToken contract address
* @param _maTokenValue maToken value to convert
* @return aTokenValue_ The converted aToken value
**/
function getATokenValue(address _aTokenAddress, uint256 _maTokenValue)
public
view
returns (uint256 aTokenValue_)
{
ILendingPool pool = IAToken(_aTokenAddress).POOL();
uint256 liquidityIndex = pool.getReserveNormalizedIncome(
IAToken(_aTokenAddress).UNDERLYING_ASSET_ADDRESS()
);
aTokenValue_ = p27Mul(_maTokenValue, liquidityIndex);
}Getting aToken and maToken contract addresses
Last updated
Was this helpful?