Skip to content

Commit 959a0c0

Browse files
committed
fix: revert changes of mock minting
1 parent fef7dc4 commit 959a0c0

12 files changed

+104
-103
lines changed

contracts/mocks/swap/MockParaSwapAugustus.sol

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
pragma solidity ^0.8.10;
33

44
import {IParaSwapAugustus} from '../../adapters/paraswap/interfaces/IParaSwapAugustus.sol';
5-
import {IFaucet} from '../testnet-helpers/IFaucet.sol';
65
import {MockParaSwapTokenTransferProxy} from './MockParaSwapTokenTransferProxy.sol';
76
import {IERC20} from '@aave/core-v3/contracts/dependencies/openzeppelin/contracts/IERC20.sol';
7+
import {MintableERC20} from '@aave/core-v3/contracts/mocks/tokens/MintableERC20.sol';
88

99
contract MockParaSwapAugustus is IParaSwapAugustus {
1010
MockParaSwapTokenTransferProxy immutable TOKEN_TRANSFER_PROXY;
11-
IFaucet immutable FAUCET;
1211
bool _expectingSwap;
1312
address _expectedFromToken;
1413
address _expectedToToken;
@@ -21,9 +20,8 @@ contract MockParaSwapAugustus is IParaSwapAugustus {
2120
uint256 _expectedToAmountMax;
2221
uint256 _expectedToAmountMin;
2322

24-
constructor(address faucetMintable) {
23+
constructor() {
2524
TOKEN_TRANSFER_PROXY = new MockParaSwapTokenTransferProxy();
26-
FAUCET = IFaucet(faucetMintable);
2725
}
2826

2927
function getTokenTransferProxy() external view override returns (address) {
@@ -75,7 +73,7 @@ contract MockParaSwapAugustus is IParaSwapAugustus {
7573
);
7674
require(_receivedAmount >= toAmount, 'Received amount of tokens are less than expected');
7775
TOKEN_TRANSFER_PROXY.transferFrom(fromToken, msg.sender, address(this), fromAmount);
78-
FAUCET.mint(toToken, address(this), _receivedAmount);
76+
MintableERC20(toToken).mint(_receivedAmount);
7977
IERC20(toToken).transfer(msg.sender, _receivedAmount);
8078
_expectingSwap = false;
8179
return _receivedAmount;
@@ -96,7 +94,7 @@ contract MockParaSwapAugustus is IParaSwapAugustus {
9694
);
9795
require(_fromAmount <= fromAmount, 'From amount of tokens are higher than expected');
9896
TOKEN_TRANSFER_PROXY.transferFrom(fromToken, msg.sender, address(this), _fromAmount);
99-
FAUCET.mint(toToken, address(this), toAmount);
97+
MintableERC20(toToken).mint(toAmount);
10098
IERC20(toToken).transfer(msg.sender, toAmount);
10199
_expectingSwap = false;
102100
return fromAmount;

test/helpers/make-suite.ts

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import {
5050
impersonateAddress,
5151
getEmissionManager,
5252
getFaucet,
53-
MAX_UINT_AMOUNT,
5453
} from '@aave/deploy-v3';
5554
import { deployATokenMock } from '../rewards/helpers/deploy';
5655
import { parseEther } from 'ethers/lib/utils';
@@ -282,22 +281,34 @@ export async function initializeMakeSuite() {
282281
).address
283282
);
284283

285-
// Increase maximum amount for mints on Faucet for tests
286-
await testEnv.faucetMintable.setMaximumMintAmount(BigNumber.from(10).pow(40)); // 1e40
287-
await testEnv.faucetMintable.mint(
288-
testEnv.aave.address,
289-
rewardsVault.address,
290-
parseEther('60000000000')
284+
// Support direct minting
285+
await waitForTx(
286+
await testEnv.faucetMintable.setProtectedOfChild(
287+
[
288+
testEnv.aave.address,
289+
testEnv.dai.address,
290+
testEnv.usdc.address,
291+
testEnv.rewardToken.address,
292+
],
293+
false
294+
)
291295
);
292-
await testEnv.faucetMintable.mint(
293-
testEnv.rewardToken.address,
294-
rewardsVault.address,
295-
parseEther('200000000')
296+
297+
await waitForTx(
298+
await testEnv.aaveToken
299+
.connect(rewardsVault.signer)
300+
['mint(address,uint256)'](rewardsVault.address, parseEther('60000000000'))
301+
);
302+
await waitForTx(
303+
await testEnv.rewardToken
304+
.connect(rewardsVault.signer)
305+
['mint(address,uint256)'](rewardsVault.address, parseEther('200000000'))
296306
);
297-
await testEnv.faucetMintable.mint(
298-
testEnv.aave.address,
299-
testEnv.stakedTokenStrategy.address,
300-
parseEther('30000000000')
307+
308+
await waitForTx(
309+
await testEnv.aaveToken
310+
.connect(rewardsVault.signer)
311+
.transfer(testEnv.stakedTokenStrategy.address, parseEther('30000000000'))
301312
);
302313
}
303314

test/paraswap/paraswapAdapters.liquiditySwap.spec.ts

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
3636
let evmSnapshotId: string;
3737

3838
before(async () => {
39-
const { addressesProvider, deployer, faucetMintable } = testEnv;
39+
const { addressesProvider, deployer } = testEnv;
4040

41-
mockAugustus = await new MockParaSwapAugustus__factory(await getFirstSigner()).deploy(
42-
faucetMintable.address
43-
);
41+
mockAugustus = await new MockParaSwapAugustus__factory(await getFirstSigner()).deploy();
4442
mockAugustusRegistry = await new MockParaSwapAugustusRegistry__factory(
4543
await getFirstSigner()
4644
).deploy(mockAugustus.address);
@@ -95,20 +93,20 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
9593

9694
describe('executeOperation', () => {
9795
beforeEach(async () => {
98-
const { users, weth, dai, pool, deployer, faucetMintable } = testEnv;
96+
const { users, weth, dai, pool, deployer } = testEnv;
9997
const userAddress = users[0].address;
10098

10199
// Provide liquidity
102-
await faucetMintable.mint(dai.address, deployer.address, parseEther('20000'));
100+
await dai['mint(uint256)'](parseEther('20000'));
103101
await dai.approve(pool.address, parseEther('20000'));
104102
await pool.deposit(dai.address, parseEther('20000'), deployer.address, 0);
105103

106-
await faucetMintable.mint(weth.address, deployer.address, parseEther('10000'));
104+
await weth['mint(uint256)'](parseEther('10000'));
107105
await weth.approve(pool.address, parseEther('10000'));
108106
await pool.deposit(weth.address, parseEther('10000'), deployer.address, 0);
109107

110108
// Make a deposit for user
111-
await faucetMintable.mint(weth.address, deployer.address, parseEther('100'));
109+
await weth['mint(uint256)'](parseEther('100'));
112110
await weth.approve(pool.address, parseEther('100'));
113111
await pool.deposit(weth.address, parseEther('100'), userAddress, 0);
114112
});
@@ -339,7 +337,7 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
339337
});
340338

341339
it('should work correctly with tokens of different decimals', async () => {
342-
const { users, usdc, oracle, dai, aDai, pool, deployer, faucetMintable } = testEnv;
340+
const { users, usdc, oracle, dai, aDai, pool, deployer } = testEnv;
343341
const user = users[0].signer;
344342
const userAddress = users[0].address;
345343

@@ -350,12 +348,12 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
350348
const flashloanTotal = amountUSDCtoSwap.add(flashloanPremium);
351349

352350
// Provider liquidity
353-
await faucetMintable.mint(usdc.address, deployer.address, liquidity);
351+
await usdc['mint(uint256)'](liquidity);
354352
await usdc.approve(pool.address, liquidity);
355353
await pool.deposit(usdc.address, liquidity, deployer.address, 0);
356354

357355
// Make a deposit for user
358-
await faucetMintable.mint(usdc.address, userAddress, flashloanTotal);
356+
await usdc.connect(user)['mint(uint256)'](flashloanTotal);
359357
await usdc.connect(user).approve(pool.address, flashloanTotal);
360358
await pool.connect(user).deposit(usdc.address, flashloanTotal, userAddress, 0);
361359

@@ -509,7 +507,7 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
509507
});
510508

511509
it('should revert when min amount to receive exceeds the max slippage amount (with tokens of different decimals)', async () => {
512-
const { users, usdc, oracle, dai, pool, deployer, faucetMintable } = testEnv;
510+
const { users, usdc, oracle, dai, pool, deployer } = testEnv;
513511
const user = users[0].signer;
514512
const userAddress = users[0].address;
515513

@@ -520,12 +518,12 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
520518
const flashloanTotal = amountUSDCtoSwap.add(flashloanPremium);
521519

522520
// Provider liquidity
523-
await faucetMintable.mint(usdc.address, deployer.address, liquidity);
521+
await usdc['mint(uint256)'](liquidity);
524522
await usdc.approve(pool.address, liquidity);
525523
await pool.deposit(usdc.address, liquidity, deployer.address, 0);
526524

527525
// Make a deposit for user
528-
await faucetMintable.mint(usdc.address, userAddress, flashloanTotal);
526+
await usdc.connect(user)['mint(uint256)'](flashloanTotal);
529527
await usdc.connect(user).approve(pool.address, flashloanTotal);
530528
await pool.connect(user).deposit(usdc.address, flashloanTotal, userAddress, 0);
531529

@@ -915,16 +913,16 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
915913
});
916914

917915
it('should not touch any token balance already in the adapter', async () => {
918-
const { users, weth, oracle, dai, aDai, aWETH, pool, faucetMintable, deployer } = testEnv;
916+
const { users, weth, oracle, dai, aDai, aWETH, pool } = testEnv;
919917
const user = users[0].signer;
920918
const userAddress = users[0].address;
921919

922920
// Put token balances in the adapter
923921
const adapterWethBalanceBefore = parseEther('123');
924-
await faucetMintable.mint(weth.address, deployer.address, adapterWethBalanceBefore);
922+
await weth['mint(uint256)'](adapterWethBalanceBefore);
925923
await weth.transfer(paraswapLiquiditySwapAdapter.address, adapterWethBalanceBefore);
926924
const adapterDaiBalanceBefore = parseEther('234');
927-
await faucetMintable.mint(dai.address, deployer.address, adapterDaiBalanceBefore);
925+
await dai['mint(uint256)'](adapterDaiBalanceBefore);
928926
await dai.transfer(paraswapLiquiditySwapAdapter.address, adapterDaiBalanceBefore);
929927

930928
const amountWETHtoSwap = await parseUnitsFromToken(weth.address, '10');
@@ -1000,28 +998,28 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
1000998

1001999
describe('executeOperation with borrowing', () => {
10021000
beforeEach(async () => {
1003-
const { users, weth, dai, pool, deployer, faucetMintable } = testEnv;
1001+
const { users, weth, dai, pool, deployer } = testEnv;
10041002
const userAddress = users[0].address;
10051003
const borrower = users[1].signer;
10061004
const borrowerAddress = users[1].address;
10071005

10081006
// Provide liquidity
1009-
await faucetMintable.mint(dai.address, deployer.address, parseEther('20000'));
1007+
await dai['mint(uint256)'](parseEther('20000'));
10101008
await dai.approve(pool.address, parseEther('20000'));
10111009
await pool.deposit(dai.address, parseEther('20000'), deployer.address, 0);
10121010

1013-
await faucetMintable.mint(weth.address, deployer.address, parseEther('10000'));
1011+
await weth['mint(uint256)'](parseEther('10000'));
10141012
await weth.approve(pool.address, parseEther('10000'));
10151013
await pool.deposit(weth.address, parseEther('10000'), deployer.address, 0);
10161014

10171015
// Make a deposit for user
1018-
await faucetMintable.mint(weth.address, deployer.address, parseEther('100'));
1016+
await weth['mint(uint256)'](parseEther('100'));
10191017
await weth.approve(pool.address, parseEther('100'));
10201018
await pool.deposit(weth.address, parseEther('100'), userAddress, 0);
10211019

10221020
// Add borrowing
10231021
const collateralAmount = parseEther('30000000');
1024-
await faucetMintable.mint(dai.address, deployer.address, collateralAmount);
1022+
await dai['mint(uint256)'](collateralAmount);
10251023
await dai.approve(pool.address, collateralAmount);
10261024
await pool.deposit(dai.address, collateralAmount, borrowerAddress, 0);
10271025
await pool
@@ -1382,20 +1380,20 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
13821380

13831381
describe('swapAndDeposit', () => {
13841382
beforeEach(async () => {
1385-
const { users, weth, dai, pool, deployer, faucetMintable } = testEnv;
1383+
const { users, weth, dai, pool, deployer } = testEnv;
13861384
const userAddress = users[0].address;
13871385

13881386
// Provide liquidity
1389-
await faucetMintable.mint(dai.address, deployer.address, parseEther('20000'));
1387+
await dai['mint(uint256)'](parseEther('20000'));
13901388
await dai.approve(pool.address, parseEther('20000'));
13911389
await pool.deposit(dai.address, parseEther('20000'), deployer.address, 0);
13921390

1393-
await faucetMintable.mint(weth.address, deployer.address, parseEther('10000'));
1391+
await weth['mint(uint256)'](parseEther('10000'));
13941392
await weth.approve(pool.address, parseEther('10000'));
13951393
await pool.deposit(weth.address, parseEther('10000'), deployer.address, 0);
13961394

13971395
// Make a deposit for user
1398-
await faucetMintable.mint(weth.address, deployer.address, parseEther('100'));
1396+
await weth['mint(uint256)'](parseEther('100'));
13991397
await weth.approve(pool.address, parseEther('100'));
14001398
await pool.deposit(weth.address, parseEther('100'), userAddress, 0);
14011399
});
@@ -2202,16 +2200,16 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
22022200
});
22032201

22042202
it('should not touch any token balance already in the adapter', async () => {
2205-
const { users, weth, oracle, dai, aDai, aWETH, deployer, faucetMintable } = testEnv;
2203+
const { users, weth, oracle, dai, aDai, aWETH } = testEnv;
22062204
const user = users[0].signer;
22072205
const userAddress = users[0].address;
22082206

22092207
// Put token balances in the adapter
22102208
const adapterWethBalanceBefore = parseEther('123');
2211-
await faucetMintable.mint(weth.address, deployer.address, adapterWethBalanceBefore);
2209+
await weth['mint(uint256)'](adapterWethBalanceBefore);
22122210
await weth.transfer(paraswapLiquiditySwapAdapter.address, adapterWethBalanceBefore);
22132211
const adapterDaiBalanceBefore = parseEther('234');
2214-
await faucetMintable.mint(dai.address, deployer.address, adapterDaiBalanceBefore);
2212+
await dai['mint(uint256)'](adapterDaiBalanceBefore);
22152213
await dai.transfer(paraswapLiquiditySwapAdapter.address, adapterDaiBalanceBefore);
22162214

22172215
const amountWETHtoSwap = await parseUnitsFromToken(weth.address, '10');
@@ -2282,28 +2280,28 @@ makeSuite('ParaSwap adapters', (testEnv: TestEnv) => {
22822280

22832281
describe('swapAndDeposit with borrowing', () => {
22842282
beforeEach(async () => {
2285-
const { users, weth, dai, pool, deployer, faucetMintable } = testEnv;
2283+
const { users, weth, dai, pool, deployer } = testEnv;
22862284
const userAddress = users[0].address;
22872285
const borrower = users[1].signer;
22882286
const borrowerAddress = users[1].address;
22892287

22902288
// Provide liquidity
2291-
await faucetMintable.mint(dai.address, deployer.address, parseEther('20000'));
2289+
await dai['mint(uint256)'](parseEther('20000'));
22922290
await dai.approve(pool.address, parseEther('20000'));
22932291
await pool.deposit(dai.address, parseEther('20000'), deployer.address, 0);
22942292

2295-
await faucetMintable.mint(weth.address, deployer.address, parseEther('10000'));
2293+
await weth['mint(uint256)'](parseEther('10000'));
22962294
await weth.approve(pool.address, parseEther('10000'));
22972295
await pool.deposit(weth.address, parseEther('10000'), deployer.address, 0);
22982296

22992297
// Make a deposit for user
2300-
await faucetMintable.mint(weth.address, deployer.address, parseEther('100'));
2298+
await weth['mint(uint256)'](parseEther('100'));
23012299
await weth.approve(pool.address, parseEther('100'));
23022300
await pool.deposit(weth.address, parseEther('100'), userAddress, 0);
23032301

23042302
// Add borrowing
23052303
const collateralAmount = parseEther('30000000');
2306-
await faucetMintable.mint(dai.address, deployer.address, collateralAmount);
2304+
await dai['mint(uint256)'](collateralAmount);
23072305
await dai.approve(pool.address, collateralAmount);
23082306
await pool.deposit(dai.address, collateralAmount, borrowerAddress, 0);
23092307
await pool

0 commit comments

Comments
 (0)