Skip to content

Commit

Permalink
fix: reimbursement aip (#296)
Browse files Browse the repository at this point in the history
* chore: update aave helpers lib

* chore: remove robot refill from security budget aip

* fix: reference
  • Loading branch information
brotherlymite authored Apr 16, 2024
1 parent a0b14de commit be94106
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 143 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ contract AaveV3Scroll_AaveV3ScrollActivation_20240122_Test is ProtocolV3TestBase
address constant NULL_ADDRESS = 0x000000000000000000000000000000000000dEaD;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('scroll'), 2675703);
vm.createSelectFork(vm.rpcUrl('scroll'), 3196632);
proposal = new AaveV3Scroll_AaveV3ScrollActivation_20240122();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,20 @@ pragma solidity ^0.8.0;

import {AaveV2Ethereum, AaveV2EthereumAssets} from 'aave-address-book/AaveV2Ethereum.sol';
import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol';
import {SafeCast} from 'solidity-utils/contracts/oz-common/SafeCast.sol';
import {SafeERC20} from 'solidity-utils/contracts/oz-common/SafeERC20.sol';
import {IAaveCLRobotOperator} from './interfaces/IAaveCLRobotOperator.sol';

/**
* @title Security Budget Request Dec 23 and Robot Refill
* @title Security Budget Request December 2023
* @author BGD Labs @bgdlabs
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0xf95bc210e3e93c2112c694cb158db22c93504155b48c03d9358e4c41c33ee782
* - Discussion: https://governance.aave.com/t/arfc-bgd-security-budget-request-december-2023/15783
*/
contract AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411 is
IProposalGenericExecutor
{
using SafeERC20 for IERC20;
using SafeCast for uint256;

address public constant BGD_RECIPIENT = 0xb812d0944f8F581DfAA3a93Dda0d22EcEf51A9CF;
uint256 public constant USDC_AMOUNT_REIMBURSEMENT = 42_000e6;
uint256 public constant USDT_AMOUNT_REIMBURSEMENT = 109_200e6;
uint256 public constant LINK_AMOUNT_REIMBURSEMENT = 1640 ether;
uint256 public constant LINK_AMOUNT_ROBOT_1_REFILL = 500 ether; // ROBOT_1: Execution Chain Aave Robot
uint256 public constant LINK_AMOUNT_ROBOT_2_REFILL = 500 ether; // ROBOT_2: Governance Chain Aave Robot

address public constant ROBOT_OPERATOR = 0x020E452b463568f55BAc6Dc5aFC8F0B62Ea5f0f3;
uint256 public constant ROBOT_1_ID =
103962992988872542945147446194468190544109628047207929929141163121857186570465; // Chainlink Automation Id of Execution Chain Aave Robot
uint256 public constant ROBOT_2_ID =
2651260633509968244842245718659958660539758109819220392919944208741153930322; // Chainlink Automation Id of Governance Chain Aave Robot

function execute() external {
AaveV2Ethereum.COLLECTOR.transfer(
Expand All @@ -49,29 +34,5 @@ contract AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411 is
BGD_RECIPIENT,
LINK_AMOUNT_REIMBURSEMENT
);

// refill aave robot
AaveV2Ethereum.COLLECTOR.transfer(
AaveV2EthereumAssets.LINK_A_TOKEN,
address(this),
LINK_AMOUNT_ROBOT_1_REFILL + LINK_AMOUNT_ROBOT_2_REFILL
);
AaveV2Ethereum.POOL.withdraw(
AaveV2EthereumAssets.LINK_UNDERLYING,
type(uint256).max,
address(this)
);

uint256 linkBalance = IERC20(AaveV2EthereumAssets.LINK_UNDERLYING).balanceOf(address(this));
IERC20(AaveV2EthereumAssets.LINK_UNDERLYING).forceApprove(ROBOT_OPERATOR, linkBalance);

IAaveCLRobotOperator(ROBOT_OPERATOR).refillKeeper(
ROBOT_1_ID,
(LINK_AMOUNT_ROBOT_1_REFILL).toUint96()
);
IAaveCLRobotOperator(ROBOT_OPERATOR).refillKeeper(
ROBOT_2_ID,
(linkBalance - LINK_AMOUNT_ROBOT_1_REFILL).toUint96()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ pragma solidity ^0.8.0;

import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol';
import {AaveV2EthereumAssets} from 'aave-address-book/AaveV2Ethereum.sol';
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';

import {ProtocolV3TestBase} from 'aave-helpers/ProtocolV3TestBase.sol';
import {AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411} from './AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.sol';
Expand All @@ -18,8 +17,6 @@ contract AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test i
{
AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411 internal proposal;

event KeeperRefilled(uint256 indexed id, address indexed from, uint96 indexed amount);

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 19631594);
proposal = new AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411();
Expand Down Expand Up @@ -47,20 +44,6 @@ contract AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test i
address(AaveV3Ethereum.COLLECTOR)
);

// Validate the Collector has enough aUSDC v2
assertGe(collectorAUsdcBalanceBefore, proposal.USDC_AMOUNT_REIMBURSEMENT());

// Validate the Collector has enough aUSDT v2
assertGe(collectorAUsdtBalanceBefore, proposal.USDT_AMOUNT_REIMBURSEMENT());

// Validate the Collector has enough aLINK v2
assertGe(
collectorALinkBalanceBefore,
proposal.LINK_AMOUNT_ROBOT_1_REFILL() +
proposal.LINK_AMOUNT_ROBOT_2_REFILL() +
proposal.LINK_AMOUNT_REIMBURSEMENT()
);

uint256 recipientAUsdcBalanceBefore = IERC20(AaveV2EthereumAssets.USDC_A_TOKEN).balanceOf(
proposal.BGD_RECIPIENT()
);
Expand Down Expand Up @@ -119,33 +102,11 @@ contract AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test i
collectorAUsdtBalanceBefore - proposal.USDT_AMOUNT_REIMBURSEMENT(),
3
);

// high delta is because when withdrawing LINK from collector on aave v2, the state update causes claiming rewards to treasury
assertApproxEqAbs(
collectorALinkBalanceAfter,
collectorALinkBalanceBefore -
(proposal.LINK_AMOUNT_REIMBURSEMENT() +
proposal.LINK_AMOUNT_ROBOT_1_REFILL() +
proposal.LINK_AMOUNT_ROBOT_2_REFILL()),
collectorALinkBalanceBefore - proposal.LINK_AMOUNT_REIMBURSEMENT(),
0.3 ether
);
}

