mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Fixed tests
This commit is contained in:
parent
51fee50e50
commit
c298579908
|
@ -5,7 +5,6 @@ import {ILendingPoolAddressesProvider} from "../interfaces/ILendingPoolAddresses
|
||||||
import {IERC20Detailed} from "../interfaces/IERC20Detailed.sol";
|
import {IERC20Detailed} from "../interfaces/IERC20Detailed.sol";
|
||||||
import {LendingPool} from "../lendingpool/LendingPool.sol";
|
import {LendingPool} from "../lendingpool/LendingPool.sol";
|
||||||
import {AToken} from "../tokenization/AToken.sol";
|
import {AToken} from "../tokenization/AToken.sol";
|
||||||
import "@nomiclabs/buidler/console.sol";
|
|
||||||
|
|
||||||
contract AaveProtocolTestHelpers {
|
contract AaveProtocolTestHelpers {
|
||||||
struct TokenData {
|
struct TokenData {
|
||||||
|
@ -21,11 +20,7 @@ contract AaveProtocolTestHelpers {
|
||||||
|
|
||||||
function getAllReservesTokens() external view returns(TokenData[] memory) {
|
function getAllReservesTokens() external view returns(TokenData[] memory) {
|
||||||
LendingPool pool = LendingPool(payable(ADDRESSES_PROVIDER.getLendingPool()));
|
LendingPool pool = LendingPool(payable(ADDRESSES_PROVIDER.getLendingPool()));
|
||||||
console.log("Getting reserves...");
|
|
||||||
|
|
||||||
address[] memory reserves = pool.getReserves();
|
address[] memory reserves = pool.getReserves();
|
||||||
console.log("Reserves retrivied");
|
|
||||||
|
|
||||||
TokenData[] memory reservesTokens = new TokenData[](reserves.length);
|
TokenData[] memory reservesTokens = new TokenData[](reserves.length);
|
||||||
for (uint256 i = 0; i < reserves.length; i++) {
|
for (uint256 i = 0; i < reserves.length; i++) {
|
||||||
reservesTokens[i] = TokenData({
|
reservesTokens[i] = TokenData({
|
||||||
|
@ -38,14 +33,9 @@ contract AaveProtocolTestHelpers {
|
||||||
|
|
||||||
function getAllATokens() external view returns(TokenData[] memory) {
|
function getAllATokens() external view returns(TokenData[] memory) {
|
||||||
LendingPool pool = LendingPool(payable(ADDRESSES_PROVIDER.getLendingPool()));
|
LendingPool pool = LendingPool(payable(ADDRESSES_PROVIDER.getLendingPool()));
|
||||||
|
|
||||||
console.log("Getting all the tokens...");
|
|
||||||
address[] memory reserves = pool.getReserves();
|
address[] memory reserves = pool.getReserves();
|
||||||
|
|
||||||
console.log("Reserves retrivied");
|
|
||||||
TokenData[] memory aTokens = new TokenData[](reserves.length);
|
TokenData[] memory aTokens = new TokenData[](reserves.length);
|
||||||
for (uint256 i = 0; i < reserves.length; i++) {
|
for (uint256 i = 0; i < reserves.length; i++) {
|
||||||
console.log("Getting configuration for reserve %s", i);
|
|
||||||
(,,,,address aTokenAddress,,,,) = pool.getReserveConfigurationData(reserves[i]);
|
(,,,,address aTokenAddress,,,,) = pool.getReserveConfigurationData(reserves[i]);
|
||||||
aTokens[i] = TokenData({
|
aTokens[i] = TokenData({
|
||||||
symbol: AToken(aTokenAddress).symbol(),
|
symbol: AToken(aTokenAddress).symbol(),
|
||||||
|
|
6
package-lock.json
generated
6
package-lock.json
generated
|
@ -372,9 +372,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@openzeppelin/contracts": {
|
"@openzeppelin/contracts": {
|
||||||
"version": "3.0.1",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.1.0.tgz",
|
||||||
"integrity": "sha512-uSrD7hZ0ViuHGqHZbeHawZBi/uy7aBiNramXAt2dFFuSuoU4u9insS3V3zdVfOnYSPreUo636xSOuQIFN4//HA==",
|
"integrity": "sha512-dVXDnUKxrAKLzPdCRkz+N8qsVkK1XxJ6kk3zuI6zaQmcKxN7CkizoDP7lXxcs/Mi2I0mxceTRjJBqlzFffLJrQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@resolver-engine/core": {
|
"@resolver-engine/core": {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
"@nomiclabs/buidler-ethers": "1.3.4-rc.0",
|
"@nomiclabs/buidler-ethers": "1.3.4-rc.0",
|
||||||
"@nomiclabs/buidler-etherscan": "1.3.3",
|
"@nomiclabs/buidler-etherscan": "1.3.3",
|
||||||
"@nomiclabs/buidler-waffle": "1.3.4",
|
"@nomiclabs/buidler-waffle": "1.3.4",
|
||||||
"@openzeppelin/contracts": "3.0.1",
|
"@openzeppelin/contracts": "3.1.0",
|
||||||
"@typechain/ethers-v4": "1.0.0",
|
"@typechain/ethers-v4": "1.0.0",
|
||||||
"@typechain/truffle-v4": "2.0.2",
|
"@typechain/truffle-v4": "2.0.2",
|
||||||
"@typechain/truffle-v5": "2.0.2",
|
"@typechain/truffle-v5": "2.0.2",
|
||||||
|
|
|
@ -260,6 +260,7 @@ export const redeem = async (
|
||||||
testEnv: TestEnv,
|
testEnv: TestEnv,
|
||||||
revertMessage?: string
|
revertMessage?: string
|
||||||
) => {
|
) => {
|
||||||
|
|
||||||
const {
|
const {
|
||||||
aTokenInstance,
|
aTokenInstance,
|
||||||
reserve,
|
reserve,
|
||||||
|
@ -930,6 +931,7 @@ const getDataBeforeAction = async (
|
||||||
user: tEthereumAddress,
|
user: tEthereumAddress,
|
||||||
testEnv: TestEnv
|
testEnv: TestEnv
|
||||||
): Promise<ActionData> => {
|
): Promise<ActionData> => {
|
||||||
|
|
||||||
const reserve = await getReserveAddressFromSymbol(reserveSymbol);
|
const reserve = await getReserveAddressFromSymbol(reserveSymbol);
|
||||||
|
|
||||||
const {reserveData, userData} = await getContractsData(
|
const {reserveData, userData} = await getContractsData(
|
||||||
|
@ -937,9 +939,7 @@ const getDataBeforeAction = async (
|
||||||
user,
|
user,
|
||||||
testEnv
|
testEnv
|
||||||
);
|
);
|
||||||
|
|
||||||
const aTokenInstance = await getAToken(reserveData.aTokenAddress);
|
const aTokenInstance = await getAToken(reserveData.aTokenAddress);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
reserve,
|
reserve,
|
||||||
reserveData,
|
reserveData,
|
||||||
|
|
|
@ -16,6 +16,7 @@ export const getReserveData = async (
|
||||||
reserve: tEthereumAddress
|
reserve: tEthereumAddress
|
||||||
): Promise<ReserveData> => {
|
): Promise<ReserveData> => {
|
||||||
const data: any = await pool.getReserveData(reserve);
|
const data: any = await pool.getReserveData(reserve);
|
||||||
|
const configuration: any = await pool.getReserveConfigurationData(reserve);
|
||||||
const rateOracle = await getLendingRateOracle();
|
const rateOracle = await getLendingRateOracle();
|
||||||
|
|
||||||
const rate = (await rateOracle.getMarketBorrowRate(reserve)).toString();
|
const rate = (await rateOracle.getMarketBorrowRate(reserve)).toString();
|
||||||
|
@ -29,8 +30,15 @@ export const getReserveData = async (
|
||||||
decimals = new BigNumber(await token.decimals());
|
decimals = new BigNumber(await token.decimals());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const totalLiquidity = new BigNumber(data.availableLiquidity).plus(data.totalBorrowsStable).plus(data.totalBorrowsVariable);
|
||||||
|
|
||||||
|
const utilizationRate = new BigNumber(totalLiquidity.eq(0) ? 0 : new BigNumber(data.totalBorrowsStable).plus(data.totalBorrowsVariable).rayDiv(totalLiquidity))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
totalLiquidity: new BigNumber(data.totalLiquidity),
|
totalLiquidity,
|
||||||
|
utilizationRate,
|
||||||
availableLiquidity: new BigNumber(data.availableLiquidity),
|
availableLiquidity: new BigNumber(data.availableLiquidity),
|
||||||
totalBorrowsStable: new BigNumber(data.totalBorrowsStable),
|
totalBorrowsStable: new BigNumber(data.totalBorrowsStable),
|
||||||
totalBorrowsVariable: new BigNumber(data.totalBorrowsVariable),
|
totalBorrowsVariable: new BigNumber(data.totalBorrowsVariable),
|
||||||
|
@ -38,12 +46,11 @@ export const getReserveData = async (
|
||||||
variableBorrowRate: new BigNumber(data.variableBorrowRate),
|
variableBorrowRate: new BigNumber(data.variableBorrowRate),
|
||||||
stableBorrowRate: new BigNumber(data.stableBorrowRate),
|
stableBorrowRate: new BigNumber(data.stableBorrowRate),
|
||||||
averageStableBorrowRate: new BigNumber(data.averageStableBorrowRate),
|
averageStableBorrowRate: new BigNumber(data.averageStableBorrowRate),
|
||||||
utilizationRate: new BigNumber(data.utilizationRate),
|
|
||||||
liquidityIndex: new BigNumber(data.liquidityIndex),
|
liquidityIndex: new BigNumber(data.liquidityIndex),
|
||||||
variableBorrowIndex: new BigNumber(data.variableBorrowIndex),
|
variableBorrowIndex: new BigNumber(data.variableBorrowIndex),
|
||||||
lastUpdateTimestamp: new BigNumber(data.lastUpdateTimestamp),
|
lastUpdateTimestamp: new BigNumber(data.lastUpdateTimestamp),
|
||||||
address: reserve,
|
address: reserve,
|
||||||
aTokenAddress: data.aTokenAddress,
|
aTokenAddress: configuration.aTokenAddress,
|
||||||
symbol,
|
symbol,
|
||||||
decimals,
|
decimals,
|
||||||
marketStableRate: new BigNumber(rate),
|
marketStableRate: new BigNumber(rate),
|
||||||
|
|
|
@ -16,6 +16,7 @@ fs.readdirSync(scenarioFolder).forEach((file) => {
|
||||||
if (
|
if (
|
||||||
![
|
![
|
||||||
"borrow-negatives.json",
|
"borrow-negatives.json",
|
||||||
|
"borrow-repay-variable.json",
|
||||||
"borrow-repay-stable.json",
|
"borrow-repay-stable.json",
|
||||||
"deposit.json",
|
"deposit.json",
|
||||||
"redeem-negatives.json",
|
"redeem-negatives.json",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user