This repository has been archived by the owner on Nov 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 29
/
AaveV3ArbBorrowCapsPayload-Feb12.t.sol
61 lines (45 loc) · 2.2 KB
/
AaveV3ArbBorrowCapsPayload-Feb12.t.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import 'forge-std/Test.sol';
import {AaveGovernanceV2, AaveV3Arbitrum} from 'aave-address-book/AaveAddressBook.sol';
import {AaveV3ArbitrumAssets} from 'aave-address-book/AaveV3Arbitrum.sol';
import {ProtocolV3TestBase, ReserveConfig, ReserveTokens, IERC20} from 'aave-helpers/ProtocolV3TestBase.sol';
import {AaveV3ArbCapsPayload} from '../../contracts/arbitrum/AaveV3ArbCapsPayload-Feb12.sol';
import {TestWithExecutor} from 'aave-helpers/GovHelpers.sol';
contract AaveV3ArbFeb12CapsPayloadTest is ProtocolV3TestBase, TestWithExecutor {
AaveV3ArbCapsPayload public proposalPayload;
address public constant WETH = AaveV3ArbitrumAssets.WETH_UNDERLYING;
address public constant LINK = AaveV3ArbitrumAssets.LINK_UNDERLYING;
uint256 public constant WETH_CAP = 35_280;
uint256 public constant LINK_CAP = 677_000;
function setUp() public {
vm.createSelectFork(vm.rpcUrl('arbitrum'), 60237425);
_selectPayloadExecutor(AaveGovernanceV2.ARBITRUM_BRIDGE_EXECUTOR);
}
function testPoolActivation() public {
proposalPayload = new AaveV3ArbCapsPayload();
createConfigurationSnapshot('pre-arb12', AaveV3Arbitrum.POOL);
_executePayload(address(proposalPayload));
createConfigurationSnapshot('post-arb12', AaveV3Arbitrum.POOL);
diffReports('pre-arb12', 'post-arb12');
}
function testBorrowCapsArb() public {
ReserveConfig[] memory allConfigsBefore = _getReservesConfigs(AaveV3Arbitrum.POOL);
// 1. deploy l2 payload
proposalPayload = new AaveV3ArbCapsPayload();
// 2. execute l2 payload
_executePayload(address(proposalPayload));
//Verify payload:
ReserveConfig[] memory allConfigsAfter = ProtocolV3TestBase._getReservesConfigs(
AaveV3Arbitrum.POOL
);
//LINK
ReserveConfig memory LinkConfig = ProtocolV3TestBase._findReserveConfig(allConfigsBefore, LINK);
LinkConfig.supplyCap = LINK_CAP;
ProtocolV3TestBase._validateReserveConfig(LinkConfig, allConfigsAfter);
//WETH
ReserveConfig memory WETHConfig = ProtocolV3TestBase._findReserveConfig(allConfigsBefore, WETH);
WETHConfig.supplyCap = WETH_CAP;
ProtocolV3TestBase._validateReserveConfig(WETHConfig, allConfigsAfter);
}
}