function test_robot_refilled() public {
vm.expectEmit();
emit KeeperRefilled(
proposal.ROBOT_1_ID(),
GovernanceV3Ethereum.EXECUTOR_LVL_1,
uint96(proposal.LINK_AMOUNT_ROBOT_1_REFILL())
);

vm.expectEmit();
emit KeeperRefilled(
proposal.ROBOT_2_ID(),
GovernanceV3Ethereum.EXECUTOR_LVL_1,
uint96(proposal.LINK_AMOUNT_ROBOT_2_REFILL())
);

executePayload(vm, address(proposal));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,18 @@ import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGeneric
import {AaveV2Polygon, AaveV2PolygonAssets} from 'aave-address-book/AaveV2Polygon.sol';

/**
* @title Security Budget Request Dec 23 and Robot Refill
* @title Security Budget Request December 2023
* @author BGD Labs @bgdlabs
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0xf95bc210e3e93c2112c694cb158db22c93504155b48c03d9358e4c41c33ee782
* - Discussion: https://governance.aave.com/t/arfc-bgd-security-budget-request-december-2023/15783
*/
contract AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411 is
IProposalGenericExecutor
{
uint256 public constant WMATIC_AMOUNT_REIMBURSEMENT = 3500 ether;
uint256 public constant A_WMATIC_AMOUNT_REIMBURSEMENT = 500 ether;
uint256 public constant A_WMATIC_AMOUNT_REIMBURSEMENT = 4000 ether;
address public constant BGD_RECIPIENT = 0xbCEB4f363f2666E2E8E430806F37e97C405c130b;

function execute() external {
AaveV2Polygon.COLLECTOR.transfer(
AaveV2PolygonAssets.WMATIC_UNDERLYING,
BGD_RECIPIENT,
WMATIC_AMOUNT_REIMBURSEMENT
);
AaveV2Polygon.COLLECTOR.transfer(
AaveV2PolygonAssets.WMATIC_A_TOKEN,
BGD_RECIPIENT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ contract AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test is
AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('polygon'), 55697469);
vm.createSelectFork(vm.rpcUrl('polygon'), 55891985);
proposal = new AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411();
}

Expand All @@ -37,59 +37,29 @@ contract AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test is
uint256 collectorAWmaticBalanceBefore = IERC20(AaveV2PolygonAssets.WMATIC_A_TOKEN).balanceOf(
address(AaveV3Polygon.COLLECTOR)
);
uint256 collectorWmaticBalanceBefore = IERC20(AaveV2PolygonAssets.WMATIC_UNDERLYING).balanceOf(
address(AaveV3Polygon.COLLECTOR)
);

// Validate the Collector has enough aWMatic v2
assertGe(collectorAWmaticBalanceBefore, proposal.A_WMATIC_AMOUNT_REIMBURSEMENT());

// Validate the Collector has enough WMATIC
assertGe(collectorWmaticBalanceBefore, proposal.WMATIC_AMOUNT_REIMBURSEMENT());

uint256 recipientAWmaticBalanceBefore = IERC20(AaveV2PolygonAssets.WMATIC_A_TOKEN).balanceOf(
proposal.BGD_RECIPIENT()
);
uint256 recipientWmaticBalanceBefore = IERC20(AaveV2PolygonAssets.WMATIC_UNDERLYING).balanceOf(
proposal.BGD_RECIPIENT()
);

executePayload(vm, address(proposal));

uint256 recipientAWmaticBalanceAfter = IERC20(AaveV2PolygonAssets.WMATIC_A_TOKEN).balanceOf(
proposal.BGD_RECIPIENT()
);
uint256 recipientWmaticBalanceAfter = IERC20(AaveV2PolygonAssets.WMATIC_UNDERLYING).balanceOf(
proposal.BGD_RECIPIENT()
uint256 collectorAWmaticBalanceAfter = IERC20(AaveV2PolygonAssets.WMATIC_A_TOKEN).balanceOf(
address(AaveV3Polygon.COLLECTOR)
);

assertApproxEqAbs(
recipientAWmaticBalanceAfter,
recipientAWmaticBalanceBefore + proposal.A_WMATIC_AMOUNT_REIMBURSEMENT(),
1
);
assertApproxEqAbs(
recipientWmaticBalanceAfter,
recipientWmaticBalanceBefore + proposal.WMATIC_AMOUNT_REIMBURSEMENT(),
1
);

uint256 collectorAWmaticBalanceAfter = IERC20(AaveV2PolygonAssets.WMATIC_A_TOKEN).balanceOf(
address(AaveV3Polygon.COLLECTOR)
);
uint256 collectorWmaticBalanceAfter = IERC20(AaveV2PolygonAssets.WMATIC_UNDERLYING).balanceOf(
address(AaveV3Polygon.COLLECTOR)
);

assertApproxEqAbs(
collectorAWmaticBalanceAfter,
collectorAWmaticBalanceBefore - proposal.A_WMATIC_AMOUNT_REIMBURSEMENT(),
3
);
assertApproxEqAbs(
collectorWmaticBalanceAfter,
collectorWmaticBalanceBefore - proposal.WMATIC_AMOUNT_REIMBURSEMENT(),
3
);
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: "Security Budget Request Dec 23 and Robot Refill"
title: "Security Budget Request December 2023"
author: "BGD Labs @bgdlabs"
discussions: "https://governance.aave.com/t/arfc-bgd-security-budget-request-december-2023/15783"
snapshot: "https://snapshot.org/#/aave.eth/proposal/0xf95bc210e3e93c2112c694cb158db22c93504155b48c03d9358e4c41c33ee782"
---

## Simple Summary

Proposal to release $151’200 to reimburse BGD Labs for the costs paid towards external security reviews, and 1640 LINK and 4000 MATIC towards the refill of Aave Robot and Aave Delivery Infrastructure. The proposal also refills the Aave Robots with 1000 LINK for future usages.
Proposal to release $151’200 to reimburse BGD Labs for the costs paid towards external security reviews, and 1640 LINK and 4000 MATIC towards the refill of Aave Robot and Aave Delivery Infrastructure.

## Motivation

Expand All @@ -29,26 +29,21 @@ Considering all the above amounts already paid by BGD, we request the following

- Compensation regarding past refills on Aave Robot: 1640 LINK, 4000 MATIC

In addition, the Aave Robots will be refilled with 1000 LINK for future usage.

## Specification

This proposal, will release the following, from the Aave Ethereum Collector to BGD Labs:

- Transfer 42'000 aUSDC v2 Ethereum to `0xb812d0944f8F581DfAA3a93Dda0d22EcEf51A9CF`.
- Transfer 109'200 aUSDT v2 Ethereum to `0xb812d0944f8F581DfAA3a93Dda0d22EcEf51A9CF`.
- Transfer 1640 aLINK v2 Ethereum to `0xb812d0944f8F581DfAA3a93Dda0d22EcEf51A9CF`.
- Transfer 3500 WMATIC Polygon to `0xbCEB4f363f2666E2E8E430806F37e97C405c130b`.
- Transfer 500 aMATIC v2 Polygon to `0xbCEB4f363f2666E2E8E430806F37e97C405c130b`.

In addition, the proposal will refill [Aave Execution Chain Robot](https://etherscan.io/address/0x365d47ceD3D7Eb6a9bdB3814aA23cc06B2D33Ef8) and [Aave Governance Chain Robot](https://etherscan.io/address/0x011824f238AEE05329213d5Ae029e899e5412343) with 500 LINK each by calling the `refill()` method on the [robot operator contract](https://etherscan.io/address/0x020e452b463568f55bac6dc5afc8f0b62ea5f0f3).
- Transfer 4000 aMATIC v2 Polygon to `0xbCEB4f363f2666E2E8E430806F37e97C405c130b`.

_Note: The assets used for transfer has been recommended by the financial contributor to the DAO (TokenLogic & Karpatkey)_

## References

- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/e84c244182da9767d794628272c46c730920778e/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/e84c244182da9767d794628272c46c730920778e/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/e84c244182da9767d794628272c46c730920778e/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/e84c244182da9767d794628272c46c730920778e/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol)
- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol)
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0xf95bc210e3e93c2112c694cb158db22c93504155b48c03d9358e4c41c33ee782)
- [Discussion](https://governance.aave.com/t/arfc-bgd-security-budget-request-december-2023/15783)

Expand Down

This file was deleted.

1 comment on commit be94106

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Foundry report

forge 0.2.0 (ee47bb0 2024-04-16T00:15:57.186444587Z)
Build log
Compiling 587 files with 0.8.19
Solc 0.8.19 finished in 469.42s
Compiler run successful with warnings:
Warning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
  --> src/20240218_AaveV1Ethereum_AaveV1DeprecationPhase2/AaveV1Ethereum_AaveV1Deprecation_20240218.t.sol:86:1:
   |
86 | contract AaveV1Ethereum_AaveV1Deprecation_20240218_Test is ProtocolV2TestBase {
   | ^ (Relevant source part starts here and spans across multiple lines).
Note: The payable fallback function is defined here.
   --> src/20240218_AaveV1Ethereum_AaveV1DeprecationPhase2/AaveV1Ethereum_AaveV1Deprecation_20240218.t.sol:232:3:
    |
232 |   fallback() external payable {}
    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (9302): Return value of low-level calls not used.
  --> src/20231229_Multi_TreasuryManagementGSMFundingRWAStrategyPreparationsPart1/AaveV2Ethereum_TreasuryManagementGSMFundingRWAStrategyPreparationsPart1_20231229.sol:47:5:
   |
47 |     SAFE.call{value: address(this).balance}('');
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:32:3:
   |
32 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:43:3:
   |
43 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:54:3:
   |
54 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:65:3:
   |
65 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:76:3:
   |
76 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:87:3:
   |
87 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:98:3:
   |
98 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
   --> src/20240218_AaveV1Ethereum_AaveV1DeprecationPhase2/AaveV1Ethereum_AaveV1Deprecation_20240218.t.sol:207:3:
    |
207 |   function _getUsers() internal returns (V1User[] memory) {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240308_AaveV3Ethereum_GHOBorrowRateIncrease/GhoInterestRateStrategy.sol:67:3:
   |
67 |   function getBaseVariableBorrowRate() external view override returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240308_AaveV3Ethereum_GHOBorrowRateIncrease/GhoInterestRateStrategy.sol:72:3:
   |
72 |   function getMaxVariableBorrowRate() external view override returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240308_AaveV3Ethereum_GHOBorrowRateIncrease/GhoInterestRateStrategy.sol:77:3:
   |
77 |   function calculateInterestRates(
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240313_Multi_UpdateADIImplementationAndCCIPAdapters/BaseTest.sol:91:3:
   |
91 |   function getTrustedRemoteByChainId(uint256 chainId) public view returns (address) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to view
   --> src/20240313_Multi_UpdateADIImplementationAndCCIPAdapters/BaseTest.sol:316:3:
    |
316 |   function _getCurrentForwarderAdaptersByChain() internal returns (ForwarderAdapters[] memory) {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to view
   --> src/20240313_Multi_UpdateADIImplementationAndCCIPAdapters/BaseTest.sol:341:3:
    |
341 |   function _getCurrentReceiverAdaptersByChain() internal returns (AdaptersByChain[] memory) {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240324_AaveV3Ethereum_GHOStewardsBorrowRateUpdate/GhoInterestRateStrategy.sol:67:3:
   |
67 |   function getBaseVariableBorrowRate() external view override returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240324_AaveV3Ethereum_GHOStewardsBorrowRateUpdate/GhoInterestRateStrategy.sol:72:3:
   |
72 |   function getMaxVariableBorrowRate() external view override returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240324_AaveV3Ethereum_GHOStewardsBorrowRateUpdate/GhoInterestRateStrategy.sol:77:3:
   |
77 |   function calculateInterestRates(
   |   ^ (Relevant source part starts here and spans across multiple lines).

| Contract                                                                                                 | Size (B) | Margin (B) |
|----------------------------------------------------------------------------------------------------------|----------|------------|
| AaveGovernanceV2                                                                                         |       45 |     24,531 |
| AaveSafetyModule                                                                                         |       45 |     24,531 |
| AaveSwapper                                                                                              |    5,572 |     19,004 |
| AaveV1Ethereum_AaveV1Deprecation_20240218                                                                |      297 |     24,279 |
| AaveV2Avalanche                                                                                          |       45 |     24,531 |
| AaveV2AvalancheAssets                                                                                    |       45 |     24,531 |
| AaveV2Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221                            |      336 |     24,240 |
| AaveV2Avalanche_ReserveFactorUpdates_20240404                                                            |    1,022 |     23,554 |
| AaveV2Avalanche_StablecoinIRCurvesUpdates_20231221                                                       |    1,858 |     22,718 |
| AaveV2Avalanche_StablecoinIRUpdates_20240404                                                             |    1,858 |     22,718 |
| AaveV2Ethereum                                                                                           |       45 |     24,531 |
| AaveV2EthereumAMM                                                                                        |       45 |     24,531 |
| AaveV2EthereumAMMAssets                                                                                  |       45 |     24,531 |
| AaveV2EthereumAMM_ARFCDeprecateAaveV2AMMMarketStep2_20240205                                             |    2,894 |     21,682 |
| AaveV2EthereumAssets                                                                                     |       45 |     24,531 |
| AaveV2Ethereum_AMPLInterestRateUpdatesOnV2Ethereum_20240121                                              |    1,602 |     22,974 |
| AaveV2Ethereum_ChaosLabsV2EthereumLTReductions_20240201                                                  |      926 |     23,650 |
| AaveV2Ethereum_EthereumV2ReserveFactorAdjustment_20240304                                                |    4,904 |     19,672 |
| AaveV2Ethereum_EthereumV2ReserveFactorAdjustment_20240320                                                |    1,778 |     22,798 |
| AaveV2Ethereum_InterimAAMPLDistribution_20240409                                                         |    1,681 |     22,895 |
| AaveV2Ethereum_MigrationOfRemainingGovV2Permissions_20240130                                             |      977 |     23,599 |
| AaveV2Ethereum_MigrationOfRemainingGovV2Permissions_Part2_20240130                                       |    1,446 |     23,130 |
| AaveV2Ethereum_ReserveFactorUpdates_20240404                                                             |    1,778 |     22,798 |
| AaveV2Ethereum_StablecoinIRCurvesUpdates_20231221                                                        |    2,839 |     21,737 |
| AaveV2Ethereum_StablecoinIRUpdates_20240404                                                              |    2,839 |     21,737 |
| AaveV2Ethereum_TUSDAndBUSDAaveV2RateAmendments_20240324                                                  |    1,643 |     22,933 |
| AaveV2Ethereum_TreasuryManagementGSMFundingRWAStrategyPreparationsPart1_20231229                         |    3,415 |     21,161 |
| AaveV2Ethereum_UpgradeAMPLImplementation_20240402                                                        |    1,621 |     22,955 |
| AaveV2Ethereum_V2DeprecationPlan20240102_20240103                                                        |      927 |     23,649 |
| AaveV2Polygon                                                                                            |       45 |     24,531 |
| AaveV2PolygonAssets                                                                                      |       45 |     24,531 |
| AaveV2Polygon_ReserveFactorUpdatesFebruary152024_20240208                                                |      831 |     23,745 |
| AaveV2Polygon_ReserveFactorUpdatesFebruary292024_20240229                                                |      683 |     23,893 |
| AaveV2Polygon_ReserveFactorUpdatesJan152024_20240108                                                     |    1,134 |     23,442 |
| AaveV2Polygon_ReserveFactorUpdatesJan312024_20240125                                                     |      831 |     23,745 |
| AaveV2Polygon_ReserveFactorUpdates_20240102                                                              |      995 |     23,581 |
| AaveV2Polygon_ReserveFactorUpdates_20240313                                                              |      535 |     24,041 |
| AaveV2Polygon_ReserveFactorUpdates_20240322                                                              |      535 |     24,041 |
| AaveV2Polygon_StablecoinIRCurvesUpdates_20231221                                                         |    1,858 |     22,718 |
| AaveV2Polygon_StablecoinIRUpdates_20240404                                                               |    1,858 |     22,718 |
| AaveV3Arbitrum                                                                                           |       45 |     24,531 |
| AaveV3ArbitrumAssets                                                                                     |       45 |     24,531 |
| AaveV3ArbitrumEModes                                                                                     |       45 |     24,531 |
| AaveV3Arbitrum_ARBRemoveIsolation_20240315                                                               |      193 |     24,383 |
| AaveV3Arbitrum_AaveProtocolEmbassy_20240220                                                              |      435 |     24,141 |
| AaveV3Arbitrum_AddFlashborrowers_20240306                                                                |      250 |     24,326 |
| AaveV3Arbitrum_AssignEmissionAdminEthereumArbitrumAndOptimism_20240229                                   |      323 |     24,253 |
| AaveV3Arbitrum_GeneralizedLTLTVReductionOnAave_20240324                                                  |    3,815 |     20,761 |
| AaveV3Arbitrum_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                       |    3,362 |     21,214 |
| AaveV3Arbitrum_NativeBridgeAdaptersUpdate_20240322                                                       |    2,445 |     22,131 |
| AaveV3Arbitrum_Patch_20240104                                                                            |      479 |     24,097 |
| AaveV3Arbitrum_SetLiquidityObservationLabsAsEmissionManagerForWstETHOnV3Markets_20240206                 |      212 |     24,364 |
| AaveV3Arbitrum_StablecoinHarmonization_20240312                                                          |    4,469 |     20,107 |
| AaveV3Arbitrum_StablecoinIRCurvesUpdates_20231221                                                        |    4,878 |     19,698 |
| AaveV3Arbitrum_StablecoinIRUpdates_20240404                                                              |    5,381 |     19,195 |
| AaveV3Arbitrum_UpdateADIImplementationAndCCIPAdapters_20240313                                           |      588 |     23,988 |
| AaveV3Arbitrum_UpdateStETHAndWETHRiskParamsOnAaveV3EthereumOptimismAndArbitrum_20240121                  |    3,892 |     20,684 |
| AaveV3Arbitrum_UpdateWETHIROnV3ArbitrumAndOptimism_20240216                                              |    3,622 |     20,954 |
| AaveV3Arbitrum_WeETHArbitrumOnboarding_20240409                                                          |    5,004 |     19,572 |
| AaveV3Avalanche                                                                                          |       45 |     24,531 |
| AaveV3AvalancheAssets                                                                                    |       45 |     24,531 |
| AaveV3AvalancheEModes                                                                                    |       45 |     24,531 |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221                            |    3,513 |     21,063 |
| AaveV3Avalanche_ContangoFlashborrower_20240319                                                           |      250 |     24,326 |
| AaveV3Avalanche_GeneralizedLTLTVReductionOnAave_20240324                                                 |    3,670 |     20,906 |
| AaveV3Avalanche_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                      |    3,377 |     21,199 |
| AaveV3Avalanche_Patch_20240104                                                                           |      479 |     24,097 |
| AaveV3Avalanche_StablecoinHarmonization_20240312                                                         |    3,983 |     20,593 |
| AaveV3Avalanche_StablecoinIRCurvesUpdates_20231221                                                       |    4,628 |     19,948 |
| AaveV3Avalanche_StablecoinIRUpdates_20240404                                                             |    4,628 |     19,948 |
| AaveV3Avalanche_UpdateADIImplementationAndCCIPAdapters_20240313                                          |    3,292 |     21,284 |
| AaveV3BNB                                                                                                |       45 |     24,531 |
| AaveV3BNBAssets                                                                                          |       45 |     24,531 |
| AaveV3BNBEModes                                                                                          |       45 |     24,531 |
| AaveV3BNB_ContangoFlashborrower_20240319                                                                 |      250 |     24,326 |
| AaveV3BNB_GeneralizedLTLTVReductionOnAave_20240324                                                       |    3,528 |     21,048 |
| AaveV3BNB_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                            |    3,380 |     21,196 |
| AaveV3BNB_OnboardFdUSDToAaveV3OnBSC_20240201                                                             |    5,014 |     19,562 |
| AaveV3BNB_SetAaveChanInitiativeAsEmissionManagerForFdUSDOnBNBChainAaveV3_20240208                        |      212 |     24,364 |
| AaveV3BNB_StablecoinIRUpdates_20240404                                                                   |    4,132 |     20,444 |
| AaveV3BNB_UpdateADIImplementationAndCCIPAdapters_20240313                                                |    3,084 |     21,492 |
| AaveV3Base                                                                                               |       45 |     24,531 |
| AaveV3BaseAssets                                                                                         |       45 |     24,531 |
| AaveV3BaseEModes                                                                                         |       45 |     24,531 |
| AaveV3Base_ContangoFlashborrower_20240319                                                                |      250 |     24,326 |
| AaveV3Base_GeneralizedLTLTVReductionOnAave_20240324                                                      |    3,517 |     21,059 |
| AaveV3Base_NativeBridgeAdaptersUpdate_20240322                                                           |    2,445 |     22,131 |
| AaveV3Base_Patch_20240104                                                                                |      479 |     24,097 |
| AaveV3Base_SetLiquidityObservationLabsAsEmissionManagerForWstETHOnV3Markets_20240206                     |      212 |     24,364 |
| AaveV3Base_StablecoinIRCurvesUpdates_20231221                                                            |    3,618 |     20,958 |
| AaveV3Base_StablecoinIRUpdates_20240404                                                                  |    3,868 |     20,708 |
| AaveV3Base_UpdateADIImplementationAndCCIPAdapters_20240313                                               |      588 |     23,988 |
| AaveV3Ethereum                                                                                           |       45 |     24,531 |
| AaveV3EthereumAssets                                                                                     |       45 |     24,531 |
| AaveV3EthereumEModes                                                                                     |       45 |     24,531 |
| AaveV3Ethereum_AaveBGDPhase3_20240325                                                                    |    2,253 |     22,323 |
| AaveV3Ethereum_AaveLiquidityCommiteeFunding_20240306                                                     |    1,964 |     22,612 |
| AaveV3Ethereum_ActivateGhoStewards_20240326                                                              |    1,633 |     22,943 |
| AaveV3Ethereum_ActivationOfACPrimeFoundation_20240308                                                    |      502 |     24,074 |
| AaveV3Ethereum_AddFlashborrowers_20240306                                                                |    1,223 |     23,353 |
| AaveV3Ethereum_AddPYUSDToAaveV3EthereumMarket_20240125                                                   |    4,993 |     19,583 |
| AaveV3Ethereum_AmendSafetyModuleEmissions_20240229                                                       |    2,399 |     22,177 |
| AaveV3Ethereum_AssignEmissionAdminEthereumArbitrumAndOptimism_20240229                                   |      967 |     23,609 |
| AaveV3Ethereum_BorrowCapReductionsOnAaveV3Ethereum_20240311                                              |    4,328 |     20,248 |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesIncreaseDebtCeilingForSNXAndMKROnV3Ethereum01312024_20240211 |    3,533 |     21,043 |
| AaveV3Ethereum_CutGauntletServiceProviderStream_20240227                                                 |      479 |     24,097 |
| AaveV3Ethereum_FundingUpdatePartB_20240324                                                               |    4,321 |     20,255 |
| AaveV3Ethereum_FundingUpdate_20240224                                                                    |   10,540 |     14,036 |
| AaveV3Ethereum_GHOBorrowRateIncrease20240229_20240229                                                    |      285 |     24,291 |
| AaveV3Ethereum_GHOBorrowRateIncrease_20240308                                                            |      233 |     24,343 |
| AaveV3Ethereum_GHOStewardsBorrowRateUpdate_20240324                                                      |      233 |     24,343 |
| AaveV3Ethereum_GeneralizedLTLTVReductionOnAave_20240324                                                  |    3,815 |     20,761 |
| AaveV3Ethereum_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                       |    3,376 |     21,200 |
| AaveV3Ethereum_MeritApprovals_20240306                                                                   |      534 |     24,042 |
| AaveV3Ethereum_NativeBridgeAdaptersUpdate_20240322                                                       |    4,897 |     19,679 |
| AaveV3Ethereum_OrbitProgram_20240220                                                                     |    2,308 |     22,268 |
| AaveV3Ethereum_Patch_20240104                                                                            |      479 |     24,097 |
| AaveV3Ethereum_RegisterADIScrollAdapter_20240122                                                         |      630 |     23,946 |
| AaveV3Ethereum_RequestForBountyPayoutJanuary2024_20240125                                                |      781 |     23,795 |
| AaveV3Ethereum_RetroactiveBugBountyPreImmunefi_20240205                                                  |      782 |     23,794 |
| AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411                                         |      702 |     23,874 |
| AaveV3Ethereum_SetLiquidityObservationLabsAsEmissionManagerForWstETHOnV3Markets_20240206                 |      212 |     24,364 |
| AaveV3Ethereum_StableRateBugBounty_20240207                                                              |      768 |     23,808 |
| AaveV3Ethereum_StablecoinHarmonization_20240312                                                          |    5,299 |     19,277 |
| AaveV3Ethereum_StablecoinIRCurvesUpdates_20231221                                                        |    4,627 |     19,949 |
| AaveV3Ethereum_StablecoinIRUpdates_20240404                                                              |    5,130 |     19,446 |
| AaveV3Ethereum_StkGHOActivation_20240119                                                                 |    1,115 |     23,461 |
| AaveV3Ethereum_TreasuryManagementGSMFundingRWAStrategyPreparationsPart2_20240209                         |    3,098 |     21,478 |
| AaveV3Ethereum_UpdateADIImplementationAndCCIPAdapters_20240313                                           |    3,553 |     21,023 |
| AaveV3Ethereum_UpdateStETHAndWETHRiskParamsOnAaveV3EthereumOptimismAndArbitrum_20240121                  |    3,905 |     20,671 |
| AaveV3Ethereum_WeETHListing_20240320                                                                     |    5,001 |     19,575 |
| AaveV3Fantom                                                                                             |       45 |     24,531 |
| AaveV3FantomAssets                                                                                       |       45 |     24,531 |
| AaveV3FantomEModes                                                                                       |       45 |     24,531 |
| AaveV3GenericPatch_20240104                                                                              |      479 |     24,097 |
| AaveV3Gnosis                                                                                             |       45 |     24,531 |
| AaveV3GnosisAssets                                                                                       |       45 |     24,531 |
| AaveV3GnosisEModes                                                                                       |       45 |     24,531 |
| AaveV3Gnosis_ContangoFlashborrower_20240319                                                              |      250 |     24,326 |
| AaveV3Gnosis_EUReEmissionsManager_20240327                                                               |      285 |     24,291 |
| AaveV3Gnosis_GeneralizedLTLTVReductionOnAave_20240324                                                    |    3,667 |     20,909 |
| AaveV3Gnosis_NativeBridgeAdaptersUpdate_20240322                                                         |    2,580 |     21,996 |
| AaveV3Gnosis_Patch_20240104                                                                              |      479 |     24,097 |
| AaveV3Gnosis_StablecoinHarmonization_20240312                                                            |    3,571 |     21,005 |
| AaveV3Gnosis_StablecoinIRCurvesUpdates_20231221                                                          |    3,870 |     20,706 |
| AaveV3Gnosis_StablecoinIRUpdates_20240404                                                                |    4,123 |     20,453 |
| AaveV3Gnosis_UpdateADIImplementationAndCCIPAdapters_20240313                                             |      588 |     23,988 |
| AaveV3Harmony                                                                                            |       45 |     24,531 |
| AaveV3HarmonyAssets                                                                                      |       45 |     24,531 |
| AaveV3HarmonyEModes                                                                                      |       45 |     24,531 |
| AaveV3Metis                                                                                              |       45 |     24,531 |
| AaveV3MetisAssets                                                                                        |       45 |     24,531 |
| AaveV3MetisEModes                                                                                        |       45 |     24,531 |
| AaveV3Metis_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                          |    3,370 |     21,206 |
| AaveV3Metis_NativeBridgeAdaptersUpdate_20240322                                                          |    2,445 |     22,131 |
| AaveV3Metis_StablecoinHarmonization_20240312                                                             |    3,397 |     21,179 |
| AaveV3Metis_StablecoinIRCurvesUpdates_20231221                                                           |    3,869 |     20,707 |
| AaveV3Metis_UpdateADIImplementationAndCCIPAdapters_20240313                                              |      588 |     23,988 |
| AaveV3Optimism                                                                                           |       45 |     24,531 |
| AaveV3OptimismAssets                                                                                     |       45 |     24,531 |
| AaveV3OptimismEModes                                                                                     |       45 |     24,531 |
| AaveV3Optimism_AddFlashborrowers_20240306                                                                |      250 |     24,326 |
| AaveV3Optimism_AssignEmissionAdminEthereumArbitrumAndOptimism_20240229                                   |      310 |     24,266 |
| AaveV3Optimism_GauntletRecommendationForMAIMIMATICDeprecationPhase2_20240122                             |    3,375 |     21,201 |
| AaveV3Optimism_GeneralizedLTLTVReductionOnAave_20240324                                                  |    3,815 |     20,761 |
| AaveV3Optimism_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                       |    3,362 |     21,214 |
| AaveV3Optimism_NativeBridgeAdaptersUpdate_20240322                                                       |    2,445 |     22,131 |
| AaveV3Optimism_Patch_20240104                                                                            |      479 |     24,097 |
| AaveV3Optimism_SetLiquidityObservationLabsAsEmissionManagerForWstETHOnV3Markets_20240206                 |      212 |     24,364 |
| AaveV3Optimism_StablecoinHarmonization_20240312                                                          |    3,749 |     20,827 |
| AaveV3Optimism_StablecoinIRCurvesUpdates_20231221                                                        |    4,878 |     19,698 |
| AaveV3Optimism_StablecoinIRUpdates_20240404                                                              |    5,130 |     19,446 |
| AaveV3Optimism_UpdateADIImplementationAndCCIPAdapters_20240313                                           |      588 |     23,988 |
| AaveV3Optimism_UpdateStETHAndWETHRiskParamsOnAaveV3EthereumOptimismAndArbitrum_20240121                  |    3,892 |     20,684 |
| AaveV3Optimism_UpdateWETHIROnV3ArbitrumAndOptimism_20240216                                              |    3,609 |     20,967 |
| AaveV3Polygon                                                                                            |       45 |     24,531 |
| AaveV3PolygonAssets                                                                                      |       45 |     24,531 |
| AaveV3PolygonEModes                                                                                      |       45 |     24,531 |
| AaveV3Polygon_ContangoFlashborrower_20240319                                                             |      250 |     24,326 |
| AaveV3Polygon_FreezeAndSetLTVTo0ForDPIBALCRVAndSUSHIOnAaveV3Polygon20240119_20240130                     |    4,355 |     20,221 |
| AaveV3Polygon_FundingUpdate_20240224                                                                     |    2,902 |     21,674 |
| AaveV3Polygon_GeneralizedLTLTVReductionOnAave_20240324                                                   |    3,814 |     20,762 |
| AaveV3Polygon_HarmonizeUSDTRiskParametersOnAaveV3Markets_20240115                                        |    3,361 |     21,215 |
| AaveV3Polygon_MaticXSupplyCapIncreaseInPolygonV3_20240206                                                |    3,294 |     21,282 |
| AaveV3Polygon_NativeBridgeAdaptersUpdate_20240322                                                        |    2,853 |     21,723 |
| AaveV3Polygon_Patch_20240104                                                                             |      479 |     24,097 |
| AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411                                          |      342 |     24,234 |
| AaveV3Polygon_SetLiquidityObservationLabsAsEmissionManagerForWstETHOnV3Markets_20240206                  |      212 |     24,364 |
| AaveV3Polygon_StablecoinHarmonization_20240312                                                           |    3,975 |     20,601 |
| AaveV3Polygon_StablecoinIRCurvesUpdates_20231221                                                         |    4,375 |     20,201 |
| AaveV3Polygon_StablecoinIRUpdates_20240404                                                               |    5,129 |     19,447 |
| AaveV3Polygon_TreasuryManagementGSMFundingRWAStrategyPreparationsPart1_20231229                          |    3,418 |     21,158 |
| AaveV3Polygon_UpdateADIImplementationAndCCIPAdapters_20240313                                            |    3,292 |     21,284 |
| AaveV3Scroll                                                                                             |       45 |     24,531 |
| AaveV3ScrollAssets                                                                                       |       45 |     24,531 |
| AaveV3ScrollEModes                                                                                       |       45 |     24,531 |
| AaveV3Scroll_AaveV3ScrollActivation_20240122                                                             |    6,600 |     17,976 |
| AaveV3Scroll_ContangoFlashborrower_20240319                                                              |      250 |     24,326 |
| AaveV3Scroll_GeneralizedLTLTVReductionOnAave_20240324                                                    |    3,374 |     21,202 |
| AaveV3Scroll_NativeBridgeAdaptersUpdate_20240322                                                         |    2,445 |     22,131 |
| AaveV3Scroll_StablecoinIRUpdates_20240404                                                                |    3,620 |     20,956 |
| AaveV3Scroll_UpdateADIImplementationAndCCIPAdapters_20240313                                             |      588 |     23,988 |
| AaveV3Scroll_V3PeripheryMaintenance_20240314                                                             |      250 |     24,326 |
| Address                                                                                                  |       45 |     24,531 |
| BaseCCCImplementationUpdatePayload                                                                       |      588 |     23,988 |
| ChainHelpers                                                                                             |       45 |     24,531 |
| ChainIds                                                                                                 |       45 |     24,531 |
| ConfiguratorInputTypes                                                                                   |       45 |     24,531 |
| Create2Utils                                                                                             |      123 |     24,453 |
| DataTypes                                                                                                |       45 |     24,531 |
| ERC1967Proxy                                                                                             |      136 |     24,440 |
| EngineFlags                                                                                              |       45 |     24,531 |
| EnumerableSet                                                                                            |       45 |     24,531 |
| EnvelopeUtils                                                                                            |       45 |     24,531 |
| Errors                                                                                                   |    4,673 |     19,903 |
| GhoInterestRateStrategy                                                                                  |      671 |     23,905 |
| Gho_GHOStabilityModule_20240119                                                                          |    4,494 |     20,082 |
| GovHelpers                                                                                               |       45 |     24,531 |
| GovV3Helpers                                                                                             |    2,581 |     21,995 |
| GovV3StorageHelpers                                                                                      |       45 |     24,531 |
| GovernanceV3Arbitrum                                                                                     |       45 |     24,531 |
| GovernanceV3Avalanche                                                                                    |       45 |     24,531 |
| GovernanceV3BNB                                                                                          |       45 |     24,531 |
| GovernanceV3Base                                                                                         |       45 |     24,531 |
| GovernanceV3Ethereum                                                                                     |       45 |     24,531 |
| GovernanceV3Gnosis                                                                                       |       45 |     24,531 |
| GovernanceV3Metis                                                                                        |       45 |     24,531 |
| GovernanceV3Optimism                                                                                     |       45 |     24,531 |
| GovernanceV3Polygon                                                                                      |       45 |     24,531 |
| GovernanceV3PolygonZkEvm                                                                                 |       45 |     24,531 |
| GovernanceV3Scroll                                                                                       |       45 |     24,531 |
| IpfsUtils                                                                                                |       45 |     24,531 |
| MainnetPayload                                                                                           |    2,583 |     21,993 |
| MiscArbitrum                                                                                             |       45 |     24,531 |
| MiscAvalanche                                                                                            |       45 |     24,531 |
| MiscBNB                                                                                                  |       45 |     24,531 |
| MiscBase                                                                                                 |       45 |     24,531 |
| MiscEthereum                                                                                             |       45 |     24,531 |
| MiscGnosis                                                                                               |       45 |     24,531 |
| MiscMetis                                                                                                |       45 |     24,531 |
| MiscOptimism                                                                                             |       45 |     24,531 |
| MiscPolygon                                                                                              |       45 |     24,531 |
| MiscScroll                                                                                               |       45 |     24,531 |
| MockExecutor                                                                                             |      396 |     24,180 |
| OrbitProgramData                                                                                         |      488 |     24,088 |
| ParaswapClaim                                                                                            |       22 |     24,554 |
| ParaswapClaimer                                                                                          |      159 |     24,417 |
| Payloads                                                                                                 |      484 |     24,092 |
| PayloadsControllerUtils                                                                                  |       45 |     24,531 |
| PayloadsToDeploy                                                                                         |       45 |     24,531 |
| PolygonPayload                                                                                           |    1,593 |     22,983 |
| PoolAddresses                                                                                            |      316 |     24,260 |
| ProxyAdmin                                                                                               |    1,642 |     22,934 |
| ProxyHelpers                                                                                             |       45 |     24,531 |
| ReserveConfiguration                                                                                     |      130 |     24,446 |
| RewardsDataTypes                                                                                         |       45 |     24,531 |
| SafeERC20                                                                                                |       45 |     24,531 |
| StataPayloads                                                                                            |       45 |     24,531 |
| StorageHelpers                                                                                           |       45 |     24,531 |
| StorageSlot                                                                                              |       45 |     24,531 |
| TransactionUtils                                                                                         |       45 |     24,531 |
| TransparentUpgradeableProxy                                                                              |    2,040 |     22,536 |
| WadRayMath                                                                                               |       45 |     24,531 |
Test success 🌈
No files changed, compilation skipped

Ran 5 tests for src/20240122_AaveV3Scroll_AaveV3ScrollActivation/AaveV3Scroll_AaveV3ScrollActivation_20240122.t.sol:AaveV3Scroll_AaveV3ScrollActivation_20240122_Test
[PASS] test_AdminPermissions() (gas: 8281867)
[PASS] test_SeedUSDCFunds() (gas: 8291900)
[PASS] test_SeedWETHFunds() (gas: 8291979)
[PASS] test_SeedwstETHFunds() (gas: 8291857)
[PASS] test_defaultProposalExecution_scroll() (gas: 12616120)
Logs:
  0x5300000000000000000000000000000000000004
  0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4
  0xf610A9dfB7C89644979b4A0f27063E9e7d7Cda32
  E2E: Collateral WETH, TestAsset WETH
  SUPPLY: WETH, Amount: 39714115729971819732
  SUPPLY: WETH, Amount: 397141157299718197
  WITHDRAW: WETH, Amount: 198570578649859098
  WITHDRAW: WETH, Amount: 198570578649859099
  BORROW: WETH, Amount 397141157299718197, Stable: false
  REPAY: WETH, Amount: 397141157299718197
  E2E: Collateral WETH, TestAsset USDC
  SUPPLY: WETH, Amount: 39714115729971819732
  SUPPLY: USDC, Amount: 999917396
  WITHDRAW: USDC, Amount: 499958698
  WITHDRAW: USDC, Amount: 499958698
  BORROW: USDC, Amount 999917396, Stable: false
  REPAY: USDC, Amount: 999917396
  E2E: Collateral WETH, TestAsset wstETH
  SUPPLY: WETH, Amount: 39714115729971819732
  SUPPLY: wstETH, Amount: 343426591646503992
  WITHDRAW: wstETH, Amount: 171713295823251996
  WITHDRAW: wstETH, Amount: 171713295823251996
  BORROW: wstETH, Amount 343426591646503992, Stable: false
  REPAY: wstETH, Amount: 343426591646503992

Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 20.17s (59.47s CPU time)

Ran 1 test suite in 20.17s (20.17s CPU time): 5 tests passed, 0 failed, 0 skipped (5 total tests)
No files changed, compilation skipped

Ran 2 tests for src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol:AaveV3Ethereum_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test
[PASS] test_consistentBalances() (gas: 429785)
[PASS] test_defaultProposalExecution() (gas: 217509406)
Logs:
  0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
  0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
  0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599
  0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
  0x6B175474E89094C44Da98b954EedeAC495271d0F
  0x514910771AF9Ca656af840dff83E8264EcF986CA
  0xBe9895146f7AF43049ca1c1AE358B0541Ea49704
  0xdAC17F958D2ee523a2206206994597C13D831ec7
  0xae78736Cd615f374D3085123A210448E74Fc6393
  0x5f98805A4E8be255a32880FDeC7F6728C6568bA0
  0xD533a949740bb3306d119CC777fa900bA034cd52
  0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2
  0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F
  0xba100000625a3754423978a60c9317c58a424e3D
  0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984
  0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32
  0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72
  0x111111111117dC0aa78b770fA6A738034120C302
  0x853d955aCEf822Db058eb8505911ED77F175b99e
  0xD33526068D116cE69F19A9ee46F0bd304F21A51f
  0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6
  0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202
  0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0
  0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E
  0x6c3ea9036406852006290770BEdFcAbA0e23A0e8
  E2E: Collateral WETH, TestAsset WETH
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: WETH, Amount: 278557398033228777
  WITHDRAW: WETH, Amount: 139278699016614388
  WITHDRAW: WETH, Amount: 139278699016614388
  BORROW: WETH, Amount 278557398033228777, Stable: false
  REPAY: WETH, Amount: 278557398033228777
  E2E: Collateral WETH, TestAsset wstETH
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: wstETH, Amount: 239485103669338181
  WITHDRAW: wstETH, Amount: 119742551834669090
  WITHDRAW: wstETH, Amount: 119742551834669092
  BORROW: wstETH, Amount 239485103669338181, Stable: false
  REPAY: wstETH, Amount: 239485103669338181
  E2E: Collateral WETH, TestAsset WBTC
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: WBTC, Amount: 1411822
  WITHDRAW: WBTC, Amount: 705911
  WITHDRAW: WBTC, Amount: 705912
  BORROW: WBTC, Amount 1411822, Stable: false
  REPAY: WBTC, Amount: 1411822
  E2E: Collateral WETH, TestAsset USDC
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: USDC, Amount: 999979200
  WITHDRAW: USDC, Amount: 499989600
  WITHDRAW: USDC, Amount: 499989600
  BORROW: USDC, Amount 999979200, Stable: false
  REPAY: USDC, Amount: 999979200
  E2E: Collateral WETH, TestAsset DAI
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: DAI, Amount: 1000222049294943477451
  WITHDRAW: DAI, Amount: 500111024647471738725
  WITHDRAW: DAI, Amount: 500111024647471738727
  BORROW: DAI, Amount 1000222049294943477451, Stable: false
  REPAY: DAI, Amount: 1000222049294943477451
  E2E: Collateral WETH, TestAsset LINK
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: LINK, Amount: 56931721786061975872
  WITHDRAW: LINK, Amount: 28465860893030987936
  WITHDRAW: LINK, Amount: 28465860893030987936
  BORROW: LINK, Amount 56931721786061975872, Stable: false
  REPAY: LINK, Amount: 56931721786061975872
  E2E: Collateral WETH, TestAsset AAVE
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: AAVE, Amount: 8175006712567499246
  WITHDRAW: AAVE, Amount: 4087503356283749623
  WITHDRAW: AAVE, Amount: 4087503356283749623
  E2E: Collateral WETH, TestAsset cbETH
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: cbETH, Amount: 260669560241453272
  WITHDRAW: cbETH, Amount: 130334780120726636
  WITHDRAW: cbETH, Amount: 130334780120726636
  BORROW: cbETH, Amount 260669560241453272, Stable: false
  REPAY: cbETH, Amount: 260669560241453272
  E2E: Collateral WETH, TestAsset USDT
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: USDT, Amount: 1000399279
  WITHDRAW: USDT, Amount: 500199639
  WITHDRAW: USDT, Amount: 500199639
  BORROW: USDT, Amount 1000399279, Stable: false
  REPAY: USDT, Amount: 1000399279
  E2E: Collateral WETH, TestAsset rETH
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: rETH, Amount: 252490297498123738
  WITHDRAW: rETH, Amount: 126245148749061869
  WITHDRAW: rETH, Amount: 126245148749061869
  BORROW: rETH, Amount 252490297498123738, Stable: false
  REPAY: rETH, Amount: 252490297498123738
  E2E: Collateral WETH, TestAsset LUSD
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: LUSD, Amount: 1001540790382740615818
  WITHDRAW: LUSD, Amount: 500770395191370307909
  WITHDRAW: LUSD, Amount: 500770395191370307908
  BORROW: LUSD, Amount 1001540790382740615818, Stable: false
  REPAY: LUSD, Amount: 1001540790382740615818
  E2E: Collateral WETH, TestAsset CRV
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: CRV, Amount: 1612723771269387298339
  WITHDRAW: CRV, Amount: 806361885634693649169
  WITHDRAW: CRV, Amount: 806361885634693649170
  BORROW: CRV, Amount 1612723771269387298339, Stable: false
  REPAY: CRV, Amount: 1612723771269387298339
  E2E: Collateral WETH, TestAsset MKR
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: MKR, Amount: 293026459872935926
  WITHDRAW: MKR, Amount: 146513229936467963
  WITHDRAW: MKR, Amount: 146513229936467963
  BORROW: MKR, Amount 293026459872935926, Stable: false
  REPAY: MKR, Amount: 293026459872935926
  E2E: Collateral WETH, TestAsset SNX
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: SNX, Amount: 252426449243351718393
  WITHDRAW: SNX, Amount: 126213224621675859196
  WITHDRAW: SNX, Amount: 126213224621675859197
  BORROW: SNX, Amount 252426449243351718393, Stable: false
  REPAY: SNX, Amount: 252426449243351718393
  E2E: Collateral WETH, TestAsset BAL
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: BAL, Amount: 201983477751519925670
  WITHDRAW: BAL, Amount: 100991738875759962835
  WITHDRAW: BAL, Amount: 100991738875759962835
  BORROW: BAL, Amount 201983477751519925670, Stable: false
  REPAY: BAL, Amount: 201983477751519925670
  E2E: Collateral WETH, TestAsset UNI
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: UNI, Amount: 107815095119447190261
  WITHDRAW: UNI, Amount: 53907547559723595130
  WITHDRAW: UNI, Amount: 53907547559723595131
  BORROW: UNI, Amount 107815095119447190261, Stable: false
  REPAY: UNI, Amount: 107815095119447190261
  E2E: Collateral WETH, TestAsset LDO
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: LDO, Amount: 383491656713332462500
  WITHDRAW: LDO, Amount: 191745828356666231250
  WITHDRAW: LDO, Amount: 191745828356666231250
  BORROW: LDO, Amount 383491656713332462500, Stable: false
  REPAY: LDO, Amount: 383491656713332462500
  E2E: Collateral WETH, TestAsset ENS
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: ENS, Amount: 48943234349105411818
  WITHDRAW: ENS, Amount: 24471617174552705909
  WITHDRAW: ENS, Amount: 24471617174552705909
  BORROW: ENS, Amount 48943234349105411818, Stable: false
  REPAY: ENS, Amount: 48943234349105411818
  E2E: Collateral WETH, TestAsset 1INCH
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: 1INCH, Amount: 1785841845846131866561
  WITHDRAW: 1INCH, Amount: 892920922923065933280
  WITHDRAW: 1INCH, Amount: 892920922923065933282
  BORROW: 1INCH, Amount 1785841845846131866561, Stable: false
  REPAY: 1INCH, Amount: 1785841845846131866561
  E2E: Collateral WETH, TestAsset FRAX
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: FRAX, Amount: 1003105715606088009084
  WITHDRAW: FRAX, Amount: 501552857803044004542
  WITHDRAW: FRAX, Amount: 501552857803044004543
  BORROW: FRAX, Amount 1003105715606088009084, Stable: false
  REPAY: FRAX, Amount: 1003105715606088009084
  E2E: Collateral WETH, TestAsset GHO
  SUPPLY: WETH, Amount: 27855739803322877774
  BORROW: GHO, Amount 1000000000000000000000, Stable: false
  REPAY: GHO, Amount: 1000000000000000000000
  E2E: Collateral WETH, TestAsset RPL
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: RPL, Amount: 35495187322377889769
  WITHDRAW: RPL, Amount: 17747593661188944884
  WITHDRAW: RPL, Amount: 17747593661188944885
  BORROW: RPL, Amount 35495187322377889769, Stable: false
  REPAY: RPL, Amount: 35495187322377889769
  E2E: Collateral WETH, TestAsset sDAI
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: sDAI, Amount: 933451559329429682473
  WITHDRAW: sDAI, Amount: 466725779664714841236
  WITHDRAW: sDAI, Amount: 466725779664714841238
  E2E: TestAsset STG SKIPPED
  E2E: TestAsset KNC SKIPPED
  E2E: TestAsset FXS SKIPPED
  E2E: Collateral WETH, TestAsset crvUSD
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: crvUSD, Amount: 1008654935142327717172
  WITHDRAW: crvUSD, Amount: 504327467571163858586
  WITHDRAW: crvUSD, Amount: 504327467571163858585
  BORROW: crvUSD, Amount 1008654935142327717172, Stable: false
  REPAY: crvUSD, Amount: 1008654935142327717172
  E2E: Collateral WETH, TestAsset PYUSD
  SUPPLY: WETH, Amount: 27855739803322877774
  SUPPLY: PYUSD, Amount: 1000320102
  WITHDRAW: PYUSD, Amount: 500160051
  WITHDRAW: PYUSD, Amount: 500160051
  BORROW: PYUSD, Amount 1000320102, Stable: false
  REPAY: PYUSD, Amount: 1000320102

Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.40s (1.30s CPU time)

Ran 1 test suite in 1.40s (1.40s CPU time): 2 tests passed, 0 failed, 0 skipped (2 total tests)
No files changed, compilation skipped

Ran 2 tests for src/20240411_Multi_SecurityBudgetRequestDec23AndRobotRefill/AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411.t.sol:AaveV3Polygon_SecurityBudgetRequestDec23AndRobotRefill_20240411_Test
[PASS] test_consistentBalances() (gas: 272420)
[PASS] test_defaultProposalExecution() (gas: 109340805)
Logs:
  0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063
  0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39
  0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
  0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6
  0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619
  0xc2132D05D31c914a87C6611C10748AEb04B58e8F
  0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270
  0x172370d5Cd63279eFa6d502DAB29171933a610AF
  0x0b3F868E0BE5597D5DB7fEB59E1CADBb0fdDa50a
  0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7
  0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3
  0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369
  0xE111178A87A3BFf0c8d18DECBa5798827539Ae99
  0x4e3Decbb3645551B8A19f0eA1678079FCB33fB4c
  0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4
  0xa3Fa99A148fA48D14Ed51d610c367C61876997F1
  0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6
  0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD
  0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
  E2E: Collateral DAI, TestAsset DAI
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: DAI, Amount: 1000135018227460707195
  WITHDRAW: DAI, Amount: 500067509113730353597
  WITHDRAW: DAI, Amount: 500067509113730353598
  BORROW: DAI, Amount 1000135018227460707195, Stable: false
  REPAY: DAI, Amount: 1000135018227460707195
  E2E: Collateral DAI, TestAsset LINK
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: LINK, Amount: 75971483541463733380
  WITHDRAW: LINK, Amount: 37985741770731866690
  WITHDRAW: LINK, Amount: 37985741770731866691
  BORROW: LINK, Amount 75971483541463733380, Stable: false
  REPAY: LINK, Amount: 75971483541463733380
  E2E: Collateral DAI, TestAsset USDC
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: USDC, Amount: 999973900
  WITHDRAW: USDC, Amount: 499986950
  WITHDRAW: USDC, Amount: 499986949
  BORROW: USDC, Amount 999973900, Stable: false
  REPAY: USDC, Amount: 999973900
  E2E: Collateral DAI, TestAsset WBTC
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: WBTC, Amount: 1590305
  WITHDRAW: WBTC, Amount: 795152
  WITHDRAW: WBTC, Amount: 795153
  BORROW: WBTC, Amount 1590305, Stable: false
  REPAY: WBTC, Amount: 1590305
  E2E: Collateral DAI, TestAsset WETH
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: WETH, Amount: 325076276710257986
  WITHDRAW: WETH, Amount: 162538138355128993
  WITHDRAW: WETH, Amount: 162538138355128993
  BORROW: WETH, Amount 325076276710257986, Stable: false
  REPAY: WETH, Amount: 325076276710257986
  E2E: Collateral DAI, TestAsset USDT
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: USDT, Amount: 999613029
  WITHDRAW: USDT, Amount: 499806514
  WITHDRAW: USDT, Amount: 499806515
  BORROW: USDT, Amount 999613029, Stable: false
  REPAY: USDT, Amount: 999613029
  E2E: Collateral DAI, TestAsset AAVE
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: AAVE, Amount: 12020247641728502975
  WITHDRAW: AAVE, Amount: 6010123820864251487
  WITHDRAW: AAVE, Amount: 6010123820864251488
  E2E: Collateral DAI, TestAsset WMATIC
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: WMATIC, Amount: 1437586947055541602975
  WITHDRAW: WMATIC, Amount: 718793473527770801487
  WITHDRAW: WMATIC, Amount: 718793473527770801489
  BORROW: WMATIC, Amount 1437586947055541602975, Stable: false
  REPAY: WMATIC, Amount: 1437586947055541602975
  E2E: TestAsset CRV SKIPPED
  E2E: TestAsset SUSHI SKIPPED
  E2E: Collateral DAI, TestAsset GHST
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: GHST, Amount: 603240911798638183641
  WITHDRAW: GHST, Amount: 301620455899319091820
  WITHDRAW: GHST, Amount: 301620455899319091820
  E2E: TestAsset BAL SKIPPED
  E2E: TestAsset DPI SKIPPED
  E2E: Collateral DAI, TestAsset EURS
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: EURS, Amount: 94002
  WITHDRAW: EURS, Amount: 47001
  WITHDRAW: EURS, Amount: 47002
  BORROW: EURS, Amount 94002, Stable: false
  REPAY: EURS, Amount: 94002
  E2E: TestAsset jEUR SKIPPED
  E2E: TestAsset EURA SKIPPED
  E2E: TestAsset miMATIC SKIPPED
  E2E: Collateral DAI, TestAsset stMATIC
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: stMATIC, Amount: 1290193877563000779883
  WITHDRAW: stMATIC, Amount: 645096938781500389941
  WITHDRAW: stMATIC, Amount: 645096938781500389942
  E2E: Collateral DAI, TestAsset MaticX
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: MaticX, Amount: 1297612635404418690236
  WITHDRAW: MaticX, Amount: 648806317702209345118
  WITHDRAW: MaticX, Amount: 648806317702209345117
  BORROW: MaticX, Amount 1297612635404418690236, Stable: false
  REPAY: MaticX, Amount: 1297612635404418690236
  E2E: Collateral DAI, TestAsset wstETH
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: wstETH, Amount: 279337835666427934
  WITHDRAW: wstETH, Amount: 139668917833213967
  WITHDRAW: wstETH, Amount: 139668917833213968
  BORROW: wstETH, Amount 279337835666427934, Stable: false
  REPAY: wstETH, Amount: 279337835666427934
  E2E: Collateral DAI, TestAsset USDC
  SUPPLY: DAI, Amount: 100013501822746070719547
  SUPPLY: USDC, Amount: 999973900
  WITHDRAW: USDC, Amount: 499986950
  WITHDRAW: USDC, Amount: 499986950
  BORROW: USDC, Amount 999973900, Stable: false
  REPAY: USDC, Amount: 999973900

Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 103.67s (107.97s CPU time)

Ran 1 test suite in 103.67s (103.67s CPU time): 2 tests passed, 0 failed, 0 skipped (2 total tests)

Please sign in to comment.