Skip to content

Commit

Permalink
Add new flash borrowers (#460)
Browse files Browse the repository at this point in the history
* add new flash borrowers

* fix a failing test on etherfi

* update md file

* md file updated

* removed SevenSea borrowers
  • Loading branch information
LucasWongC authored Sep 26, 2024
1 parent 4747302 commit b966b2e
Show file tree
Hide file tree
Showing 13 changed files with 488 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Arbitrum} from 'aave-address-book/AaveV3Arbitrum.sol';
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol';
/**
* @title add flash borrowers
* @author Karpatkey_TokenLogic
* - Snapshot: Direct-to-AIP
* - Discussion: https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731
*/
contract AaveV3Arbitrum_AddFlashBorrowers_20240906 is IProposalGenericExecutor {
address public constant CIAN_FLASH_LOAN_HELPER = 0x49d9409111a6363d82C4371fFa43fAEA660C917B;

function execute() external {
AaveV3Arbitrum.ACL_MANAGER.addFlashBorrower(CIAN_FLASH_LOAN_HELPER);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol';
import {AaveV3Arbitrum} from 'aave-address-book/AaveV3Arbitrum.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol';
import {AaveV3Arbitrum_AddFlashBorrowers_20240906} from './AaveV3Arbitrum_AddFlashBorrowers_20240906.sol';

/**
* @dev Test for AaveV3Arbitrum_AddFlashBorrowers_20240906
* command: FOUNDRY_PROFILE=arbitrum forge test --match-path=src/20240906_Multi_AddFlashBorrowers/AaveV3Arbitrum_AddFlashBorrowers_20240906.t.sol -vv
*/
contract AaveV3Arbitrum_AddFlashBorrowers_20240906_Test is ProtocolV3TestBase {
AaveV3Arbitrum_AddFlashBorrowers_20240906 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('arbitrum'), 250718774);
proposal = new AaveV3Arbitrum_AddFlashBorrowers_20240906();
}

function test_isFlashBorrower() external {
GovV3Helpers.executePayload(vm, address(proposal));
bool isFlashBorrower = AaveV3Arbitrum.ACL_MANAGER.isFlashBorrower(
proposal.CIAN_FLASH_LOAN_HELPER()
);
assertEq(isFlashBorrower, true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3EthereumEtherFi} from 'aave-address-book/AaveV3EthereumEtherFi.sol';
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol';
/**
* @title add flash borrowers
* @author Karpatkey_TokenLogic
* - Snapshot: Direct-to-AIP
* - Discussion: https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731
*/
contract AaveV3EthereumEtherFi_AddFlashBorrowers_20240906 is IProposalGenericExecutor {
address public constant CIAN_FLASH_LOAN_HELPER = 0x49d9409111a6363d82C4371fFa43fAEA660C917B;
address public constant INDEX_COOP_FLASH_MINT_LEVERAGED =
0x45c00508C14601fd1C1e296eB3C0e3eEEdCa45D0;
address public constant CONTANGO_PERMISSIONED_AAVE_WRAPPER =
0xab515542d621574f9b5212d50593cD0C07e641bD;

function execute() external {
AaveV3EthereumEtherFi.ACL_MANAGER.addFlashBorrower(CIAN_FLASH_LOAN_HELPER);
AaveV3EthereumEtherFi.ACL_MANAGER.addFlashBorrower(INDEX_COOP_FLASH_MINT_LEVERAGED);
AaveV3EthereumEtherFi.ACL_MANAGER.addFlashBorrower(CONTANGO_PERMISSIONED_AAVE_WRAPPER);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol';
import {AaveV3EthereumEtherFi} from 'aave-address-book/AaveV3EthereumEtherFi.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol';
import {AaveV3EthereumEtherFi_AddFlashBorrowers_20240906} from './AaveV3EthereumEtherFi_AddFlashBorrowers_20240906.sol';

/**
* @dev Test for AaveV3EthereumEtherFi_AddFlashBorrowers_20240906
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumEtherFi_AddFlashBorrowers_20240906.t.sol -vv
*/
contract AaveV3EthereumEtherFi_AddFlashBorrowers_20240906_Test is ProtocolV3TestBase {
AaveV3EthereumEtherFi_AddFlashBorrowers_20240906 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 20723989);
proposal = new AaveV3EthereumEtherFi_AddFlashBorrowers_20240906();
}

function test_isFlashBorrower() external {
GovV3Helpers.executePayload(vm, address(proposal));
bool isFlashBorrower = AaveV3EthereumEtherFi.ACL_MANAGER.isFlashBorrower(
proposal.CIAN_FLASH_LOAN_HELPER()
);
assertEq(isFlashBorrower, true);

isFlashBorrower = AaveV3EthereumEtherFi.ACL_MANAGER.isFlashBorrower(
proposal.INDEX_COOP_FLASH_MINT_LEVERAGED()
);
assertEq(isFlashBorrower, true);

isFlashBorrower = AaveV3EthereumEtherFi.ACL_MANAGER.isFlashBorrower(
proposal.CONTANGO_PERMISSIONED_AAVE_WRAPPER()
);
assertEq(isFlashBorrower, true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3EthereumLido} from 'aave-address-book/AaveV3EthereumLido.sol';
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol';
/**
* @title add flash borrowers
* @author Karpatkey_TokenLogic
* - Snapshot: Direct-to-AIP
* - Discussion: https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731
*/
contract AaveV3EthereumLido_AddFlashBorrowers_20240906 is IProposalGenericExecutor {
address public constant CIAN_FLASH_LOAN_HELPER = 0x49d9409111a6363d82C4371fFa43fAEA660C917B;
address public constant INDEX_COOP_FLASH_MINT_LEVERAGED =
0x45c00508C14601fd1C1e296eB3C0e3eEEdCa45D0;
address public constant CONTANGO_PERMISSIONED_AAVE_WRAPPER =
0xab515542d621574f9b5212d50593cD0C07e641bD;

function execute() external {
AaveV3EthereumLido.ACL_MANAGER.addFlashBorrower(CIAN_FLASH_LOAN_HELPER);
AaveV3EthereumLido.ACL_MANAGER.addFlashBorrower(INDEX_COOP_FLASH_MINT_LEVERAGED);
AaveV3EthereumLido.ACL_MANAGER.addFlashBorrower(CONTANGO_PERMISSIONED_AAVE_WRAPPER);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol';
import {AaveV3EthereumLido} from 'aave-address-book/AaveV3EthereumLido.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol';
import {AaveV3EthereumLido_AddFlashBorrowers_20240906} from './AaveV3EthereumLido_AddFlashBorrowers_20240906.sol';

/**
* @dev Test for AaveV3EthereumLido_AddFlashBorrowers_20240906
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumLido_AddFlashBorrowers_20240906.t.sol -vv
*/
contract AaveV3EthereumLido_AddFlashBorrowers_20240906_Test is ProtocolV3TestBase {
AaveV3EthereumLido_AddFlashBorrowers_20240906 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 20692293);
proposal = new AaveV3EthereumLido_AddFlashBorrowers_20240906();
}

function test_isFlashBorrower() external {
GovV3Helpers.executePayload(vm, address(proposal));
bool isFlashBorrower = AaveV3EthereumLido.ACL_MANAGER.isFlashBorrower(
proposal.CIAN_FLASH_LOAN_HELPER()
);
assertEq(isFlashBorrower, true);

isFlashBorrower = AaveV3EthereumLido.ACL_MANAGER.isFlashBorrower(
proposal.INDEX_COOP_FLASH_MINT_LEVERAGED()
);
assertEq(isFlashBorrower, true);

isFlashBorrower = AaveV3EthereumLido.ACL_MANAGER.isFlashBorrower(
proposal.CONTANGO_PERMISSIONED_AAVE_WRAPPER()
);
assertEq(isFlashBorrower, true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol';
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol';
/**
* @title add flash borrowers
* @author Karpatkey_TokenLogic
* - Snapshot: Direct-to-AIP
* - Discussion: https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731
*/
contract AaveV3Ethereum_AddFlashBorrowers_20240906 is IProposalGenericExecutor {
address public constant CIAN_FLASH_LOAN_HELPER = 0x49d9409111a6363d82C4371fFa43fAEA660C917B;

function execute() external {
AaveV3Ethereum.ACL_MANAGER.addFlashBorrower(CIAN_FLASH_LOAN_HELPER);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol';
import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol';
import {AaveV3Ethereum_AddFlashBorrowers_20240906} from './AaveV3Ethereum_AddFlashBorrowers_20240906.sol';

/**
* @dev Test for AaveV3Ethereum_AddFlashBorrowers_20240906
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20240906_Multi_AddFlashBorrowers/AaveV3Ethereum_AddFlashBorrowers_20240906.t.sol -vv
*/
contract AaveV3Ethereum_AddFlashBorrowers_20240906_Test is ProtocolV3TestBase {
AaveV3Ethereum_AddFlashBorrowers_20240906 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 20692283);
proposal = new AaveV3Ethereum_AddFlashBorrowers_20240906();
}

function test_isFlashBorrower() external {
GovV3Helpers.executePayload(vm, address(proposal));
bool isFlashBorrower = AaveV3Ethereum.ACL_MANAGER.isFlashBorrower(
proposal.CIAN_FLASH_LOAN_HELPER()
);
assertEq(isFlashBorrower, true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Optimism} from 'aave-address-book/AaveV3Optimism.sol';
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol';
/**
* @title add flash borrowers
* @author Karpatkey_TokenLogic
* - Snapshot: Direct-to-AIP
* - Discussion: https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731
*/
contract AaveV3Optimism_AddFlashBorrowers_20240906 is IProposalGenericExecutor {
address public constant CIAN_FLASH_LOAN_HELPER = 0x49d9409111a6363d82C4371fFa43fAEA660C917B;

function execute() external {
AaveV3Optimism.ACL_MANAGER.addFlashBorrower(CIAN_FLASH_LOAN_HELPER);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol';
import {AaveV3Optimism} from 'aave-address-book/AaveV3Optimism.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol';
import {AaveV3Optimism_AddFlashBorrowers_20240906} from './AaveV3Optimism_AddFlashBorrowers_20240906.sol';

/**
* @dev Test for AaveV3Optimism_AddFlashBorrowers_20240906
* command: FOUNDRY_PROFILE=optimism forge test --match-path=src/20240906_Multi_AddFlashBorrowers/AaveV3Optimism_AddFlashBorrowers_20240906.t.sol -vv
*/
contract AaveV3Optimism_AddFlashBorrowers_20240906_Test is ProtocolV3TestBase {
AaveV3Optimism_AddFlashBorrowers_20240906 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('optimism'), 125018001);
proposal = new AaveV3Optimism_AddFlashBorrowers_20240906();
}

function test_isFlashBorrower() external {
GovV3Helpers.executePayload(vm, address(proposal));
bool isFlashBorrower = AaveV3Optimism.ACL_MANAGER.isFlashBorrower(
proposal.CIAN_FLASH_LOAN_HELPER()
);
assertEq(isFlashBorrower, true);
}
}
42 changes: 42 additions & 0 deletions src/20240906_Multi_AddFlashBorrowers/AddFlashBorrowers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "Update flashBorrowers"
author: "Karpatkey_TokenLogic"
discussions: "https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731"
snapshot: "Direct-to-AIP"
---

## Simple Summary

This AIP updates whitelisted flashBorrowers addresses across various instances of Aave v3.

## Motivation

Upon execution, this AIP will implement will waiver flash loan fees for the following:

- A new address associated with CIAN Protocol across all instances of Aave v3 on Ethereum, Optimism and Arbitrum; and,
- Existing addresses associated with Index Coop and Contango on the Lido and EtherFi instances only.

Each of the mentioned team has expressed interest in integrating with these new instances of Aave v3.

## Specification

This AIP, will call addFlashBorrower() on the ACL_MANAGER contract to whitelist the addresses as outlined below:

| Network | Instance | Protocol | Address | Contract Name |
| -------- | -------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| Ethereum | Main Market, Lido, EtherFi | CIAN Protocol | [`0x49d9409111a6363d82c4371ffa43faea660c917b`](https://etherscan.io/address/0x49d9409111a6363d82c4371ffa43faea660c917b) | FlashloanHelper |
| Arbitrum | Main Market | CIAN Protocol | [`0x49d9409111a6363d82c4371ffa43faea660c917b`](https://arbiscan.io/address/0x49d9409111a6363d82c4371ffa43faea660c917b) | FlashloanHelper |
| Optimism | Main Market | CIAN Protocol | [`0x49d9409111a6363d82c4371ffa43faea660c917b`](https://optimistic.etherscan.io/address/0x49d9409111a6363d82c4371ffa43faea660c917b) | FlashloanHelper |
| Ethereum | Lido, EtherFi | Index Coop | [`0x45c00508C14601fd1C1e296eB3C0e3eEEdCa45D0`](https://etherscan.io/address/0x45c00508C14601fd1C1e296eB3C0e3eEEdCa45D0) | FlashMintLeveraged |
| Ethereum | Lido, EtherFi | Contango | [`0xab515542d621574f9b5212d50593cD0C07e641bD`](https://etherscan.io/address/0xab515542d621574f9b5212d50593cD0C07e641bD) | PermissionedAaveWrapper |

## References

- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Ethereum_AddFlashBorrowers_20240906.sol), [AaveV3EthereumLido](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumLido_AddFlashBorrowers_20240906.sol), [AaveV3EthereumEtherFi](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumEtherFi_AddFlashBorrowers_20240906.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Optimism_AddFlashBorrowers_20240906.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Arbitrum_AddFlashBorrowers_20240906.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Ethereum_AddFlashBorrowers_20240906.t.sol), [AaveV3EthereumLido](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumLido_AddFlashBorrowers_20240906.t.sol), [AaveV3EthereumEtherFi](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumEtherFi_AddFlashBorrowers_20240906.t.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Optimism_AddFlashBorrowers_20240906.t.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240906_Multi_AddFlashBorrowers/AaveV3Arbitrum_AddFlashBorrowers_20240906.t.sol)
- [Snapshot](Direct-to-AIP)
- [Discussion](https://governance.aave.com/t/arfc-add-cian-protocol-to-flashborrowers/18731)

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
Loading

1 comment on commit b966b2e

@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 (9a0f66e 2024-09-26T00:21:21.213656507Z)
Build log
Compiling 469 files with Solc 0.8.20
Solc 0.8.20 finished in 322.66s
Compiler run successful with warnings:
Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Arbitrum_MayFundingUpdate_20240603.t.sol:48:5:
   |
48 |     uint256 collectorUsdcBalanceBefore = IERC20(AaveV3ArbitrumAssets.USDC_UNDERLYING).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Arbitrum_MayFundingUpdate_20240603.t.sol:51:5:
   |
51 |     uint256 collectorAusdcBalanceBefore = IERC20(AaveV3ArbitrumAssets.USDC_A_TOKEN).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Optimism_MayFundingUpdate_20240603.t.sol:41:5:
   |
41 |     uint256 collectorUsdcBalanceBefore = IERC20(AaveV3OptimismAssets.USDC_UNDERLYING).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Optimism_MayFundingUpdate_20240603.t.sol:44:5:
   |
44 |     uint256 collectorAusdcBalanceBefore = IERC20(AaveV3OptimismAssets.USDC_A_TOKEN).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
   --> lib/aave-helpers/src/ProtocolV2TestBase.sol:663:3:
    |
663 |   function _logReserveConfig(ReserveConfig memory config) internal view {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to view
   --> src/20240902_AaveV3EthereumEtherFi_EtherFiEthereumActivation/AaveV3EthereumEtherFi_EtherFiEthereumActivation_20240902.t.sol:101:3:
    |
101 |   function test_check_etherfi_v3_libraries_against_lido_v3_instance() public {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (4591): There are more than 256 warnings. Ignoring the rest.

| Contract                                                                                 | Size (B) | Margin (B) |
|------------------------------------------------------------------------------------------|----------|------------|
| AaveGovernanceV2                                                                         |       44 |     24,532 |
| AaveSwapper                                                                              |    5,464 |     19,112 |
| AaveV2Avalanche                                                                          |       44 |     24,532 |
| AaveV2AvalancheAssets                                                                    |       44 |     24,532 |
| AaveV2Avalanche_RenewalOfAaveGuardian2024_20240708                                       |      348 |     24,228 |
| AaveV2Avalanche_ReserveFactorUpdatesAugust_20240726                                      |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesLateAugust_20240821                                  |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesLateSeptember_20240916                               |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesMidJuly_20240711                                     |      988 |     23,588 |
| AaveV2Ethereum                                                                           |       44 |     24,532 |
| AaveV2EthereumAMM                                                                        |       44 |     24,532 |
| AaveV2EthereumAMMAssets                                                                  |       44 |     24,532 |
| AaveV2EthereumAMM_RenewalOfAaveGuardian2024_20240708                                     |      348 |     24,228 |
| AaveV2EthereumAssets                                                                     |       44 |     24,532 |
| AaveV2Ethereum_RenewalOfAaveGuardian2024_20240708                                        |      348 |     24,228 |
| AaveV2Ethereum_ReserveFactorUpdatesAugust_20240726                                       |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesLateAugust_20240821                                   |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesLateSeptember_20240916                                |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesMidJuly_20240711                                      |      988 |     23,588 |
| AaveV2Ethereum_StablecoinIRCurveAmendment_20240829                                       |    1,811 |     22,765 |
| AaveV2Polygon                                                                            |       44 |     24,532 |
| AaveV2PolygonAssets                                                                      |       44 |     24,532 |
| AaveV2Polygon_RenewalOfAaveGuardian2024_20240708                                         |      348 |     24,228 |
| AaveV2Polygon_ReserveFactorUpdatesAugust_20240726                                        |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesLateAugust_20240821                                    |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesLateSeptember_20240916                                 |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesMidJuly_20240711                                       |    2,384 |     22,192 |
| AaveV3Arbitrum                                                                           |       44 |     24,532 |
| AaveV3ArbitrumAssets                                                                     |       44 |     24,532 |
| AaveV3ArbitrumEModes                                                                     |       44 |     24,532 |
| AaveV3ArbitrumExternalLibraries                                                          |       44 |     24,532 |
| AaveV3Arbitrum_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Arbitrum_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    3,894 |     20,682 |
| AaveV3Arbitrum_HarmonizeWeETHParameters_20240911                                         |    3,315 |     21,261 |
| AaveV3Arbitrum_IncreaseGHOFacilitatorCapacity_20240722                                   |    3,481 |     21,095 |
| AaveV3Arbitrum_MayFundingUpdate_20240603                                                 |    1,238 |     23,338 |
| AaveV3Arbitrum_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Arbitrum_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Arbitrum_ReserveFactorUpdatesAugust_20240726                                       |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesLateAugust_20240821                                   |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesLateSeptember_20240916                                |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesMidJuly_20240711                                      |    3,324 |     21,252 |
| AaveV3Arbitrum_StablecoinIRCurveAmendment_20240829                                       |    4,059 |     20,517 |
| AaveV3Avalanche                                                                          |       44 |     24,532 |
| AaveV3AvalancheAssets                                                                    |       44 |     24,532 |
| AaveV3AvalancheEModes                                                                    |       44 |     24,532 |
| AaveV3AvalancheExternalLibraries                                                         |       44 |     24,532 |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                  |    3,748 |     20,828 |
| AaveV3Avalanche_IncreaseWETHOptimalRatio_20240818                                        |    3,326 |     21,250 |
| AaveV3Avalanche_RenewalOfAaveGuardian2024_20240708                                       |    1,062 |     23,514 |
| AaveV3Avalanche_RiskParameterUpdatesSAVAXOnAaveV3Avalanche_20240724                      |    3,304 |     21,272 |
| AaveV3Avalanche_StablecoinIRCurveAmendment_20240829                                      |    3,762 |     20,814 |
| AaveV3Avalanche_UpdatePoRExecutorV3RobotCancel_20240617                                  |      242 |     24,334 |
| AaveV3Avalanche_UpdatePoRExecutorV3RobotRegister_20240617                                |    2,250 |     22,326 |
| AaveV3BNB                                                                                |       44 |     24,532 |
| AaveV3BNBAssets                                                                          |       44 |     24,532 |
| AaveV3BNBEModes                                                                          |       44 |     24,532 |
| AaveV3BNBExternalLibraries                                                               |       44 |     24,532 |
| AaveV3BNB_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906      |    3,202 |     21,374 |
| AaveV3BNB_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                        |    3,309 |     21,267 |
| AaveV3BNB_RenewalOfAaveGuardian2024_20240708                                             |    1,062 |     23,514 |
| AaveV3BNB_StablecoinIRCurveAmendment_20240829                                            |    3,619 |     20,957 |
| AaveV3Base                                                                               |       44 |     24,532 |
| AaveV3BaseAssets                                                                         |       44 |     24,532 |
| AaveV3BaseEModes                                                                         |       44 |     24,532 |
| AaveV3BaseExternalLibraries                                                              |       44 |     24,532 |
| AaveV3Base_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                       |    3,441 |     21,135 |
| AaveV3Base_HarmonizeWeETHParameters_20240911                                             |    3,311 |     21,265 |
| AaveV3Base_IncreaseWETHOptimalRatio_20240818                                             |    3,308 |     21,268 |
| AaveV3Base_MeritBaseIncentivesAndSuperfestMatching_20240812                              |    2,231 |     22,345 |
| AaveV3Base_OnboardCbBTCOnMainnetAndBase_20240917                                         |    4,621 |     19,955 |
| AaveV3Base_ReduceReserveFactorOnWstETH_20240716                                          |    3,320 |     21,256 |
| AaveV3Base_RenewalOfAaveGuardian2024_20240708                                            |    1,062 |     23,514 |
| AaveV3Base_ReserveFactorUpdatesAugust_20240726                                           |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesLateAugust_20240821                                       |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesLateSeptember_20240916                                    |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesMidJuly_20240711                                          |    3,320 |     21,256 |
| AaveV3Base_StablecoinIRCurveAmendment_20240829                                           |    3,309 |     21,267 |
| AaveV3Ethereum                                                                           |       44 |     24,532 |
| AaveV3EthereumAssets                                                                     |       44 |     24,532 |
| AaveV3EthereumEModes                                                                     |       44 |     24,532 |
| AaveV3EthereumEtherFi                                                                    |       44 |     24,532 |
| AaveV3EthereumEtherFiAssets                                                              |       44 |     24,532 |
| AaveV3EthereumEtherFiEModes                                                              |       44 |     24,532 |
| AaveV3EthereumEtherFiExternalLibraries                                                   |       44 |     24,532 |
| AaveV3EthereumEtherFi_AddFlashBorrowers_20240906                                         |      557 |     24,019 |
| AaveV3EthereumEtherFi_EtherFiEthereumActivation_20240902                                 |    6,828 |     17,748 |
| AaveV3EthereumExternalLibraries                                                          |       44 |     24,532 |
| AaveV3EthereumLido                                                                       |       44 |     24,532 |
| AaveV3EthereumLidoAssets                                                                 |       44 |     24,532 |
| AaveV3EthereumLidoEModes                                                                 |       44 |     24,532 |
| AaveV3EthereumLidoExternalLibraries                                                      |       44 |     24,532 |
| AaveV3EthereumLido_AddFlashBorrowers_20240906                                            |      557 |     24,019 |
| AaveV3EthereumLido_LidoEthereumInstanceActivation_20240720                               |    6,634 |     17,942 |
| AaveV3EthereumLido_OnboardUSDSAndSUSDS_20240914                                          |    4,652 |     19,924 |
| AaveV3EthereumLido_SetACIAsEmissionManagerForWstETH_20240923                             |      456 |     24,120 |
| AaveV3EthereumLido_WETHLTV0AaveV3LidoInstance_20240729                                   |    3,306 |     21,270 |
| AaveV3EthereumLido_WstETHBorrowCapReduction_20240913                                     |    3,235 |     21,341 |
| AaveV3Ethereum_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906 |    3,329 |     21,247 |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    3,590 |     20,986 |
| AaveV3Ethereum_EventsGrant2024_20240718                                                  |      336 |     24,240 |
| AaveV3Ethereum_GHOBorrowRateUpdate_20240814                                              |    3,313 |     21,263 |
| AaveV3Ethereum_GhoBorrowRateUpdateAugust2024_20240831                                    |    3,313 |     21,263 |
| AaveV3Ethereum_GhoBorrowRateUpdateSeptember2024_20240912                                 |    3,313 |     21,263 |
| AaveV3Ethereum_HarmonizeWeETHParameters_20240911                                         |    3,315 |     21,261 |
| AaveV3Ethereum_IncreaseGHOFacilitatorCapacity_20240722                                   |      214 |     24,362 |
| AaveV3Ethereum_JulyFundingUpdate_20240729                                                |    4,577 |     19,999 |
| AaveV3Ethereum_MayFundingUpdate_20240603                                                 |    9,177 |     15,399 |
| AaveV3Ethereum_MeritBaseIncentivesAndSuperfestMatching_20240812                          |      326 |     24,250 |
| AaveV3Ethereum_OnboardCbBTCOnMainnetAndBase_20240917                                     |    4,626 |     19,950 |
| AaveV3Ethereum_OnboardTbtc_20240917                                                      |    4,626 |     19,950 |
| AaveV3Ethereum_OnboardUSDSAndSUSDS_20240914                                              |    4,648 |     19,928 |
| AaveV3Ethereum_OrbitProgramRenewalQ32024_20240905                                        |    2,043 |     22,533 |
| AaveV3Ethereum_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Ethereum_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Ethereum_RiskParameterUpdatesIncreaseUSDeDebtCeilingOnV3Ethereum_20240801          |    3,304 |     21,272 |
| AaveV3Ethereum_StablecoinIRCurveAmendment_20240829                                       |    4,209 |     20,367 |
| AaveV3Ethereum_TokenLogicKarpatkeyServiceProviderPartnershipPhase2_20240723              |    1,375 |     23,201 |
| AaveV3Ethereum_ToolingUpdateAllowance_20240707                                           |      336 |     24,240 |
| AaveV3Gnosis                                                                             |       44 |     24,532 |
| AaveV3GnosisAssets                                                                       |       44 |     24,532 |
| AaveV3GnosisEModes                                                                       |       44 |     24,532 |
| AaveV3GnosisExternalLibraries                                                            |       44 |     24,532 |
| AaveV3Gnosis_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                     |    3,452 |     21,124 |
| AaveV3Gnosis_IncreaseWETHOptimalRatio_20240818                                           |    3,323 |     21,253 |
| AaveV3Gnosis_OnboardUSDCEOnGnosis_20240717                                               |    4,622 |     19,954 |
| AaveV3Gnosis_ReduceReserveFactorOnWstETH_20240716                                        |    3,322 |     21,254 |
| AaveV3Gnosis_RenewalOfAaveGuardian2024_20240708                                          |    1,062 |     23,514 |
| AaveV3Gnosis_ReserveFactorUpdatesLateAugust_20240821                                     |    3,322 |     21,254 |
| AaveV3Gnosis_ReserveFactorUpdatesLateSeptember_20240916                                  |    3,322 |     21,254 |
| AaveV3Gnosis_StablecoinIRCurveAmendment_20240829                                         |    3,610 |     20,966 |
| AaveV3Metis                                                                              |       44 |     24,532 |
| AaveV3MetisAssets                                                                        |       44 |     24,532 |
| AaveV3MetisEModes                                                                        |       44 |     24,532 |
| AaveV3MetisExternalLibraries                                                             |       44 |     24,532 |
| AaveV3Metis_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                      |    3,583 |     20,993 |
| AaveV3Metis_EnableMetisAsCollateralOnMetisChain_20240814                                 |    3,417 |     21,159 |
| AaveV3Metis_IncreaseWETHOptimalRatio_20240818                                            |    3,309 |     21,267 |
| AaveV3Metis_RenewalOfAaveGuardian2024_20240708                                           |    1,062 |     23,514 |
| AaveV3Optimism                                                                           |       44 |     24,532 |
| AaveV3OptimismAssets                                                                     |       44 |     24,532 |
| AaveV3OptimismEModes                                                                     |       44 |     24,532 |
| AaveV3OptimismExternalLibraries                                                          |       44 |     24,532 |
| AaveV3Optimism_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Optimism_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906 |    3,286 |     21,290 |
| AaveV3Optimism_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    4,033 |     20,543 |
| AaveV3Optimism_MayFundingUpdate_20240603                                                 |    1,174 |     23,402 |
| AaveV3Optimism_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Optimism_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Optimism_ReserveFactorUpdatesAugust_20240726                                       |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesLateAugust_20240821                                   |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesLateSeptember_20240916                                |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesMidJuly_20240711                                      |    3,324 |     21,252 |
| AaveV3Optimism_StablecoinIRCurveAmendment_20240829                                       |    4,059 |     20,517 |
| AaveV3Polygon                                                                            |       44 |     24,532 |
| AaveV3PolygonAssets                                                                      |       44 |     24,532 |
| AaveV3PolygonEModes                                                                      |       44 |     24,532 |
| AaveV3PolygonExternalLibraries                                                           |       44 |     24,532 |
| AaveV3Polygon_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                    |    3,759 |     20,817 |
| AaveV3Polygon_IncreaseWETHOptimalRatio_20240818                                          |    3,324 |     21,252 |
| AaveV3Polygon_MayFundingUpdate_20240603                                                  |    4,773 |     19,803 |
| AaveV3Polygon_ReduceReserveFactorOnWstETH_20240716                                       |    3,323 |     21,253 |
| AaveV3Polygon_RenewalOfAaveGuardian2024_20240708                                         |    1,062 |     23,514 |
| AaveV3Polygon_ReserveFactorUpdatesAugust_20240726                                        |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesLateAugust_20240821                                    |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesLateSeptember_20240916                                 |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesMidJuly_20240711                                       |    3,323 |     21,253 |
| AaveV3Polygon_StablecoinIRCurveAmendment_20240829                                        |    4,058 |     20,518 |
| AaveV3Scroll                                                                             |       44 |     24,532 |
| AaveV3ScrollAssets                                                                       |       44 |     24,532 |
| AaveV3ScrollEModes                                                                       |       44 |     24,532 |
| AaveV3ScrollExternalLibraries                                                            |       44 |     24,532 |
| AaveV3Scroll_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                     |    3,439 |     21,137 |
| AaveV3Scroll_HarmonizeWeETHParameters_20240911                                           |    3,556 |     21,020 |
| AaveV3Scroll_IncreaseWETHOptimalRatio_20240818                                           |    3,310 |     21,266 |
| AaveV3Scroll_OnboardingWeETHToAaveV3OnScroll_20240731                                    |    4,638 |     19,938 |
| AaveV3Scroll_ReduceReserveFactorOnWstETH_20240716                                        |    3,322 |     21,254 |
| AaveV3Scroll_RenewalOfAaveGuardian2024_20240708                                          |    1,062 |     23,514 |
| AaveV3Scroll_StablecoinIRCurveAmendment_20240829                                         |    3,311 |     21,265 |
| Address                                                                                  |       44 |     24,532 |
| ChainHelpers                                                                             |       44 |     24,532 |
| ChainIds                                                                                 |       44 |     24,532 |
| CollectorUtils                                                                           |       44 |     24,532 |
| ConfiguratorInputTypes                                                                   |       44 |     24,532 |
| Create2Utils                                                                             |      121 |     24,455 |
| Create2UtilsZkSync                                                                       |      104 |     24,472 |
| DataTypes                                                                                |       44 |     24,532 |
| EngineFlags                                                                              |       44 |     24,532 |
| Errors                                                                                   |    4,652 |     19,924 |
| GatewayMock                                                                              |      239 |     24,337 |
| GovV3Helpers                                                                             |    2,518 |     22,058 |
| GovV3StorageHelpers                                                                      |       44 |     24,532 |
| GovernanceGuardians                                                                      |      292 |     24,284 |
| GovernanceV3Arbitrum                                                                     |       44 |     24,532 |
| GovernanceV3Avalanche                                                                    |       44 |     24,532 |
| GovernanceV3BNB                                                                          |       44 |     24,532 |
| GovernanceV3Base                                                                         |       44 |     24,532 |
| GovernanceV3Ethereum                                                                     |       44 |     24,532 |
| GovernanceV3Gnosis                                                                       |       44 |     24,532 |
| GovernanceV3Metis                                                                        |       44 |     24,532 |
| GovernanceV3Optimism                                                                     |       44 |     24,532 |
| GovernanceV3Polygon                                                                      |       44 |     24,532 |
| GovernanceV3PolygonZkEvm                                                                 |       44 |     24,532 |
| GovernanceV3Scroll                                                                       |       44 |     24,532 |
| GovernanceV3ZkSync                                                                       |       44 |     24,532 |
| IpfsUtils                                                                                |       44 |     24,532 |
| MiscArbitrum                                                                             |       44 |     24,532 |
| MiscAvalanche                                                                            |       44 |     24,532 |
| MiscBNB                                                                                  |       44 |     24,532 |
| MiscBase                                                                                 |       44 |     24,532 |
| MiscEthereum                                                                             |       44 |     24,532 |
| MiscGnosis                                                                               |       44 |     24,532 |
| MiscMetis                                                                                |       44 |     24,532 |
| MiscOptimism                                                                             |       44 |     24,532 |
| MiscPolygon                                                                              |       44 |     24,532 |
| MiscScroll                                                                               |       44 |     24,532 |
| OrbitProgramData                                                                         |      484 |     24,092 |
| Payloads                                                                                 |      481 |     24,095 |
| PayloadsControllerUtils                                                                  |       44 |     24,532 |
| ProtocolGuardians                                                                        |      292 |     24,284 |
| ProxyHelpers                                                                             |       44 |     24,532 |
| RenewalV2BasePayload                                                                     |      348 |     24,228 |
| RenewalV3BasePayload                                                                     |    1,062 |     23,514 |
| ReserveConfiguration                                                                     |      128 |     24,448 |
| RewardsDataTypes                                                                         |       44 |     24,532 |
| SafeCast                                                                                 |       44 |     24,532 |
| SafeERC20                                                                                |       44 |     24,532 |
| StorageHelpers                                                                           |       44 |     24,532 |
| TestNetChainIds                                                                          |       44 |     24,532 |
| WadRayMath                                                                               |       44 |     24,532 |
Test success 🌈
No files changed, compilation skipped

Ran 1 test for src/20240906_Multi_AddFlashBorrowers/AaveV3Arbitrum_AddFlashBorrowers_20240906.t.sol:AaveV3Arbitrum_AddFlashBorrowers_20240906_Test
[PASS] test_isFlashBorrower() (gas: 109401)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.89s (2.29s CPU time)

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

Ran 1 test for src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumEtherFi_AddFlashBorrowers_20240906.t.sol:AaveV3EthereumEtherFi_AddFlashBorrowers_20240906_Test
[PASS] test_isFlashBorrower() (gas: 166537)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.95s (2.40s CPU time)

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

Ran 1 test for src/20240906_Multi_AddFlashBorrowers/AaveV3EthereumLido_AddFlashBorrowers_20240906.t.sol:AaveV3EthereumLido_AddFlashBorrowers_20240906_Test
[PASS] test_isFlashBorrower() (gas: 166537)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.84s (2.40s CPU time)

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

Ran 1 test for src/20240906_Multi_AddFlashBorrowers/AaveV3Ethereum_AddFlashBorrowers_20240906.t.sol:AaveV3Ethereum_AddFlashBorrowers_20240906_Test
[PASS] test_isFlashBorrower() (gas: 109217)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.50s (2.04s CPU time)

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

Ran 1 test for src/20240906_Multi_AddFlashBorrowers/AaveV3Optimism_AddFlashBorrowers_20240906.t.sol:AaveV3Optimism_AddFlashBorrowers_20240906_Test
[PASS] test_isFlashBorrower() (gas: 109355)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.60s (2.10s CPU time)

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

Please sign in to comment.