mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
test: Add edge cases with role permissions
This commit is contained in:
parent
4bedd3b32e
commit
787c856b10
|
@ -2,7 +2,7 @@ import { expect } from 'chai';
|
||||||
import rawHRE from 'hardhat';
|
import rawHRE from 'hardhat';
|
||||||
import BigNumber from 'bignumber.js';
|
import BigNumber from 'bignumber.js';
|
||||||
import { Signer } from 'ethers';
|
import { Signer } from 'ethers';
|
||||||
import { DRE } from '../../../helpers/misc-utils';
|
import { DRE, evmRevert, evmSnapshot } from '../../../helpers/misc-utils';
|
||||||
import { impersonateAccountsHardhat } from '../../../helpers/misc-utils';
|
import { impersonateAccountsHardhat } from '../../../helpers/misc-utils';
|
||||||
import { MAX_UINT_AMOUNT } from '../../../helpers/constants';
|
import { MAX_UINT_AMOUNT } from '../../../helpers/constants';
|
||||||
import {
|
import {
|
||||||
|
@ -38,34 +38,34 @@ const PERMISSIONS = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
LendingPoolAddressesProvider: '',
|
LendingPoolAddressesProvider: '0x6FdfafB66d39cD72CFE7984D3Bbcc76632faAb00',
|
||||||
ReserveLogic: '',
|
ReserveLogic: '0x7DAD18d71880C8d7b58544195818255BAaF3d990',
|
||||||
GenericLogic: '',
|
GenericLogic: '0xD342bf0cc6634a80B4cC45eC7553b316C15dDdB9',
|
||||||
ValidationLogic: '',
|
ValidationLogic: '0x357895E412b724f267645873D2738fF25b7A2Cf6',
|
||||||
LendingPoolImpl: '',
|
LendingPoolImpl: '0xfbF029508c061B440D0cF7Fd639e77Fb2E196241',
|
||||||
LendingPool: '',
|
LendingPool: '0x37D7306019a38Af123e4b245Eb6C28AF552e0bB0',
|
||||||
LendingPoolConfiguratorImpl: '',
|
LendingPoolConfiguratorImpl: '0x8e5E28f273E3a6612A9C5d6F16aa67DA156042F4',
|
||||||
LendingPoolConfigurator: '',
|
LendingPoolConfigurator: '0x4e1c7865e7BE78A7748724Fa0409e88dc14E67aA',
|
||||||
StableAndVariableTokensHelper: '',
|
StableAndVariableTokensHelper: '0x42E74d1065808b7cBC5B20CdEA702551FC613F0c',
|
||||||
ATokensAndRatesHelper: '',
|
ATokensAndRatesHelper: '0x52c62481e923475C0e975a565F7ceec9148Cea42',
|
||||||
AaveOracle: '',
|
AaveOracle: '0xB8a7bc0d13B1f5460513040a97F404b4fea7D2f3',
|
||||||
LendingRateOracle: '',
|
LendingRateOracle: '0xfA3c34d734fe0106C87917683ca45dffBe3b3B00',
|
||||||
AaveProtocolDataProvider: '',
|
AaveProtocolDataProvider: '0x71B53fC437cCD988b1b89B1D4605c3c3d0C810ea',
|
||||||
StableDebtToken: '',
|
StableDebtToken: '0xf5cb54A1d47AC211F1608C7b8FB211b5580c8a3f',
|
||||||
VariableDebtToken: '',
|
VariableDebtToken: '0x3E26DAb254342892DFBa7097Dd78845D12A4586c',
|
||||||
AToken: '',
|
AToken: '0x6faeE7AaC498326660aC2B7207B9f67666073111',
|
||||||
aTokenImpl: '',
|
aTokenImpl: '0x6faeE7AaC498326660aC2B7207B9f67666073111',
|
||||||
DefaultReserveInterestRateStrategy: '',
|
DefaultReserveInterestRateStrategy: '0x5E4b5f5eb05E244632e0eA584525F11Dd03f5B38',
|
||||||
rateStrategyAAVE: '',
|
rateStrategyAAVE: '0x5E4b5f5eb05E244632e0eA584525F11Dd03f5B38',
|
||||||
rateStrategyWETH: '',
|
rateStrategyWETH: '0xC2B0945C6D0A842eC2a1345f08c4ef2060452B6A',
|
||||||
WalletBalanceProvider: '',
|
WalletBalanceProvider: '0x457419b361fF5340315De18F626b12eE2eAeDDa1',
|
||||||
PermissionManager: '',
|
PermissionManager: '0xF4a1F5fEA79C3609514A417425971FadC10eCfBE',
|
||||||
PermissionedStableDebtToken: '',
|
PermissionedStableDebtToken: '0x71c60e94C10d90D0386BaC547378c136cb6aD2b4',
|
||||||
PermissionedVariableDebtToken: '',
|
PermissionedVariableDebtToken: '0x82b488281aeF001dAcF106b085cc59EEf0995131',
|
||||||
rateStrategyStable: '',
|
rateStrategyStable: '0x81D7Bb11D682005B3Fca0Ef48381263BeC9b2d1C',
|
||||||
rateStrategyWBTC: '',
|
rateStrategyWBTC: '0x1205ACe6831E5518E00A16f1820cD73ce198bEF6',
|
||||||
PermissionedWETHGateway: '',
|
PermissionedWETHGateway: '0xD51E46B02eCB71357cBdf661E2789EC787d94Af9',
|
||||||
UiPoolDataProvider: '',
|
UiPoolDataProvider: '0xED200aceFd4E63fe17B97B02d2616228d0df5398',
|
||||||
};
|
};
|
||||||
|
|
||||||
const ETH_HOLDER = '0x829BD824B016326A401d083B33D092293333A830';
|
const ETH_HOLDER = '0x829BD824B016326A401d083B33D092293333A830';
|
||||||
|
@ -105,6 +105,7 @@ describe('Aave ARC fork test', () => {
|
||||||
let wethGateway: PermissionedWETHGateway;
|
let wethGateway: PermissionedWETHGateway;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
VL_TRANSFER_NOT_ALLOWED,
|
||||||
LP_INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET,
|
LP_INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET,
|
||||||
PLP_DEPOSITOR_UNAUTHORIZED,
|
PLP_DEPOSITOR_UNAUTHORIZED,
|
||||||
PLP_BORROWER_UNAUTHORIZED,
|
PLP_BORROWER_UNAUTHORIZED,
|
||||||
|
@ -265,6 +266,37 @@ describe('Aave ARC fork test', () => {
|
||||||
console.log(await aToken.balanceOf(await users[2].getAddress()));
|
console.log(await aToken.balanceOf(await users[2].getAddress()));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('User2 tries to transfer aWETH to non-whitelisted user (revert expected)', async () => {
|
||||||
|
const wethData = await helpersContract.getReserveTokensAddresses(weth.address);
|
||||||
|
const aToken = await ATokenFactory.connect(wethData.aTokenAddress, users[0]);
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
aToken.connect(users[2]).transfer(await users[3].getAddress(), 1)
|
||||||
|
).to.be.revertedWith(VL_TRANSFER_NOT_ALLOWED);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('User1 PermissionAdmin removes User2 as depositor and User2 tries to withdrawETH (revert expected)', async () => {
|
||||||
|
const snapId = await evmSnapshot();
|
||||||
|
|
||||||
|
await permissionManager
|
||||||
|
.connect(users[1])
|
||||||
|
.removePermissions([PERMISSIONS.DEPOSITOR], [await users[2].getAddress()]);
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
wethGateway
|
||||||
|
.connect(users[2])
|
||||||
|
.withdrawETH(pool.address, MAX_UINT_AMOUNT, await users[2].getAddress())
|
||||||
|
).to.be.reverted;
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
wethGateway
|
||||||
|
.connect(users[2])
|
||||||
|
.withdrawETH(pool.address, MAX_UINT_AMOUNT, await users[3].getAddress())
|
||||||
|
).to.be.reverted;
|
||||||
|
|
||||||
|
await evmRevert(snapId);
|
||||||
|
});
|
||||||
|
|
||||||
it('User1 Admin add user3 as Depositor', async () => {
|
it('User1 Admin add user3 as Depositor', async () => {
|
||||||
await permissionManager
|
await permissionManager
|
||||||
.connect(users[1])
|
.connect(users[1])
|
||||||
|
@ -284,6 +316,12 @@ describe('Aave ARC fork test', () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('User3 tries to borrowETH with no BORROWER role (revert expected)', async () => {
|
||||||
|
await expect(
|
||||||
|
wethGateway.connect(users[3]).borrowETH(pool.address, '1', 0, 0)
|
||||||
|
).to.be.revertedWith(PLP_BORROWER_UNAUTHORIZED);
|
||||||
|
});
|
||||||
|
|
||||||
it('User1 Admin add user2 as Borrower', async () => {
|
it('User1 Admin add user2 as Borrower', async () => {
|
||||||
await permissionManager
|
await permissionManager
|
||||||
.connect(users[1])
|
.connect(users[1])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user