Skip to content

Commit

Permalink
feat: Add Base contracts to generate aDI adapter payloads (#285)
Browse files Browse the repository at this point in the history
* feat: Add Base contracts to generate aDI adapter payloads

* fix: start on adi base tests

* fix: added first version of diffs for adi

* fix: fixed compilation errors. Receivers configs generated

* fix: added receiver adapter diffs

* fix: getting forwarder adapters

* fix: Added initial e2e tests

* fix: add correct cli version

* fix: diffs showing correct changes

* fix: explicit import

* fix: src lowercase path

* fix: moved execution logic to parent contracts

* fix: fixed test

* fix: add natspec

* fix: fixed interfaces
  • Loading branch information
sendra authored Apr 16, 2024
1 parent 6567dae commit 8ff94a6
Show file tree
Hide file tree
Showing 20 changed files with 1,298 additions and 16 deletions.
1 change: 1 addition & 0 deletions .assets/03014f6d7e563bf95e08a254d6612c2a1779bb37.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/120b3346a2da5456c1e5eeb7876b093ce7188e35.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/249bca66f2e25caf04da3e3bc7e387fbf24599b2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/973f0be01f7b244858ae3b53b46574f4a94ae9e0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/c0ca34be405c22dc36ffd20c54b1dc8cf5ac741b.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .assets/e8496300bba6992ef8245dbc827b240692a59ca4.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions diffs/adi_test_adi_diffs_before_adi_test_adi_diffs_after.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Raw diff

```json
{
"forwarderAdaptersByChain": {
"1": {
"0xDA4B6024aA06f7565BBcAaD9B8bE24C3c229AAb5": {
"from": "0x2a323be63e08E08536Fc3b5d8C6f24825e68895e",
"to": null
},
"0x7FAE7765abB4c8f778d57337bB720d0BC53057e3": {
"from": null,
"to": "0x8410d9BD353b420ebA8C48ff1B0518426C280FCC"
}
}
},
"receiverAdaptersByChain": {
"1": {
"0xDA4B6024aA06f7565BBcAaD9B8bE24C3c229AAb5": {
"from": true,
"to": null
},
"0x7FAE7765abB4c8f778d57337bB720d0BC53057e3": {
"from": null,
"to": true
}
}
}
}
```
16 changes: 8 additions & 8 deletions diffs/preTestEngineListing_postTestEngineListing.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@
| oracle | [0x443C5116CdF663Eb387e72C688D276e702135C87](https://polygonscan.com/address/0x443C5116CdF663Eb387e72C688D276e702135C87) |
| oracleDecimals | 8 |
| oracleDescription | 1INCH / USD |
| oracleLatestAnswer | 0.36313594 |
| oracleLatestAnswer | 0.54658874 |
| usageAsCollateralEnabled | true |
| ltv | 82.5 % |
| liquidationThreshold | 86 % |
| liquidationBonus | 5 % |
| liquidationProtocolFee | 10 % |
| reserveFactor | 10 % |
| aToken | [0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD](https://polygonscan.com/address/0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD) |
| aToken | [0xF107d93D67A487B5586AEB8B840755c36fB77b72](https://polygonscan.com/address/0xF107d93D67A487B5586AEB8B840755c36fB77b72) |
| aTokenImpl | [0xCf85FF1c37c594a10195F7A9Ab85CBb0a03f69dE](https://polygonscan.com/address/0xCf85FF1c37c594a10195F7A9Ab85CBb0a03f69dE) |
| variableDebtToken | [0xE701126012EC0290822eEA17B794454d1AF8b030](https://polygonscan.com/address/0xE701126012EC0290822eEA17B794454d1AF8b030) |
| variableDebtToken | [0xb2122f310A5cB1d7f46d0FDb2fC5d36392Aaac96](https://polygonscan.com/address/0xb2122f310A5cB1d7f46d0FDb2fC5d36392Aaac96) |
| variableDebtTokenImpl | [0x79b5e91037AE441dE0d9e6fd3Fd85b96B83d4E93](https://polygonscan.com/address/0x79b5e91037AE441dE0d9e6fd3Fd85b96B83d4E93) |
| stableDebtToken | [0xc889e9f8370D14A428a9857205d99BFdB400b757](https://polygonscan.com/address/0xc889e9f8370D14A428a9857205d99BFdB400b757) |
| stableDebtToken | [0x106Daa74Bd93f436D455953966ba6b70EBdCbFdb](https://polygonscan.com/address/0x106Daa74Bd93f436D455953966ba6b70EBdCbFdb) |
| stableDebtTokenImpl | [0xF4294973B7E6F6C411dD8A388592E7c7D32F2486](https://polygonscan.com/address/0xF4294973B7E6F6C411dD8A388592E7c7D32F2486) |
| borrowingEnabled | true |
| stableBorrowRateEnabled | false |
Expand Down Expand Up @@ -72,7 +72,7 @@
"0x9c2C5fd7b07E95EE044DDeba0E97a665F142394f": {
"from": null,
"to": {
"aToken": "0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD",
"aToken": "0xF107d93D67A487B5586AEB8B840755c36fB77b72",
"aTokenImpl": "0xCf85FF1c37c594a10195F7A9Ab85CBb0a03f69dE",
"aTokenName": "Aave Polygon 1INCH",
"aTokenSymbol": "aPol1INCH",
Expand All @@ -98,10 +98,10 @@
"oracle": "0x443C5116CdF663Eb387e72C688D276e702135C87",
"oracleDecimals": 8,
"oracleDescription": "1INCH / USD",
"oracleLatestAnswer": 36313594,
"oracleLatestAnswer": 54658874,
"reserveFactor": 1000,
"stableBorrowRateEnabled": false,
"stableDebtToken": "0xc889e9f8370D14A428a9857205d99BFdB400b757",
"stableDebtToken": "0x106Daa74Bd93f436D455953966ba6b70EBdCbFdb",
"stableDebtTokenImpl": "0xF4294973B7E6F6C411dD8A388592E7c7D32F2486",
"stableDebtTokenName": "Aave Polygon Stable Debt 1INCH",
"stableDebtTokenSymbol": "stableDebtPol1INCH",
Expand All @@ -110,7 +110,7 @@
"underlying": "0x9c2C5fd7b07E95EE044DDeba0E97a665F142394f",
"usageAsCollateralEnabled": true,
"variableBorrowIndex": "1000000000000000000000000000",
"variableDebtToken": "0xE701126012EC0290822eEA17B794454d1AF8b030",
"variableDebtToken": "0xb2122f310A5cB1d7f46d0FDb2fC5d36392Aaac96",
"variableDebtTokenImpl": "0x79b5e91037AE441dE0d9e6fd3Fd85b96B83d4E93",
"variableDebtTokenName": "Aave Polygon Variable Debt 1INCH",
"variableDebtTokenSymbol": "variableDebtPol1INCH"
Expand Down
70 changes: 69 additions & 1 deletion diffs/preTestEnginePolV3_postTestEnginePolV3.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Reserve changes

### Reserves altered
### Reserve altered

#### WETH ([0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619](https://polygonscan.com/address/0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619))

Expand All @@ -11,6 +11,26 @@
| baseStableBorrowRate | 6.3 % | 6.8 % |
| interestRate | ![before](/.assets/bc821e780dbf0cd88aa89ae21f339014e1053ceb.svg) | ![after](/.assets/e7c3905f5d41473b5148fbd1df41bdc06ae104fb.svg) |

#### miMATIC ([0xa3Fa99A148fA48D14Ed51d610c367C61876997F1](https://polygonscan.com/address/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 95 % | 20 % |
| interestRateStrategy | [0x44CaDF6E49895640D9De85ac01d97D44429Ad0A4](https://polygonscan.com/address/0x44CaDF6E49895640D9De85ac01d97D44429Ad0A4) | [0x8F183Ee74C790CB558232a141099b316D6C8Ba6E](https://polygonscan.com/address/0x8F183Ee74C790CB558232a141099b316D6C8Ba6E) |
| optimalUsageRatio | 45 % | 80 % |
| variableRateSlope2 | 300 % | 75 % |
| maxExcessUsageRatio | 55 % | 20 % |
| interestRate | ![before](/.assets/c0ca34be405c22dc36ffd20c54b1dc8cf5ac741b.svg) | ![after](/.assets/8f84201aa8a64dd4068a65bba6c43cc7622ae5b8.svg) |

#### USDT ([0xc2132D05D31c914a87C6611C10748AEb04B58e8F](https://polygonscan.com/address/0xc2132D05D31c914a87C6611C10748AEb04B58e8F))

| description | value before | value after |
| --- | --- | --- |
| interestRateStrategy | [0x2402C25e7E45b1466c53Ef7766AAd878A4CbC237](https://polygonscan.com/address/0x2402C25e7E45b1466c53Ef7766AAd878A4CbC237) | [0xC0B875907514131C2Fd43f0FBf59EdaB84C7e260](https://polygonscan.com/address/0xC0B875907514131C2Fd43f0FBf59EdaB84C7e260) |
| optimalUsageRatio | 90 % | 80 % |
| maxExcessUsageRatio | 10 % | 20 % |
| interestRate | ![before](/.assets/249bca66f2e25caf04da3e3bc7e387fbf24599b2.svg) | ![after](/.assets/973f0be01f7b244858ae3b53b46574f4a94ae9e0.svg) |

## Raw diff

```json
Expand All @@ -21,6 +41,22 @@
"from": "0xf6733B9842883BFE0e0a940eA2F572676af31bde",
"to": "0x27eFE5db315b71753b2a38ED3d5dd7E9362ba93F"
}
},
"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1": {
"interestRateStrategy": {
"from": "0x44CaDF6E49895640D9De85ac01d97D44429Ad0A4",
"to": "0x8F183Ee74C790CB558232a141099b316D6C8Ba6E"
},
"reserveFactor": {
"from": 9500,
"to": 2000
}
},
"0xc2132D05D31c914a87C6611C10748AEb04B58e8F": {
"interestRateStrategy": {
"from": "0x2402C25e7E45b1466c53Ef7766AAd878A4CbC237",
"to": "0xC0B875907514131C2Fd43f0FBf59EdaB84C7e260"
}
}
},
"strategies": {
Expand All @@ -37,6 +73,38 @@
"from": "33000000000000000000000000",
"to": "38000000000000000000000000"
}
},
"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1": {
"address": {
"from": "0x44CaDF6E49895640D9De85ac01d97D44429Ad0A4",
"to": "0x8F183Ee74C790CB558232a141099b316D6C8Ba6E"
},
"maxExcessUsageRatio": {
"from": "550000000000000000000000000",
"to": "200000000000000000000000000"
},
"optimalUsageRatio": {
"from": "450000000000000000000000000",
"to": "800000000000000000000000000"
},
"variableRateSlope2": {
"from": "3000000000000000000000000000",
"to": "750000000000000000000000000"
}
},
"0xc2132D05D31c914a87C6611C10748AEb04B58e8F": {
"address": {
"from": "0x2402C25e7E45b1466c53Ef7766AAd878A4CbC237",
"to": "0xC0B875907514131C2Fd43f0FBf59EdaB84C7e260"
},
"maxExcessUsageRatio": {
"from": "100000000000000000000000000",
"to": "200000000000000000000000000"
},
"optimalUsageRatio": {
"from": "900000000000000000000000000",
"to": "800000000000000000000000000"
}
}
}
}
Expand Down
14 changes: 7 additions & 7 deletions diffs/preTestEnginePriceFeed_postTestEnginePriceFeed.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

| description | value before | value after |
| --- | --- | --- |
| oracle | [0x72484B12719E23115761D5DA1646945632979bB6](https://polygonscan.com/address/0x72484B12719E23115761D5DA1646945632979bB6) | [0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7](https://polygonscan.com/address/0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7) |
| oracleDescription | AAVE / USD | USDC / USD |
| oracleLatestAnswer | 92.5207 | 1.0001 |
| oracle | [0x72484B12719E23115761D5DA1646945632979bB6](https://polygonscan.com/address/0x72484B12719E23115761D5DA1646945632979bB6) | [0x17E33D122FC34c7ad8FBd4a1995Dff9c8aE675eb](https://polygonscan.com/address/0x17E33D122FC34c7ad8FBd4a1995Dff9c8aE675eb) |
| oracleDescription | AAVE / USD | Capped USDC/USD |
| oracleLatestAnswer | 113.57664588 | 0.99991524 |


## Raw diff
Expand All @@ -19,15 +19,15 @@
"0xD6DF932A45C0f255f85145f286eA0b292B21C90B": {
"oracle": {
"from": "0x72484B12719E23115761D5DA1646945632979bB6",
"to": "0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7"
"to": "0x17E33D122FC34c7ad8FBd4a1995Dff9c8aE675eb"
},
"oracleDescription": {
"from": "AAVE / USD",
"to": "USDC / USD"
"to": "Capped USDC/USD"
},
"oracleLatestAnswer": {
"from": 9252070000,
"to": 100010000
"from": 11357664588,
"to": 99991524
}
}
}
Expand Down
31 changes: 31 additions & 0 deletions src/adi/BaseAdaptersUpdate.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IProposalGenericExecutor} from '../interfaces/IProposalGenericExecutor.sol';
import './BaseReceiverAdaptersUpdate.sol';
import './BaseForwarderAdaptersUpdate.sol';

/**
* @title Base payload aDI and bridge adapters update
* @author BGD Labs @bgdlabs
*/
abstract contract BaseAdaptersUpdate is
BaseReceiverAdaptersUpdate,
BaseForwarderAdaptersUpdate,
IProposalGenericExecutor
{
address public immutable CROSS_CHAIN_CONTROLLER;

/**
* @param crossChainController address of the CCC of the network where payload will be deployed
*/
constructor(address crossChainController) {
CROSS_CHAIN_CONTROLLER = crossChainController;
}

function execute() public override {
executeReceiversUpdate(CROSS_CHAIN_CONTROLLER);

executeForwardersUpdate(CROSS_CHAIN_CONTROLLER);
}
}
47 changes: 47 additions & 0 deletions src/adi/BaseForwarderAdaptersUpdate.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IBaseForwarderAdaptersUpdate, ICrossChainForwarder} from './interfaces/IBaseForwarderAdaptersUpdate.sol';

/**
* @title Base forwarder payload. It has the methods to update the forwarder bridge adapters.
* @author BGD Labs @bgdlabs
*/
abstract contract BaseForwarderAdaptersUpdate is IBaseForwarderAdaptersUpdate {
/// @inheritdoc IBaseForwarderAdaptersUpdate
function getForwarderBridgeAdaptersToRemove()
public
view
virtual
returns (ICrossChainForwarder.BridgeAdapterToDisable[] memory)
{
return new ICrossChainForwarder.BridgeAdapterToDisable[](0);
}

/// @inheritdoc IBaseForwarderAdaptersUpdate
function getForwarderBridgeAdaptersToEnable()
public
view
virtual
returns (ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[] memory)
{
return new ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[](0);
}

/// @inheritdoc IBaseForwarderAdaptersUpdate
function executeForwardersUpdate(address crossChainController) public virtual {
// remove forwarding adapters
ICrossChainForwarder.BridgeAdapterToDisable[]
memory forwardersToRemove = getForwarderBridgeAdaptersToRemove();
if (forwardersToRemove.length != 0) {
ICrossChainForwarder(crossChainController).disableBridgeAdapters(forwardersToRemove);
}

// add forwarding adapters
ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]
memory forwardersToEnable = getForwarderBridgeAdaptersToEnable();
if (forwardersToEnable.length != 0) {
ICrossChainForwarder(crossChainController).enableBridgeAdapters(forwardersToEnable);
}
}
}
48 changes: 48 additions & 0 deletions src/adi/BaseReceiverAdaptersUpdate.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IBaseReceiverAdaptersUpdate, ICrossChainReceiver} from './interfaces/IBaseReceiverAdaptersUpdate.sol';

/**
* @title Base receiver payload. It has the methods to update the receiver bridge adapters.
* @author BGD Labs @bgdlabs
*/
abstract contract BaseReceiverAdaptersUpdate is IBaseReceiverAdaptersUpdate {
/// @inheritdoc IBaseReceiverAdaptersUpdate
function getReceiverBridgeAdaptersToRemove()
public
view
virtual
returns (ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[] memory)
{
// remove old Receiver bridge adapter
return new ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[](0);
}

/// @inheritdoc IBaseReceiverAdaptersUpdate
function getReceiverBridgeAdaptersToAllow()
public
view
virtual
returns (ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[] memory)
{
return new ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[](0);
}

/// @inheritdoc IBaseReceiverAdaptersUpdate
function executeReceiversUpdate(address crossChainController) public virtual {
// remove old Receiver bridge adapter
ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[]
memory receiversToRemove = getReceiverBridgeAdaptersToRemove();
if (receiversToRemove.length != 0) {
ICrossChainReceiver(crossChainController).disallowReceiverBridgeAdapters(receiversToRemove);
}

// add receiver adapters
ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[]
memory receiversToAllow = getReceiverBridgeAdaptersToAllow();
if (receiversToAllow.length != 0) {
ICrossChainReceiver(crossChainController).allowReceiverBridgeAdapters(receiversToAllow);
}
}
}
Loading

1 comment on commit 8ff94a6

@github-actions
Copy link
Contributor

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 286 files with 0.8.18
Solc 0.8.18 finished in 78.02s
Compiler run successful with warnings:
Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
   --> src/adi/test/ADITestBase.sol:151:5:
    |
151 |     address payload,
    |     ^^^^^^^^^^^^^^^

Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
   --> src/adi/test/ADITestBase.sol:152:5:
    |
152 |     address crossChainController,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
  --> tests/adi/SimpleOneToManyAdapterUpdatePayloadTest.t.sol:66:3:
   |
66 |   function getDestinationPayloadsByChain()
   |   ^ (Relevant source part starts here and spans across multiple lines).

| Contract                                    | Size (B) | Margin (B) |
|---------------------------------------------|----------|------------|
| AaveGovernanceV2                            |       86 |     24,490 |
| AavePolEthERC20Bridge                       |    4,186 |     20,390 |
| AaveSafetyModule                            |       86 |     24,490 |
| AaveSwapper                                 |    5,613 |     18,963 |
| AaveV1                                      |       86 |     24,490 |
| AaveV2Avalanche                             |       86 |     24,490 |
| AaveV2AvalancheAssets                       |       86 |     24,490 |
| AaveV2ConfigEngine                          |    3,180 |     21,396 |
| AaveV2Ethereum                              |       86 |     24,490 |
| AaveV2EthereumAMM                           |       86 |     24,490 |
| AaveV2EthereumAMMAssets                     |       86 |     24,490 |
| AaveV2EthereumArc                           |       86 |     24,490 |
| AaveV2EthereumArcAssets                     |       86 |     24,490 |
| AaveV2EthereumAssets                        |       86 |     24,490 |
| AaveV2EthereumRatesUpdate                   |    1,512 |     23,064 |
| AaveV2Fuji                                  |       86 |     24,490 |
| AaveV2FujiAssets                            |       86 |     24,490 |
| AaveV2Mumbai                                |       86 |     24,490 |
| AaveV2MumbaiAssets                          |       86 |     24,490 |
| AaveV2Polygon                               |       86 |     24,490 |
| AaveV2PolygonAssets                         |       86 |     24,490 |
| AaveV3Arbitrum                              |       86 |     24,490 |
| AaveV3ArbitrumAssets                        |       86 |     24,490 |
| AaveV3ArbitrumEModes                        |       86 |     24,490 |
| AaveV3ArbitrumRatesUpdates070322            |    4,674 |     19,902 |
| AaveV3ArbitrumSepolia                       |       86 |     24,490 |
| AaveV3ArbitrumSepoliaAssets                 |       86 |     24,490 |
| AaveV3ArbitrumSepoliaEModes                 |       86 |     24,490 |
| AaveV3Avalanche                             |       86 |     24,490 |
| AaveV3AvalancheAssets                       |       86 |     24,490 |
| AaveV3AvalancheCollateralUpdate             |    3,408 |     21,168 |
| AaveV3AvalancheCollateralUpdateCorrectBonus |    3,408 |     21,168 |
| AaveV3AvalancheCollateralUpdateNoChange     |    3,428 |     21,148 |
| AaveV3AvalancheCollateralUpdateWrongBonus   |    3,408 |     21,168 |
| AaveV3AvalancheEModeCategoryUpdateEdgeBonus |    3,379 |     21,197 |
| AaveV3AvalancheEModeCategoryUpdateNoChange  |    3,443 |     21,133 |
| AaveV3AvalancheEModes                       |       86 |     24,490 |
| AaveV3AvalancheRatesUpdates070322           |    5,115 |     19,461 |
| AaveV3BNB                                   |       86 |     24,490 |
| AaveV3BNBAssets                             |       86 |     24,490 |
| AaveV3BNBEModes                             |       86 |     24,490 |
| AaveV3Base                                  |       86 |     24,490 |
| AaveV3BaseAssets                            |       86 |     24,490 |
| AaveV3BaseEModes                            |       86 |     24,490 |
| AaveV3BaseSepolia                           |       86 |     24,490 |
| AaveV3BaseSepoliaAssets                     |       86 |     24,490 |
| AaveV3BaseSepoliaEModes                     |       86 |     24,490 |
| AaveV3ConfigEngine                          |    8,273 |     16,303 |
| AaveV3Ethereum                              |       86 |     24,490 |
| AaveV3EthereumAssetEModeUpdate              |    3,257 |     21,319 |
| AaveV3EthereumAssets                        |       86 |     24,490 |
| AaveV3EthereumEModes                        |       86 |     24,490 |
| AaveV3EthereumMockCapUpdate                 |    3,335 |     21,241 |
| AaveV3EthereumMockCustomListing             |    4,166 |     20,410 |
| AaveV3Fantom                                |       86 |     24,490 |
| AaveV3FantomAssets                          |       86 |     24,490 |
| AaveV3FantomEModes                          |       86 |     24,490 |
| AaveV3FantomTestnet                         |       86 |     24,490 |
| AaveV3FantomTestnetAssets                   |       86 |     24,490 |
| AaveV3FantomTestnetEModes                   |       86 |     24,490 |
| AaveV3Fuji                                  |       86 |     24,490 |
| AaveV3FujiAssets                            |       86 |     24,490 |
| AaveV3FujiEModes                            |       86 |     24,490 |
| AaveV3Gnosis                                |       86 |     24,490 |
| AaveV3GnosisAssets                          |       86 |     24,490 |
| AaveV3GnosisEModes                          |       86 |     24,490 |
| AaveV3Harmony                               |       86 |     24,490 |
| AaveV3HarmonyAssets                         |       86 |     24,490 |
| AaveV3HarmonyEModes                         |       86 |     24,490 |
| AaveV3Metis                                 |       86 |     24,490 |
| AaveV3MetisAssets                           |       86 |     24,490 |
| AaveV3MetisEModes                           |       86 |     24,490 |
| AaveV3Mumbai                                |       86 |     24,490 |
| AaveV3MumbaiAssets                          |       86 |     24,490 |
| AaveV3MumbaiEModes                          |       86 |     24,490 |
| AaveV3Optimism                              |       86 |     24,490 |
| AaveV3OptimismAssets                        |       86 |     24,490 |
| AaveV3OptimismEModes                        |       86 |     24,490 |
| AaveV3OptimismMockRatesUpdate               |    3,669 |     20,907 |
| AaveV3OptimismRatesUpdates070322            |    4,377 |     20,199 |
| AaveV3OptimismSepolia                       |       86 |     24,490 |
| AaveV3OptimismSepoliaAssets                 |       86 |     24,490 |
| AaveV3OptimismSepoliaEModes                 |       86 |     24,490 |
| AaveV3Polygon                               |       86 |     24,490 |
| AaveV3PolygonAssets                         |       86 |     24,490 |
| AaveV3PolygonBorrowUpdate                   |    3,428 |     21,148 |
| AaveV3PolygonBorrowUpdateNoChange           |    3,450 |     21,126 |
| AaveV3PolygonEModeCategoryUpdate            |    3,377 |     21,199 |
| AaveV3PolygonEModes                         |       86 |     24,490 |
| AaveV3PolygonMockListing                    |    3,986 |     20,590 |
| AaveV3PolygonPriceFeedUpdate                |    3,276 |     21,300 |
| AaveV3PolygonRatesUpdates070322             |    5,730 |     18,846 |
| AaveV3PolygonZkEvm                          |       86 |     24,490 |
| AaveV3PolygonZkEvmAssets                    |       86 |     24,490 |
| AaveV3PolygonZkEvmEModes                    |       86 |     24,490 |
| AaveV3Scroll                                |       86 |     24,490 |
| AaveV3ScrollAssets                          |       86 |     24,490 |
| AaveV3ScrollEModes                          |       86 |     24,490 |
| AaveV3ScrollSepolia                         |       86 |     24,490 |
| AaveV3ScrollSepoliaAssets                   |       86 |     24,490 |
| AaveV3ScrollSepoliaEModes                   |       86 |     24,490 |
| AaveV3Sepolia                               |       86 |     24,490 |
| AaveV3SepoliaAssets                         |       86 |     24,490 |
| AaveV3SepoliaEModes                         |       86 |     24,490 |
| Address                                     |       86 |     24,490 |
| BorrowEngine                                |    2,922 |     21,654 |
| CapsEngine                                  |    1,256 |     23,320 |
| CapsPlusRiskSteward                         |    2,607 |     21,969 |
| CapsPlusRiskStewardErrors                   |      556 |     24,020 |
| ChainHelpers                                |       86 |     24,490 |
| ChainIds                                    |       86 |     24,490 |
| CollateralEngine                            |    2,836 |     21,740 |
| ConfiguratorInputTypes                      |       86 |     24,490 |
| Create2Utils                                |      164 |     24,412 |
| DataTypes                                   |       86 |     24,490 |
| DefaultReserveInterestRateStrategy          |    3,485 |     21,091 |
| DeployEngineArbLib                          |       86 |     24,490 |
| DeployEngineAvaLib                          |       86 |     24,490 |
| DeployEngineBaseLib                         |       86 |     24,490 |
| DeployEngineBnbLib                          |       86 |     24,490 |
| DeployEngineEthLib                          |       86 |     24,490 |
| DeployEngineGnoLib                          |       86 |     24,490 |
| DeployEngineMetLib                          |       86 |     24,490 |
| DeployEngineOptLib                          |       86 |     24,490 |
| DeployEnginePolLib                          |       86 |     24,490 |
| DeployEngineScrollLib                       |       86 |     24,490 |
| DeployEngineZkEvmLib                        |       86 |     24,490 |
| DeployRatesFactoryArbLib                    |       86 |     24,490 |
| DeployRatesFactoryAvaLib                    |       86 |     24,490 |
| DeployRatesFactoryBasLib                    |       86 |     24,490 |
| DeployRatesFactoryBnbLib                    |       86 |     24,490 |
| DeployRatesFactoryEthLib                    |       86 |     24,490 |
| DeployRatesFactoryGnoLib                    |       86 |     24,490 |
| DeployRatesFactoryLib                       |       86 |     24,490 |
| DeployRatesFactoryMetLib                    |       86 |     24,490 |
| DeployRatesFactoryOptLib                    |       86 |     24,490 |
| DeployRatesFactoryPolLib                    |       86 |     24,490 |
| DeployRatesFactoryScrollLib                 |       86 |     24,490 |
| DeployRatesFactoryZkEvmLib                  |       86 |     24,490 |
| DeployV2EngineAvaLib                        |       86 |     24,490 |
| DeployV2EngineEthAMMLib                     |       86 |     24,490 |
| DeployV2EngineEthLib                        |       86 |     24,490 |
| DeployV2EnginePolLib                        |       86 |     24,490 |
| DeployV2RatesFactoryAvaLib                  |       86 |     24,490 |
| DeployV2RatesFactoryEthAMMLib               |       86 |     24,490 |
| DeployV2RatesFactoryEthLib                  |       86 |     24,490 |
| DeployV2RatesFactoryLib                     |       86 |     24,490 |
| DeployV2RatesFactoryPolLib                  |       86 |     24,490 |
| EModeEngine                                 |    4,404 |     20,172 |
| ERC1967Proxy                                |      699 |     23,877 |
| EngineFlags                                 |       86 |     24,490 |
| EnumerableSet                               |       86 |     24,490 |
| EnvelopeUtils                               |       86 |     24,490 |
| Errors                                      |    4,714 |     19,862 |
| FreezingSteward                             |      715 |     23,861 |
| GovHelpers                                  |       86 |     24,490 |
| GovV3Helpers                                |    2,622 |     21,954 |
| GovV3StorageHelpers                         |       86 |     24,490 |
| GovernanceV3Arbitrum                        |       86 |     24,490 |
| GovernanceV3Avalanche                       |       86 |     24,490 |
| GovernanceV3BNB                             |       86 |     24,490 |
| GovernanceV3Base                            |       86 |     24,490 |
| GovernanceV3Ethereum                        |       86 |     24,490 |
| GovernanceV3Fuji                            |       86 |     24,490 |
| GovernanceV3Gnosis                          |       86 |     24,490 |
| GovernanceV3Metis                           |       86 |     24,490 |
| GovernanceV3Mumbai                          |       86 |     24,490 |
| GovernanceV3Optimism                        |       86 |     24,490 |
| GovernanceV3Polygon                         |       86 |     24,490 |
| GovernanceV3PolygonZkEvm                    |       86 |     24,490 |
| GovernanceV3Scroll                          |       86 |     24,490 |
| IpfsUtils                                   |       86 |     24,490 |
| ListingEngine                               |    8,792 |     15,784 |
| MiscArbitrum                                |       86 |     24,490 |
| MiscArbitrumSepolia                         |       86 |     24,490 |
| MiscAvalanche                               |       86 |     24,490 |
| MiscBNB                                     |       86 |     24,490 |
| MiscBase                                    |       86 |     24,490 |
| MiscBaseSepolia                             |       86 |     24,490 |
| MiscEthereum                                |       86 |     24,490 |
| MiscFantom                                  |       86 |     24,490 |
| MiscGnosis                                  |       86 |     24,490 |
| MiscMetis                                   |       86 |     24,490 |
| MiscMumbai                                  |       86 |     24,490 |
| MiscOptimism                                |       86 |     24,490 |
| MiscOptimismSepolia                         |       86 |     24,490 |
| MiscPolygon                                 |       86 |     24,490 |
| MiscPolygonZkEvm                            |       86 |     24,490 |
| MiscScroll                                  |       86 |     24,490 |
| MiscSepolia                                 |       86 |     24,490 |
| MockExecutor                                |      437 |     24,139 |
| MyPayload                                   |    1,530 |     23,046 |
| PayloadWithEmit                             |      150 |     24,426 |
| PayloadsControllerUtils                     |       86 |     24,490 |
| PercentageMath                              |       86 |     24,490 |
| PriceFeedEngine                             |    1,657 |     22,919 |
| ProxyAdmin                                  |    1,683 |     22,893 |
| ProxyHelpers                                |       86 |     24,490 |
| RateEngine                                  |    3,596 |     20,980 |
| ReserveConfiguration                        |      171 |     24,405 |
| SafeCast                                    |       86 |     24,490 |
| SafeERC20                                   |       86 |     24,490 |
| SafeMath                                    |       86 |     24,490 |
| SimpleOneToManyAdapterUpdateEthereumPayload |    2,807 |     21,769 |
| SimpleOneToManyAdapterUpdatePayload         |    2,922 |     21,654 |
| StorageHelpers                              |       86 |     24,490 |
| StorageSlot                                 |       86 |     24,490 |
| StrategicAssetsManager                      |    9,691 |     14,885 |
| TransactionUtils                            |       86 |     24,490 |
| TransparentProxyFactory                     |    7,505 |     17,071 |
| TransparentUpgradeableProxy                 |    2,096 |     22,480 |
| V2RateStrategyFactory                       |    8,842 |     15,734 |
| V3RateStrategyFactory                       |    9,279 |     15,297 |
| WadRayMath                                  |       86 |     24,490 |
Test success 🌈
No files changed, compilation skipped

Ran 2 tests for tests/swaps/AaveSwapperTest.t.sol:UpdateGuardian
[PASS] test_revertsIf_invalidCaller() (gas: 14546)
[PASS] test_successful() (gas: 22582)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 37.01ms (313.71µs CPU time)

Ran 1 test for tests/CommonTestBase.t.sol:CommonTestBaseTest
[PASS] test_deal2_shouldMaintainCurrentCaller() (gas: 52826)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 42.72ms (410.27µs CPU time)

Ran 1 test for tests/swaps/DepositV2SwapPayloadTest.t.sol:DepositV2SwapPayloadTest
[PASS] test_successful() (gas: 565530)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 35.05ms (3.23ms CPU time)

Ran 3 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:BridgeTest
[PASS] test_revertsIf_invalidChain() (gas: 8591)
[PASS] test_revertsIf_notOwner() (gas: 66692)
[PASS] test_successful() (gas: 59513)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 97.63ms (1.08ms CPU time)

Ran 1 test for tests/swaps/DepositV3SwapPayloadTest.t.sol:DepositV3SwapPayloadTest
[PASS] test_successful() (gas: 187665)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 46.05ms (1.98ms CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:EmergencyTokenTransfer
[PASS] test_revertsIf_invalidCaller() (gas: 13140)
[PASS] test_successful_governanceCaller() (gas: 59303)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 79.75ms (688.68µs CPU time)

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestArbitrumAll
[PASS] test_deal() (gas: 47749)
[PASS] test_e2e() (gas: 18028554)
Logs:
  E2E: Collateral DAI, TestAsset DAI
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: DAI, Amount: 999990860083538836455
  WITHDRAW: DAI, Amount: 499995430041769418227
  WITHDRAW: DAI, Amount: 499995430041769418228
  BORROW: DAI, Amount 999990860083538836455, Stable: false
  REPAY: DAI, Amount: 999990860083538836455
  E2E: Collateral DAI, TestAsset LINK
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: LINK, Amount: 63975364796438638841
  WITHDRAW: LINK, Amount: 31987682398219319420
  WITHDRAW: LINK, Amount: 31987682398219319421
  BORROW: LINK, Amount 63975364796438638841, Stable: false
  REPAY: LINK, Amount: 63975364796438638841
  E2E: Collateral DAI, TestAsset USDC
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: USDC, Amount: 999865867
  WITHDRAW: USDC, Amount: 499932933
  WITHDRAW: USDC, Amount: 499932933
  BORROW: USDC, Amount 999865867, Stable: false
  REPAY: USDC, Amount: 999865867
  E2E: Collateral DAI, TestAsset WBTC
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: WBTC, Amount: 2331545
  WITHDRAW: WBTC, Amount: 1165772
  WITHDRAW: WBTC, Amount: 1165773
  BORROW: WBTC, Amount 2331545, Stable: false
  REPAY: WBTC, Amount: 2331545
  E2E: Collateral DAI, TestAsset WETH
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: WETH, Amount: 435612114541922911
  WITHDRAW: WETH, Amount: 217806057270961455
  WITHDRAW: WETH, Amount: 217806057270961455
  BORROW: WETH, Amount 435612114541922911, Stable: false
  REPAY: WETH, Amount: 435612114541922911
  E2E: Collateral DAI, TestAsset USDT
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: USDT, Amount: 1000010000
  WITHDRAW: USDT, Amount: 500005000
  WITHDRAW: USDT, Amount: 500005000
  BORROW: USDT, Amount 1000010000, Stable: false
  REPAY: USDT, Amount: 1000010000
  E2E: Collateral DAI, TestAsset AAVE
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: AAVE, Amount: 9211500189526616399
  WITHDRAW: AAVE, Amount: 4605750094763308199
  WITHDRAW: AAVE, Amount: 4605750094763308200
  E2E: Collateral DAI, TestAsset EURS
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: EURS, Amount: 90365
  WITHDRAW: EURS, Amount: 45182
  WITHDRAW: EURS, Amount: 45183
  BORROW: EURS, Amount 90365, Stable: false
  REPAY: EURS, Amount: 90365
  E2E: Collateral DAI, TestAsset wstETH
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: wstETH, Amount: 378288935072691655
  WITHDRAW: wstETH, Amount: 189144467536345827
  WITHDRAW: wstETH, Amount: 189144467536345828
  BORROW: wstETH, Amount 378288935072691655, Stable: false
  REPAY: wstETH, Amount: 378288935072691655
  E2E: TestAsset MAI SKIPPED
  E2E: Collateral DAI, TestAsset rETH
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: rETH, Amount: 398306593701601373
  WITHDRAW: rETH, Amount: 199153296850800686
  WITHDRAW: rETH, Amount: 199153296850800687
  BORROW: rETH, Amount 398306593701601373, Stable: false
  REPAY: rETH, Amount: 398306593701601373
  E2E: Collateral DAI, TestAsset LUSD
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: LUSD, Amount: 1002232362341555958326
  WITHDRAW: LUSD, Amount: 501116181170777979163
  WITHDRAW: LUSD, Amount: 501116181170777979163
  BORROW: LUSD, Amount 1002232362341555958326, Stable: false
  REPAY: LUSD, Amount: 1002232362341555958326
  E2E: Collateral DAI, TestAsset USDC
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: USDC, Amount: 999865867
  WITHDRAW: USDC, Amount: 499932933
  WITHDRAW: USDC, Amount: 499932935
  BORROW: USDC, Amount 999865867, Stable: false
  REPAY: USDC, Amount: 999865867
  E2E: Collateral DAI, TestAsset FRAX
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: FRAX, Amount: 1000766747451227232256
  WITHDRAW: FRAX, Amount: 500383373725613616128
  WITHDRAW: FRAX, Amount: 500383373725613616129
  BORROW: FRAX, Amount 1000766747451227232256, Stable: false
  REPAY: FRAX, Amount: 1000766747451227232256
  E2E: Collateral DAI, TestAsset ARB
  SUPPLY: DAI, Amount: 99999086008353883645503
  SUPPLY: ARB, Amount: 676722766984049644382
  WITHDRAW: ARB, Amount: 338361383492024822191
  WITHDRAW: ARB, Amount: 338361383492024822192
  BORROW: ARB, Amount 676722766984049644382, Stable: false
  REPAY: ARB, Amount: 676722766984049644382

Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 226.93ms (167.01ms CPU time)

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAsset
[PASS] test_e2eTestAssetMAI() (gas: 1875515)
Logs:
  E2E: Collateral DAI, TestAsset MAI
  SUPPLY: DAI, Amount: 100000000000000000000000
  SUPPLY: MAI, Amount: 1008550074022028407809
  WITHDRAW: MAI, Amount: 504275037011014203904
  WITHDRAW: MAI, Amount: 504275037011014203906
  BORROW: MAI, Amount 1008550074022028407809, Stable: false
  REPAY: MAI, Amount: 1008550074022028407809

[PASS] test_e2eTestAssetUSDC() (gas: 2554928)
Logs:
  E2E: Collateral DAI, TestAsset USDC
  SUPPLY: DAI, Amount: 100000000000000000000000
  SUPPLY: USDC, Amount: 1000008660
  WITHDRAW: USDC, Amount: 500004330
  WITHDRAW: USDC, Amount: 500004330
  BORROW: USDC, Amount 1000008660, Stable: false
  REPAY: USDC, Amount: 1000008660
  BORROW: USDC, Amount 1000008660, Stable: true
  REPAY: USDC, Amount: 1000008660

Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 76.88ms (35.94ms CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ExitMultipleTest
[PASS] test_revertsIf_invalidChain() (gas: 11692)
[PASS] test_revertsIf_proofAlreadyProcessed() (gas: 40005)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 192.98ms (634.38µs CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ExitTest
[PASS] test_revertsIf_invalidChain() (gas: 11198)
[PASS] test_revertsIf_proofAlreadyProcessed() (gas: 39281)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 87.45ms (657.71µs CPU time)

Ran 1 test for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ForkedBridgeTests
[PASS] test_successful() (gas: 400352)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 43.75ms (43.48ms CPU time)

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAvalancheAll
[PASS] test_deal() (gas: 47771)
[PASS] test_e2e() (gas: 13824151)
Logs:
  E2E: Collateral DAI.e, TestAsset DAI.e
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: DAI.e, Amount: 999064745519776571558
  WITHDRAW: DAI.e, Amount: 499532372759888285779
  WITHDRAW: DAI.e, Amount: 499532372759888285778
  BORROW: DAI.e, Amount 999064745519776571558, Stable: false
  REPAY: DAI.e, Amount: 999064745519776571558
  E2E: Collateral DAI.e, TestAsset LINK.e
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: LINK.e, Amount: 63877681904474759372
  WITHDRAW: LINK.e, Amount: 31938840952237379686
  WITHDRAW: LINK.e, Amount: 31938840952237379687
  BORROW: LINK.e, Amount 63877681904474759372, Stable: false
  REPAY: LINK.e, Amount: 63877681904474759372
  E2E: Collateral DAI.e, TestAsset USDC
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: USDC, Amount: 1000048142
  WITHDRAW: USDC, Amount: 500024071
  WITHDRAW: USDC, Amount: 500024070
  BORROW: USDC, Amount 1000048142, Stable: false
  REPAY: USDC, Amount: 1000048142
  E2E: Collateral DAI.e, TestAsset WBTC.e
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: WBTC.e, Amount: 2279072
  WITHDRAW: WBTC.e, Amount: 1139536
  WITHDRAW: WBTC.e, Amount: 1139535
  BORROW: WBTC.e, Amount 2279072, Stable: false
  REPAY: WBTC.e, Amount: 2279072
  E2E: Collateral DAI.e, TestAsset WETH.e
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: WETH.e, Amount: 439512995726389232
  WITHDRAW: WETH.e, Amount: 219756497863194616
  WITHDRAW: WETH.e, Amount: 219756497863194616
  BORROW: WETH.e, Amount 439512995726389232, Stable: false
  REPAY: WETH.e, Amount: 439512995726389232
  E2E: Collateral DAI.e, TestAsset USDt
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: USDt, Amount: 999760057
  WITHDRAW: USDt, Amount: 499880028
  WITHDRAW: USDt, Amount: 499880029
  BORROW: USDt, Amount 999760057, Stable: false
  REPAY: USDt, Amount: 999760057
  E2E: Collateral DAI.e, TestAsset AAVE.e
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: AAVE.e, Amount: 10221219906684350739
  WITHDRAW: AAVE.e, Amount: 5110609953342175369
  WITHDRAW: AAVE.e, Amount: 5110609953342175370
  E2E: Collateral DAI.e, TestAsset WAVAX
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: WAVAX, Amount: 37735849070843716630
  WITHDRAW: WAVAX, Amount: 18867924535421858315
  WITHDRAW: WAVAX, Amount: 18867924535421858315
  BORROW: WAVAX, Amount 37735849070843716630, Stable: false
  REPAY: WAVAX, Amount: 37735849070843716630
  E2E: Collateral DAI.e, TestAsset sAVAX
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: sAVAX, Amount: 33715148546009590037
  WITHDRAW: sAVAX, Amount: 16857574273004795018
  WITHDRAW: sAVAX, Amount: 16857574273004795019
  E2E: Collateral DAI.e, TestAsset FRAX
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: FRAX, Amount: 1000000000000000000000
  WITHDRAW: FRAX, Amount: 500000000000000000000
  WITHDRAW: FRAX, Amount: 500000000000000000000
  BORROW: FRAX, Amount 1000000000000000000000, Stable: false
  REPAY: FRAX, Amount: 1000000000000000000000
  E2E: TestAsset MAI SKIPPED
  E2E: Collateral DAI.e, TestAsset BTC.b
  SUPPLY: DAI.e, Amount: 99906474551977657155806
  SUPPLY: BTC.b, Amount: 2279072
  WITHDRAW: BTC.b, Amount: 1139536
  WITHDRAW: BTC.b, Amount: 1139537
  BORROW: BTC.b, Amount 2279072, Stable: false
  REPAY: BTC.b, Amount: 2279072

Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 280.11ms (132.97ms CPU time)

Ran 3 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:IsTokenMapped
[PASS] test_revertsIf_invalidChain() (gas: 10949)
[PASS] test_successful_returnsFalse() (gas: 18658)
[PASS] test_successful_returnsTrue() (gas: 17018)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 70.60ms (587.54µs CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ReceiveEther
[PASS] test_revertsIf_invalidChain() (gas: 18950)
[PASS] test_successful_forwardsETH() (gas: 29826)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 76.41ms (351.00µs CPU time)

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestMetisAll
[PASS] test_e2e() (gas: 5570772)
Logs:
  E2E: Collateral m.DAI, TestAsset m.DAI
  SUPPLY: m.DAI, Amount: 99997001089937312779989
  SUPPLY: m.DAI, Amount: 999970010899373127799
  WITHDRAW: m.DAI, Amount: 499985005449686563899
  WITHDRAW: m.DAI, Amount: 499985005449686563901
  BORROW: m.DAI, Amount 999970010899373127799, Stable: false
  REPAY: m.DAI, Amount: 999970010899373127799
  E2E: Collateral m.DAI, TestAsset Metis
  SUPPLY: m.DAI, Amount: 99997001089937312779989
  SUPPLY: Metis, Amount: 11636857213789306770
  WITHDRAW: Metis, Amount: 5818428606894653385
  WITHDRAW: Metis, Amount: 5818428606894653385
  BORROW: Metis, Amount 11636857213789306770, Stable: false
  REPAY: Metis, Amount: 11636857213789306770
  E2E: Collateral m.DAI, TestAsset m.USDC
  SUPPLY: m.DAI, Amount: 99997001089937312779989
  SUPPLY: m.USDC, Amount: 1000018220
  WITHDRAW: m.USDC, Amount: 500009110
  WITHDRAW: m.USDC, Amount: 500009109
  Skip Borrowing: m.USDC, borrow cap fully utilized
  E2E: Collateral m.DAI, TestAsset m.USDT
  SUPPLY: m.DAI, Amount: 99997001089937312779989
  SUPPLY: m.USDT, Amount: 1000340115
  WITHDRAW: m.USDT, Amount: 500170057
  WITHDRAW: m.USDT, Amount: 500170059
  Skip Borrowing: m.USDT, borrow cap fully utilized
  E2E: Collateral m.DAI, TestAsset WETH
  SUPPLY: m.DAI, Amount: 99997001089937312779989
  SUPPLY: WETH, Amount: 435637728812215165
  WITHDRAW: WETH, Amount: 217818864406107582
  WITHDRAW: WETH, Amount: 217818864406107582
  BORROW: WETH, Amount 435637728812215165, Stable: false
  REPAY: WETH, Amount: 435637728812215165

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 136.07ms (37.95ms CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:TransferOwnership
[PASS] test_revertsIf_invalidCaller() (gas: 14631)
[PASS] test_successful() (gas: 13464)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 63.88ms (341.84µs CPU time)

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:WithdrawToCollectorTest
[PASS] test_revertsIf_invalidChain() (gas: 10888)
[PASS] test_successful() (gas: 59260)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 107.64ms (765.89µs CPU time)

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestOptimismAll
[PASS] test_e2e() (gas: 15592920)
Logs:
  E2E: Collateral LINK, TestAsset DAI
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: DAI, Amount: 1000028340803178362074
  WITHDRAW: DAI, Amount: 500014170401589181037
  WITHDRAW: DAI, Amount: 500014170401589181037
  BORROW: DAI, Amount 1000028340803178362074, Stable: false
  REPAY: DAI, Amount: 1000028340803178362074
  BORROW: DAI, Amount 1000028340803178362074, Stable: true
  REPAY: DAI, Amount: 1000028340803178362074
  E2E: Collateral LINK, TestAsset LINK
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: LINK, Amount: 161655350792111218881
  WITHDRAW: LINK, Amount: 80827675396055609440
  WITHDRAW: LINK, Amount: 80827675396055609441
  BORROW: LINK, Amount 161655350792111218881, Stable: false
  REPAY: LINK, Amount: 161655350792111218881
  E2E: Collateral LINK, TestAsset USDC
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: USDC, Amount: 1000000000
  WITHDRAW: USDC, Amount: 500000000
  WITHDRAW: USDC, Amount: 500000000
  BORROW: USDC, Amount 1000000000, Stable: false
  REPAY: USDC, Amount: 1000000000
  BORROW: USDC, Amount 1000000000, Stable: true
  REPAY: USDC, Amount: 1000000000
  E2E: Collateral LINK, TestAsset WBTC
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: WBTC, Amount: 3859651
  WITHDRAW: WBTC, Amount: 1929825
  WITHDRAW: WBTC, Amount: 1929826
  BORROW: WBTC, Amount 3859651, Stable: false
  REPAY: WBTC, Amount: 3859651
  E2E: Collateral LINK, TestAsset WETH
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: WETH, Amount: 545589454847016716
  WITHDRAW: WETH, Amount: 272794727423508358
  WITHDRAW: WETH, Amount: 272794727423508359
  BORROW: WETH, Amount 545589454847016716, Stable: false
  REPAY: WETH, Amount: 545589454847016716
  E2E: Collateral LINK, TestAsset USDT
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: USDT, Amount: 999945153
  WITHDRAW: USDT, Amount: 499972576
  WITHDRAW: USDT, Amount: 499972576
  BORROW: USDT, Amount 999945153, Stable: false
  REPAY: USDT, Amount: 999945153
  BORROW: USDT, Amount 999945153, Stable: true
  REPAY: USDT, Amount: 999945153
  E2E: Collateral LINK, TestAsset AAVE
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: AAVE, Amount: 16473146728162900180
  WITHDRAW: AAVE, Amount: 8236573364081450090
  WITHDRAW: AAVE, Amount: 8236573364081450090
  E2E: Collateral LINK, TestAsset sUSD
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: sUSD, Amount: 1002139326949598925802
  WITHDRAW: sUSD, Amount: 501069663474799462901
  WITHDRAW: sUSD, Amount: 501069663474799462900
  BORROW: sUSD, Amount 1002139326949598925802, Stable: false
  REPAY: sUSD, Amount: 1002139326949598925802
  E2E: Collateral LINK, TestAsset OP
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: OP, Amount: 656598818122127380170
  WITHDRAW: OP, Amount: 328299409061063690085
  WITHDRAW: OP, Amount: 328299409061063690085
  E2E: Collateral LINK, TestAsset wstETH
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: wstETH, Amount: 484382291714219929
  WITHDRAW: wstETH, Amount: 242191145857109964
  WITHDRAW: wstETH, Amount: 242191145857109965
  BORROW: wstETH, Amount 484382291714219929, Stable: false
  REPAY: wstETH, Amount: 484382291714219929
  E2E: Collateral LINK, TestAsset LUSD
  SUPPLY: LINK, Amount: 16165535079211121888134
  SUPPLY: LUSD, Amount: 994369254826541580848
  WITHDRAW: LUSD, Amount: 497184627413270790424
  WITHDRAW: LUSD, Amount: 497184627413270790424
  BORROW: LUSD, Amount 994369254826541580848, Stable: false
  REPAY: LUSD, Amount: 994369254826541580848
  E2E: TestAsset MAI SKIPPED

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 150.40ms (108.75ms CPU time)

Ran 6 tests for tests/swaps/AaveSwapperTest.t.sol:AaveSwapperSwap
[PASS] test_revertsIf_amountIsZero() (gas: 12452)
[PASS] test_revertsIf_fromTokenIsZeroAddress() (gas: 12435)
[PASS] test_revertsIf_invalidCaller() (gas: 11669)
[PASS] test_revertsIf_invalidRecipient() (gas: 12496)
[PASS] test_revertsIf_toTokenIsZeroAddress() (gas: 12373)
[PASS] test_successful() (gas: 384499)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 40.76ms (1.81ms CPU time)

Ran 3 tests for tests/swaps/AaveSwapperTest.t.sol:CancelSwap
[PASS] test_revertsIf_invalidCaller() (gas: 15418)
[PASS] test_revertsIf_noMatchingTrade() (gas: 389583)
[PASS] test_successful() (gas: 428095)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 45.85ms (4.28ms CPU time)

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestOptimismSnapshot
[PASS] test_snapshot() (gas: 7658823)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 73.83ms (39.12ms CPU time)

Ran 2 tests for tests/swaps/AaveSwapperTest.t.sol:EmergencyTokenTransfer
[PASS] test_revertsIf_invalidCaller() (gas: 10861)
[PASS] test_successful_governanceCaller() (gas: 59055)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 38.60ms (499.32µs CPU time)

Ran 2 tests for tests/ProxyHelpersTest.t.sol:ProxyHelpersTest
[PASS] testAdmin() (gas: 3274)
[PASS] testImplementation() (gas: 3219)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 32.42ms (275.20µs CPU time)

Ran 7 tests for tests/swaps/AaveSwapperTest.t.sol:GetExpectedOut
[PASS] test_aaveToUsdc() (gas: 88295)
[PASS] test_aaveToUsdc_withEthBasedOracles() (gas: 81902)
[PASS] test_balTo80BAL20WETH() (gas: 83738)
[PASS] test_ethToBal() (gas: 69531)
[PASS] test_ethToDai() (gas: 73712)
[PASS] test_revertsIf_fromOracleIsAddressZero() (gas: 9238)
[PASS] test_revertsIf_toOracleIsAddressZero() (gas: 9242)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 34.19ms (4.06ms CPU time)

Ran 1 test for tests/swaps/AaveSwapperTest.t.sol:Initialize
[PASS] test_revertsIf_alreadyInitialized() (gas: 10894)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.20ms (74.41µs CPU time)

Ran 2 tests for tests/swaps/AaveSwapperTest.t.sol:RemoveGuardian
[PASS] test_revertsIf_invalidCaller() (gas: 12924)
[PASS] test_successful() (gas: 16184)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 33.04ms (154.92µs CPU time)

Ran 2 tests for tests/swaps/AaveSwapperTest.t.sol:TransferOwnership
[PASS] test_revertsIf_invalidCaller() (gas: 12352)
[PASS] test_successful() (gas: 18297)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 34.32ms (324.24µs CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:ClearDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 12801)
[PASS] test_successful() (gas: 100175)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 35.68ms (630.85µs CPU time)

Ran 5 tests for tests/asset-manager/TestVeTokenManager.t.sol:LockTest
[PASS] test_revertsIf_invalidCaller() (gas: 12834)
[PASS] test_revertsIf_nothingToLockOrRelock() (gas: 119271)
[PASS] test_successful_increaseBalance() (gas: 833681)
[PASS] test_successful_increaseUnlockTime() (gas: 864675)
[PASS] test_successful_locksFirstTime() (gas: 551390)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 149.20ms (6.90ms CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:RemoveBoostOfferTest
[PASS] test_revertsIf_invalidCaller() (gas: 12780)
[PASS] test_successful() (gas: 149611)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 27.96ms (886.33µs CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SellBoostTest
[PASS] test_revertsIf_invalidCaller() (gas: 13541)
[PASS] test_successful() (gas: 164938)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 33.44ms (581.89µs CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SetDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 14537)
[PASS] test_successful() (gas: 101663)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 32.81ms (404.65µs CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SetLockDurationTest
[PASS] test_revertsIf_invalidCaller() (gas: 12828)
[PASS] test_successful() (gas: 35682)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 38.37ms (126.34µs CPU time)

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SetSpaceIdTest
[PASS] test_revertsIf_invalidCaller() (gas: 12769)
[PASS] test_successful() (gas: 101468)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 41.60ms (480.65µs CPU time)

Ran 3 tests for tests/asset-manager/TestVeTokenManager.t.sol:UnlockTest
[PASS] test_revertsIf_invalidCaller() (gas: 12790)
[PASS] test_revertsIf_unlockTimeHasNotPassed() (gas: 564623)
[PASS] test_successful_unlock() (gas: 5347634)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 48.70ms (16.17ms CPU time)

Ran 3 tests for tests/asset-manager/TestVeTokenManager.t.sol:UpdateBoostOfferTest
[PASS] test_revertsIf_invalidCaller() (gas: 13574)
[PASS] test_revertsIf_noOfferExists() (gas: 22570)
[PASS] test_successful() (gas: 181149)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.00ms (2.32ms CPU time)

Ran 2 tests for tests/asset-manager/TestVlTokenManager.t.sol:ClaimVLAURARewardsTest
[PASS] test_revertsIf_invalidCaller() (gas: 12834)
[PASS] test_successful() (gas: 371800)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.37ms (2.18ms CPU time)

Ran 3 tests for tests/asset-manager/TestVlTokenManager.t.sol:DelegateVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 14551)
[PASS] test_revertsIf_nothingToDelegate() (gas: 23759)
[PASS] test_revertsIf_successful() (gas: 411312)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 35.17ms (2.46ms CPU time)

Ran 2 tests for tests/asset-manager/TestVlTokenManager.t.sol:EmergencyWithdrawVLAURA
[PASS] test_revertsIf_invalidCaller() (gas: 12811)
[PASS] test_successful() (gas: 407633)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 34.87ms (2.49ms CPU time)

Ran 3 tests for tests/asset-manager/TestVlTokenManager.t.sol:LockVLAURATest
[PASS] test_revertsIf_insufficientBalance() (gas: 93448)
[PASS] test_revertsIf_invalidCaller() (gas: 12905)
[PASS] test_successful() (gas: 334051)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 35.92ms (2.20ms CPU time)

Ran 4 tests for tests/asset-manager/TestVlTokenManager.t.sol:RelockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12788)
[PASS] test_revertsIf_noExpiredLocks() (gas: 344487)
[PASS] test_revertsIf_noLocks() (gas: 65175)
[PASS] test_successful() (gas: 732818)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 30.58ms (4.09ms CPU time)

Ran 4 tests for tests/asset-manager/TestVlTokenManager.t.sol:UnlockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12813)
[PASS] test_revertsIf_noExpiredLocks() (gas: 344513)
[PASS] test_revertsIf_noLocks() (gas: 65208)
[PASS] test_successful() (gas: 369544)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 40.80ms (6.15ms CPU time)

Ran 2 tests for tests/v2-config-engine/V2RateStrategyFactory.t.sol:V2RateStrategyFactoryTest
[PASS] testCreateStrategies() (gas: 850782)
[PASS] testMultipleCreateStrategies() (gas: 850436)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 45.01ms (1.71ms CPU time)

Ran 2 tests for tests/v3-config-engine/V3RateStrategyFactory.t.sol:V3RateStrategyFactoryTest
[PASS] testCreateStrategies() (gas: 714607)
[PASS] test_multipleCreateStrategies() (gas: 714585)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 32.97ms (922.54µs CPU time)

Ran 4 tests for tests/asset-manager/TestLSDLiquidityGaugeManager.t.sol:SetGaugeController
[PASS] test_revertsIf_invalidCaller() (gas: 12872)
[PASS] test_revertsIf_invalidZeroAddress() (gas: 11485)
[PASS] test_revertsIf_settingToSameController() (gas: 36517)
[PASS] test_successful() (gas: 39567)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 30.31ms (624.08µs CPU time)

Ran 3 tests for tests/asset-manager/TestLSDLiquidityGaugeManager.t.sol:VoteForGaugeWeight
[PASS] test_revertsIf_gaugeIsZeroAddress() (gas: 11597)
[PASS] test_revertsIf_invalidCaller() (gas: 12972)
[PASS] test_successful() (gas: 829941)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 42.73ms (3.09ms CPU time)

Ran 1 test for tests/asset-manager/TestStrategicAssetsManager.t.sol:Initialize
[PASS] test_revertsIf_alreadyInitialized() (gas: 10916)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 42.13ms (94.50µs CPU time)

Ran 2 tests for tests/asset-manager/TestStrategicAssetsManager.t.sol:RemoveStrategicAssetManager
[PASS] test_revertsIf_invalidCaller() (gas: 12902)
[PASS] test_successful() (gas: 16362)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 26.60ms (184.85µs CPU time)

Ran 1 test for tests/v2-config-engine/AaveV2ConfigEngineTest.t.sol:AaveV2ConfigEngineTest
[PASS] testV2RateStrategiesUpdates() (gas: 180815495)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.11s (2.11s CPU time)

Ran 2 tests for tests/asset-manager/TestStrategicAssetsManager.t.sol:SetStrategicAssetManager
[PASS] test_revertsIf_invalidCaller() (gas: 14524)
[PASS] test_successful() (gas: 22760)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 26.98ms (324.29µs CPU time)

Ran 2 tests for tests/asset-manager/TestStrategicAssetsManager.t.sol:TransferOwnership
[PASS] test_revertsIf_invalidCaller() (gas: 12308)
[PASS] test_successful() (gas: 18232)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 26.74ms (451.82µs CPU time)

Ran 3 tests for tests/asset-manager/TestStrategicAssetsManager.t.sol:WithdrawERC20
[PASS] test_revertsIf_insufficientBalance() (gas: 18086)
[PASS] test_revertsIf_invalidCaller() (gas: 10801)
[PASS] test_successful() (gas: 216863)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 26.68ms (1.52ms CPU time)

Ran 3 tests for tests/asset-manager/TestVeTokenManager.t.sol:BuyBoostTest
[PASS] test_revertsIf_estimatedFeeExceedsMaxFee() (gas: 51608)
[PASS] test_revertsIf_invalidCaller() (gas: 16493)
[PASS] test_successful() (gas: 544176)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 31.67ms (3.78ms CPU time)

Ran 3 tests for tests/asset-manager/TestVeTokenManager.t.sol:Claim
[PASS] test_revertsIf_invalidCaller() (gas: 12810)
[PASS] test_revertsIf_noRewardsWereEarned() (gas: 164020)
[PASS] test_successful() (gas: 1208793)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 34.22ms (4.37ms CPU time)

Ran 9 tests for tests/GovV3Test.t.sol:GovernanceV3Test
[PASS] testFail_findPayload() (gas: 17797)
[PASS] test_executePayloadViaAddress() (gas: 76634)
[PASS] test_executePayloadViaId() (gas: 284237)
[PASS] test_expectRevertOnNonExistingPayload() (gas: 3374)
[PASS] test_helpers() (gas: 202943276)
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
  E2E: Collateral WETH, TestAsset WETH
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: WETH, Amount: 387152512099111656
  WITHDRAW: WETH, Amount: 193576256049555828
  WITHDRAW: WETH, Amount: 193576256049555829
  BORROW: WETH, Amount 387152512099111656, Stable: false
  REPAY: WETH, Amount: 387152512099111656
  E2E: Collateral WETH, TestAsset wstETH
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: wstETH, Amount: 335646642971739590
  WITHDRAW: wstETH, Amount: 167823321485869795
  WITHDRAW: wstETH, Amount: 167823321485869796
  BORROW: wstETH, Amount 335646642971739590, Stable: false
  REPAY: wstETH, Amount: 335646642971739590
  E2E: Collateral WETH, TestAsset WBTC
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: WBTC, Amount: 2287699
  WITHDRAW: WBTC, Amount: 1143849
  WITHDRAW: WBTC, Amount: 1143850
  BORROW: WBTC, Amount 2287699, Stable: false
  REPAY: WBTC, Amount: 2287699
  E2E: Collateral WETH, TestAsset USDC
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: USDC, Amount: 999957431
  WITHDRAW: USDC, Amount: 499978715
  WITHDRAW: USDC, Amount: 499978717
  BORROW: USDC, Amount 999957431, Stable: false
  REPAY: USDC, Amount: 999957431
  E2E: Collateral WETH, TestAsset DAI
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: DAI, Amount: 1000373749636601730772
  WITHDRAW: DAI, Amount: 500186874818300865386
  WITHDRAW: DAI, Amount: 500186874818300865386
  BORROW: DAI, Amount 1000373749636601730772, Stable: false
  REPAY: DAI, Amount: 1000373749636601730772
  E2E: Collateral WETH, TestAsset LINK
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: LINK, Amount: 69903880612291948977
  WITHDRAW: LINK, Amount: 34951940306145974488
  WITHDRAW: LINK, Amount: 34951940306145974489
  BORROW: LINK, Amount 69903880612291948977, Stable: false
  REPAY: LINK, Amount: 69903880612291948977
  E2E: Collateral WETH, TestAsset AAVE
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: AAVE, Amount: 9480842960220067589
  WITHDRAW: AAVE, Amount: 4740421480110033794
  WITHDRAW: AAVE, Amount: 4740421480110033795
  E2E: Collateral WETH, TestAsset cbETH
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: cbETH, Amount: 366101666287891006
  WITHDRAW: cbETH, Amount: 183050833143945503
  WITHDRAW: cbETH, Amount: 183050833143945502
  BORROW: cbETH, Amount 366101666287891006, Stable: false
  REPAY: cbETH, Amount: 366101666287891006
  E2E: Collateral WETH, TestAsset USDT
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: USDT, Amount: 999961761
  WITHDRAW: USDT, Amount: 499980880
  WITHDRAW: USDT, Amount: 499980882
  BORROW: USDT, Amount 999961761, Stable: false
  REPAY: USDT, Amount: 999961761
  E2E: Collateral WETH, TestAsset rETH
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: rETH, Amount: 353501562217827242
  WITHDRAW: rETH, Amount: 176750781108913621
  WITHDRAW: rETH, Amount: 176750781108913622
  BORROW: rETH, Amount 353501562217827242, Stable: false
  REPAY: rETH, Amount: 353501562217827242
  E2E: Collateral WETH, TestAsset LUSD
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: LUSD, Amount: 991284291472712808267
  WITHDRAW: LUSD, Amount: 495642145736356404133
  WITHDRAW: LUSD, Amount: 495642145736356404134
  BORROW: LUSD, Amount 991284291472712808267, Stable: false
  REPAY: LUSD, Amount: 991284291472712808267
  E2E: Collateral WETH, TestAsset CRV
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: CRV, Amount: 1762425096933380331335
  WITHDRAW: CRV, Amount: 881212548466690165667
  WITHDRAW: CRV, Amount: 881212548466690165669
  BORROW: CRV, Amount 1762425096933380331335, Stable: false
  REPAY: CRV, Amount: 1762425096933380331335
  E2E: Collateral WETH, TestAsset MKR
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: MKR, Amount: 489494757217453346
  WITHDRAW: MKR, Amount: 244747378608726673
  WITHDRAW: MKR, Amount: 244747378608726672
  BORROW: MKR, Amount 489494757217453346, Stable: false
  REPAY: MKR, Amount: 489494757217453346
  E2E: Collateral WETH, TestAsset SNX
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: SNX, Amount: 258591040854798544649
  WITHDRAW: SNX, Amount: 129295520427399272324
  WITHDRAW: SNX, Amount: 129295520427399272325
  BORROW: SNX, Amount 258591040854798544649, Stable: false
  REPAY: SNX, Amount: 258591040854798544649
  E2E: Collateral WETH, TestAsset BAL
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: BAL, Amount: 230914051358559383391
  WITHDRAW: BAL, Amount: 115457025679279691695
  WITHDRAW: BAL, Amount: 115457025679279691695
  BORROW: BAL, Amount 230914051358559383391, Stable: false
  REPAY: BAL, Amount: 230914051358559383391
  E2E: Collateral WETH, TestAsset UNI
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: UNI, Amount: 149316137911693820856
  WITHDRAW: UNI, Amount: 74658068955846910428
  WITHDRAW: UNI, Amount: 74658068955846910428
  BORROW: UNI, Amount 149316137911693820856, Stable: false
  REPAY: UNI, Amount: 149316137911693820856
  E2E: Collateral WETH, TestAsset LDO
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: LDO, Amount: 275384694725064278711
  WITHDRAW: LDO, Amount: 137692347362532139355
  WITHDRAW: LDO, Amount: 137692347362532139356
  BORROW: LDO, Amount 275384694725064278711, Stable: false
  REPAY: LDO, Amount: 275384694725064278711
  E2E: Collateral WETH, TestAsset ENS
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: ENS, Amount: 41260909104308758690
  WITHDRAW: ENS, Amount: 20630454552154379345
  WITHDRAW: ENS, Amount: 20630454552154379344
  BORROW: ENS, Amount 41260909104308758690, Stable: false
  REPAY: ENS, Amount: 41260909104308758690
  E2E: Collateral WETH, TestAsset 1INCH
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: 1INCH, Amount: 2083605243817651536858
  WITHDRAW: 1INCH, Amount: 1041802621908825768429
  WITHDRAW: 1INCH, Amount: 1041802621908825768430
  BORROW: 1INCH, Amount 2083605243817651536858, Stable: false
  REPAY: 1INCH, Amount: 2083605243817651536858
  E2E: Collateral WETH, TestAsset FRAX
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: FRAX, Amount: 1002074815947916480030
  WITHDRAW: FRAX, Amount: 501037407973958240015
  WITHDRAW: FRAX, Amount: 501037407973958240016
  BORROW: FRAX, Amount 1002074815947916480030, Stable: false
  REPAY: FRAX, Amount: 1002074815947916480030
  E2E: Collateral WETH, TestAsset GHO
  SUPPLY: WETH, Amount: 38715251209911165659
  BORROW: GHO, Amount 1000000000000000000000, Stable: false
  REPAY: GHO, Amount: 1000000000000000000000
  E2E: Collateral WETH, TestAsset RPL
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: RPL, Amount: 28861389285133957390
  WITHDRAW: RPL, Amount: 14430694642566978695
  WITHDRAW: RPL, Amount: 14430694642566978695
  BORROW: RPL, Amount 28861389285133957390, Stable: false
  REPAY: RPL, Amount: 28861389285133957390
  E2E: Collateral WETH, TestAsset sDAI
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: sDAI, Amount: 951708828414645146702
  WITHDRAW: sDAI, Amount: 475854414207322573351
  WITHDRAW: sDAI, Amount: 475854414207322573351
  E2E: Collateral WETH, TestAsset STG
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: STG, Amount: 1758103830166326116094
  WITHDRAW: STG, Amount: 879051915083163058047
  WITHDRAW: STG, Amount: 879051915083163058047
  BORROW: STG, Amount 1758103830166326116094, Stable: false
  REPAY: STG, Amount: 1758103830166326116094
  E2E: Collateral WETH, TestAsset KNC
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: KNC, Amount: 1495089274621257257051
  WITHDRAW: KNC, Amount: 747544637310628628525
  WITHDRAW: KNC, Amount: 747544637310628628526
  BORROW: KNC, Amount 1495089274621257257051, Stable: false
  REPAY: KNC, Amount: 1495089274621257257051
  E2E: Collateral WETH, TestAsset FXS
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: FXS, Amount: 110165362284908051526
  WITHDRAW: FXS, Amount: 55082681142454025763
  WITHDRAW: FXS, Amount: 55082681142454025762
  BORROW: FXS, Amount 110165362284908051526, Stable: false
  REPAY: FXS, Amount: 110165362284908051526
  E2E: Collateral WETH, TestAsset crvUSD
  SUPPLY: WETH, Amount: 38715251209911165659
  SUPPLY: crvUSD, Amount: 1000920626774094276433
  WITHDRAW: crvUSD, Amount: 500460313387047138216
  WITHDRAW: crvUSD, Amount: 500460313387047138217
  BORROW: crvUSD, Amount 1000920626774094276433, Stable: false
  REPAY: crvUSD, Amount: 1000920626774094276433

[PASS] test_injectPayloadIntoPayloadsController() (gas: 65042)
[PASS] test_injectProposalIntoGovernance() (gas: 105659)
[PASS] test_payloadCreation() (gas: 639390)
Logs:
  https://vote.onaave.com/proposal-create-overview?ipfsHash=0x6861736800000000000000000000000000000000000000000000000000000000&votingPortal=0x9b24C168d6A76b5459B1d47071a54962a4df36c3&payload[0].chainId=1&payload[0].accessLevel=1&payload[0].payloadsController=0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5&payload[0].payloadId=47
  0x3bec1bfc00000000000000000000000000000000000000000000000000000000000000600000000000000000000000009b24c168d6a76b5459b1d47071a54962a4df36c36861736800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dabad81af85554e9ae636395611c58f7ec1aaec5000000000000000000000000000000000000000000000000000000000000002f

[PASS] test_readyPayloadId() (gas: 176834)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 2.27s (2.23s CPU time)

Ran 1 test for tests/PreviewLink.t.sol:PreviewLink
[PASS] testPreviewLink() (gas: 30383)
Logs:
  https://vote.onaave.com/proposal-create-overview?ipfsHash=0x12f2d9c91e4e23ae4009ab9ef5862ee0ae79498937b66252213221f04a5d5b32&votingPortal=0x7FA9385bE102ac3EAc297483Dd6233D62b3e1496&payload[0].chainId=12&payload[0].accessLevel=1&payload[0].payloadsController=0x00000000000000000000000002f52a6ee8f5428d&payload[0].payloadId=1&payload[1].chainId=32&payload[1].accessLevel=1&payload[1].payloadsController=0x00000000000000000000000000018b08761d540a&payload[1].payloadId=2

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 460.32µs (292.22µs CPU time)

Ran 1 test for tests/ProtocolV2TestBase.t.sol:ProtocolV2TestBaseTest
[PASS] testE2E() (gas: 21351673)
Logs:
  E2E: Collateral AAVE, TestAsset USDT
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: USDT, Amount: 1922278804
  WITHDRAW: USDT, Amount: 961139402
  WITHDRAW: USDT, Amount: 961139403
  BORROW: USDT, Amount 1922278804, Stable: false
  REPAY: USDT, Amount: 1922278804
  BORROW: USDT, Amount 1922278804, Stable: true
  REPAY: USDT, Amount: 1922278804
  E2E: Collateral AAVE, TestAsset WBTC
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: WBTC, Amount: 6293388
  WITHDRAW: WBTC, Amount: 3146694
  WITHDRAW: WBTC, Amount: 3146693
  BORROW: WBTC, Amount 6293388, Stable: false
  REPAY: WBTC, Amount: 6293388
  BORROW: WBTC, Amount 6293388, Stable: true
  REPAY: WBTC, Amount: 6293388
  E2E: Collateral AAVE, TestAsset WETH
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: WETH, Amount: 1000000000000000000
  WITHDRAW: WETH, Amount: 500000000000000000
  WITHDRAW: WETH, Amount: 500000000000000001
  BORROW: WETH, Amount 1000000000000000000, Stable: false
  REPAY: WETH, Amount: 1000000000000000000
  BORROW: WETH, Amount 1000000000000000000, Stable: true
  REPAY: WETH, Amount: 1000000000000000000
  E2E: Collateral AAVE, TestAsset AAVE
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: AAVE, Amount: 25535972511960226937
  WITHDRAW: AAVE, Amount: 12767986255980113468
  WITHDRAW: AAVE, Amount: 12767986255980113469
  E2E: Collateral AAVE, TestAsset DAI
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: DAI, Amount: 1914944850736299739803
  WITHDRAW: DAI, Amount: 957472425368149869901
  WITHDRAW: DAI, Amount: 957472425368149869902
  BORROW: DAI, Amount 1914944850736299739803, Stable: false
  REPAY: DAI, Amount: 1914944850736299739803
  BORROW: DAI, Amount 1914944850736299739803, Stable: true
  REPAY: DAI, Amount: 1914944850736299739803
  E2E: Collateral AAVE, TestAsset sUSD
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: sUSD, Amount: 1919434649608077907661
  WITHDRAW: sUSD, Amount: 959717324804038953830
  WITHDRAW: sUSD, Amount: 959717324804038953830
  BORROW: sUSD, Amount 1919434649608077907661, Stable: false
  REPAY: sUSD, Amount: 1919434649608077907661
  E2E: Collateral AAVE, TestAsset USDC
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: USDC, Amount: 1912585127
  WITHDRAW: USDC, Amount: 956292563
  WITHDRAW: USDC, Amount: 956292564
  BORROW: USDC, Amount 1912585127, Stable: false
  REPAY: USDC, Amount: 1912585127
  BORROW: USDC, Amount 1912585127, Stable: true
  REPAY: USDC, Amount: 1912585127
  E2E: Collateral AAVE, TestAsset CRV
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: CRV, Amount: 2447532600357965341777
  WITHDRAW: CRV, Amount: 1223766300178982670888
  WITHDRAW: CRV, Amount: 1223766300178982670889
  E2E: Collateral AAVE, TestAsset GUSD
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: GUSD, Amount: 191331
  WITHDRAW: GUSD, Amount: 95665
  WITHDRAW: GUSD, Amount: 95665
  BORROW: GUSD, Amount 191331, Stable: false
  REPAY: GUSD, Amount: 191331
  E2E: Collateral AAVE, TestAsset USDP
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: USDP, Amount: 1939299150785117381031
  WITHDRAW: USDP, Amount: 969649575392558690515
  WITHDRAW: USDP, Amount: 969649575392558690516
  BORROW: USDP, Amount 1939299150785117381031, Stable: false
  REPAY: USDP, Amount: 1939299150785117381031
  E2E: Collateral AAVE, TestAsset FRAX
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: FRAX, Amount: 1937630504372688546970
  WITHDRAW: FRAX, Amount: 968815252186344273485
  WITHDRAW: FRAX, Amount: 968815252186344273486
  BORROW: FRAX, Amount 1937630504372688546970, Stable: false
  REPAY: FRAX, Amount: 1937630504372688546970
  E2E: Collateral AAVE, TestAsset stETH
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: stETH, Amount: 1000000000000000000
  WITHDRAW: stETH, Amount: 500000000000000000
  WITHDRAW: stETH, Amount: 499999999999999999
  E2E: Collateral AAVE, TestAsset LUSD
  SUPPLY: AAVE, Amount: 2553597251196022693793
  SUPPLY: LUSD, Amount: 1910246445122217347247
  WITHDRAW: LUSD, Amount: 955123222561108673623
  WITHDRAW: LUSD, Amount: 955123222561108673623
  BORROW: LUSD, Amount 1910246445122217347247, Stable: false
  REPAY: LUSD, Amount: 1910246445122217347247
  BORROW: LUSD, Amount 1910246445122217347247, Stable: true
  REPAY: LUSD, Amount: 1910246445122217347247

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 242.91ms (202.09ms CPU time)

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3ArbitrumConfigEngineRatesTest
[PASS] testEngine() (gas: 17588832)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.40s (1.35s CPU time)

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3OptimismConfigEngineRatesTest
[PASS] testEngine() (gas: 20475730)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.44s (1.40s CPU time)

Ran 2 tests for tests/ProtocolV2TestBase.t.sol:ProtocolV2TestE2ETestAsset
[PASS] test_defaultTest() (gas: 51738480)
[PASS] test_e2eTestAssetUSDT() (gas: 3329752)
Logs:
  E2E: Collateral DAI, TestAsset USDT
  SUPPLY: DAI, Amount: 198482420985917995751553
  SUPPLY: USDT, Amount: 1988551823
  WITHDRAW: USDT, Amount: 994275911
  WITHDRAW: USDT, Amount: 994275912
  BORROW: USDT, Amount 1988551823, Stable: false
  REPAY: USDT, Amount: 1988551823

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

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestBaseTest
[PASS] test_e2eTestDPI() (gas: 2402723)
Logs:
  E2E: Collateral WMATIC, TestAsset DPI
  SUPPLY: WMATIC, Amount: 184940190804644255059524
  SUPPLY: DPI, Amount: 16186339863817362599
  WITHDRAW: DPI, Amount: 8093169931908681299
  WITHDRAW: DPI, Amount: 8093169931908681300
  BORROW: DPI, Amount 16186339863817362599, Stable: false
  REPAY: DPI, Amount: 16186339863817362599

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 95.89ms (52.29ms CPU time)

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAllMainnet
[PASS] test_e2e() (gas: 33605049)
Logs:
  E2E: Collateral WETH, TestAsset WETH
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: WETH, Amount: 301641836516157444
  WITHDRAW: WETH, Amount: 150820918258078722
  WITHDRAW: WETH, Amount: 150820918258078722
  BORROW: WETH, Amount 301641836516157444, Stable: false
  REPAY: WETH, Amount: 301641836516157444
  E2E: Collateral WETH, TestAsset wstETH
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: wstETH, Amount: 259819096458389056
  WITHDRAW: wstETH, Amount: 129909548229194528
  WITHDRAW: wstETH, Amount: 129909548229194528
  BORROW: wstETH, Amount 259819096458389056, Stable: false
  REPAY: wstETH, Amount: 259819096458389056
  E2E: Collateral WETH, TestAsset WBTC
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: WBTC, Amount: 1554641
  WITHDRAW: WBTC, Amount: 777320
  WITHDRAW: WBTC, Amount: 777321
  BORROW: WBTC, Amount 1554641, Stable: false
  REPAY: WBTC, Amount: 1554641
  E2E: Collateral WETH, TestAsset USDC
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: USDC, Amount: 999904829
  WITHDRAW: USDC, Amount: 499952414
  WITHDRAW: USDC, Amount: 499952415
  BORROW: USDC, Amount 999904829, Stable: false
  REPAY: USDC, Amount: 999904829
  E2E: Collateral WETH, TestAsset DAI
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: DAI, Amount: 1000142610334807640221
  WITHDRAW: DAI, Amount: 500071305167403820110
  WITHDRAW: DAI, Amount: 500071305167403820110
  BORROW: DAI, Amount 1000142610334807640221, Stable: false
  REPAY: DAI, Amount: 1000142610334807640221
  E2E: Collateral WETH, TestAsset LINK
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: LINK, Amount: 57835386822600971454
  WITHDRAW: LINK, Amount: 28917693411300485727
  WITHDRAW: LINK, Amount: 28917693411300485726
  BORROW: LINK, Amount 57835386822600971454, Stable: false
  REPAY: LINK, Amount: 57835386822600971454
  E2E: Collateral WETH, TestAsset AAVE
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: AAVE, Amount: 8869941953320547114
  WITHDRAW: AAVE, Amount: 4434970976660273557
  WITHDRAW: AAVE, Amount: 4434970976660273557
  E2E: Collateral WETH, TestAsset cbETH
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: cbETH, Amount: 282731472876824898
  WITHDRAW: cbETH, Amount: 141365736438412449
  WITHDRAW: cbETH, Amount: 141365736438412450
  BORROW: cbETH, Amount 282731472876824898, Stable: false
  REPAY: cbETH, Amount: 282731472876824898
  E2E: Collateral WETH, TestAsset USDT
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: USDT, Amount: 1000361030
  WITHDRAW: USDT, Amount: 500180515
  WITHDRAW: USDT, Amount: 500180514
  BORROW: USDT, Amount 1000361030, Stable: false
  REPAY: USDT, Amount: 1000361030
  E2E: Collateral WETH, TestAsset rETH
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: rETH, Amount: 273875273174750208
  WITHDRAW: rETH, Amount: 136937636587375104
  WITHDRAW: rETH, Amount: 136937636587375104
  BORROW: rETH, Amount 273875273174750208, Stable: false
  REPAY: rETH, Amount: 273875273174750208
  E2E: Collateral WETH, TestAsset LUSD
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: LUSD, Amount: 1002673709660707048200
  WITHDRAW: LUSD, Amount: 501336854830353524100
  WITHDRAW: LUSD, Amount: 501336854830353524100
  BORROW: LUSD, Amount 1002673709660707048200, Stable: false
  REPAY: LUSD, Amount: 1002673709660707048200
  E2E: Collateral WETH, TestAsset CRV
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: CRV, Amount: 1580278128950695322376
  WITHDRAW: CRV, Amount: 790139064475347661188
  WITHDRAW: CRV, Amount: 790139064475347661189
  BORROW: CRV, Amount 1580278128950695322376, Stable: false
  REPAY: CRV, Amount: 1580278128950695322376
  E2E: Collateral WETH, TestAsset MKR
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: MKR, Amount: 350020948893799673
  WITHDRAW: MKR, Amount: 175010474446899836
  WITHDRAW: MKR, Amount: 175010474446899837
  BORROW: MKR, Amount 350020948893799673, Stable: false
  REPAY: MKR, Amount: 350020948893799673
  E2E: Collateral WETH, TestAsset SNX
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: SNX, Amount: 268792049122585608345
  WITHDRAW: SNX, Amount: 134396024561292804172
  WITHDRAW: SNX, Amount: 134396024561292804174
  BORROW: SNX, Amount 268792049122585608345, Stable: false
  REPAY: SNX, Amount: 268792049122585608345
  E2E: Collateral WETH, TestAsset BAL
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: BAL, Amount: 215726458850177974328
  WITHDRAW: BAL, Amount: 107863229425088987164
  WITHDRAW: BAL, Amount: 107863229425088987163
  BORROW: BAL, Amount 215726458850177974328, Stable: false
  REPAY: BAL, Amount: 215726458850177974328
  E2E: Collateral WETH, TestAsset UNI
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: UNI, Amount: 89806390892195061277
  WITHDRAW: UNI, Amount: 44903195446097530638
  WITHDRAW: UNI, Amount: 44903195446097530639
  BORROW: UNI, Amount 89806390892195061277, Stable: false
  REPAY: UNI, Amount: 89806390892195061277
  E2E: Collateral WETH, TestAsset LDO
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: LDO, Amount: 419720178181456810376
  WITHDRAW: LDO, Amount: 209860089090728405188
  WITHDRAW: LDO, Amount: 209860089090728405188
  BORROW: LDO, Amount 419720178181456810376, Stable: false
  REPAY: LDO, Amount: 419720178181456810376
  E2E: Collateral WETH, TestAsset ENS
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: ENS, Amount: 50400685449322110780
  WITHDRAW: ENS, Amount: 25200342724661055390
  WITHDRAW: ENS, Amount: 25200342724661055390
  BORROW: ENS, Amount 50400685449322110780, Stable: false
  REPAY: ENS, Amount: 50400685449322110780
  E2E: Collateral WETH, TestAsset 1INCH
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: 1INCH, Amount: 1937346223143537981672
  WITHDRAW: 1INCH, Amount: 968673111571768990836
  WITHDRAW: 1INCH, Amount: 968673111571768990836
  BORROW: 1INCH, Amount 1937346223143537981672, Stable: false
  REPAY: 1INCH, Amount: 1937346223143537981672
  E2E: Collateral WETH, TestAsset FRAX
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: FRAX, Amount: 1002424162351815395170
  WITHDRAW: FRAX, Amount: 501212081175907697585
  WITHDRAW: FRAX, Amount: 501212081175907697586
  BORROW: FRAX, Amount 1002424162351815395170, Stable: false
  REPAY: FRAX, Amount: 1002424162351815395170
  E2E: Collateral WETH, TestAsset GHO
  SUPPLY: WETH, Amount: 30164183651615744497
  BORROW: GHO, Amount 1000000000000000000000, Stable: false
  REPAY: GHO, Amount: 1000000000000000000000
  E2E: Collateral WETH, TestAsset RPL
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: RPL, Amount: 36913990402362495385
  WITHDRAW: RPL, Amount: 18456995201181247692
  WITHDRAW: RPL, Amount: 18456995201181247694
  BORROW: RPL, Amount 36913990402362495385, Stable: false
  REPAY: RPL, Amount: 36913990402362495385
  E2E: Collateral WETH, TestAsset sDAI
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: sDAI, Amount: 940574131340755880361
  WITHDRAW: sDAI, Amount: 470287065670377940180
  WITHDRAW: sDAI, Amount: 470287065670377940182
  E2E: Collateral WETH, TestAsset STG
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: STG, Amount: 1484440928892473912694
  WITHDRAW: STG, Amount: 742220464446236956347
  WITHDRAW: STG, Amount: 742220464446236956347
  BORROW: STG, Amount 1484440928892473912694, Stable: false
  REPAY: STG, Amount: 1484440928892473912694
  E2E: Collateral WETH, TestAsset KNC
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: KNC, Amount: 1319621933594512906430
  WITHDRAW: KNC, Amount: 659810966797256453215
  WITHDRAW: KNC, Amount: 659810966797256453215
  BORROW: KNC, Amount 1319621933594512906430, Stable: false
  REPAY: KNC, Amount: 1319621933594512906430
  E2E: Collateral WETH, TestAsset FXS
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: FXS, Amount: 141508498537689383406
  WITHDRAW: FXS, Amount: 70754249268844691703
  WITHDRAW: FXS, Amount: 70754249268844691702
  BORROW: FXS, Amount 141508498537689383406, Stable: false
  REPAY: FXS, Amount: 141508498537689383406
  E2E: Collateral WETH, TestAsset crvUSD
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: crvUSD, Amount: 1001433201125791176041
  WITHDRAW: crvUSD, Amount: 500716600562895588020
  WITHDRAW: crvUSD, Amount: 500716600562895588021
  BORROW: crvUSD, Amount 1001433201125791176041, Stable: false
  REPAY: crvUSD, Amount: 1001433201125791176041
  E2E: Collateral WETH, TestAsset PYUSD
  SUPPLY: WETH, Amount: 30164183651615744497
  SUPPLY: PYUSD, Amount: 1000500250
  WITHDRAW: PYUSD, Amount: 500250125
  WITHDRAW: PYUSD, Amount: 500250126
  BORROW: PYUSD, Amount 1000500250, Stable: false
  REPAY: PYUSD, Amount: 1000500250

Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 381.78ms (333.88ms CPU time)

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3AvalancheConfigEngineRatesTest
[PASS] testEngine() (gas: 28571212)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.34s (1.30s CPU time)

Ran 9 tests for tests/riskstewards/CapsPlusRiskSteward.t.sol:CapsPlusRiskSteward_Test
[PASS] test_debounce() (gas: 135500)
[PASS] test_increaseCapsMax() (gas: 119606)
[PASS] test_invalidCaller() (gas: 7547)
[PASS] test_keepCurrent() (gas: 52442)
[PASS] test_unlisted() (gas: 32845)
[PASS] test_updateBorrowCapBiggerMax() (gas: 37192)
[PASS] test_updateBorrowCapNotStrictlyHigher() (gas: 45964)
[PASS] test_updateSupplyCapBiggerMax() (gas: 36948)
[PASS] test_updateSupplyCapNotStrictlyHigher() (gas: 45517)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 37.85ms (5.25ms CPU time)

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3PolygonConfigEngineRatesTest
[PASS] testEngine() (gas: 71907297)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.44s (1.40s CPU time)

Ran 21 tests for tests/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testArbitrumRateStrategiesUpdates() (gas: 51983081)
[PASS] testAssetEModeUpdates() (gas: 145379427)
[PASS] testAvaxRateStrategiesUpdates() (gas: 36117061)
[PASS] testBorrowUpdatesNoChange() (gas: 98798060)
[PASS] testBorrowsUpdates() (gas: 98847259)
[PASS] testCapsUpdates() (gas: 145395789)
[PASS] testCollateralUpdateCorrectBonus() (gas: 35578624)
[PASS] testCollateralUpdateWrongBonus() (gas: 8018990)
[PASS] testCollateralsUpdates() (gas: 35580084)
[PASS] testCollateralsUpdatesNoChange() (gas: 35555724)
[PASS] testEModeCategoryUpdates() (gas: 98902171)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 35570303)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 8032277)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 8700844)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 8047788)
[PASS] testListings() (gas: 106391031)
[PASS] testListingsCustom() (gas: 154974483)
[PASS] testOptimismRateStrategiesUpdates() (gas: 46001941)
[PASS] testPolygonRateStrategiesUpdates() (gas: 99571357)
[PASS] testPriceFeedsUpdates() (gas: 98769228)
[PASS] testRateStrategiesUpdates() (gas: 45786574)
Suite result: ok. 21 passed; 0 failed; 0 skipped; finished in 9.15s (25.73s CPU time)
2024-04-16T11:56:00.296049Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@0.10.0", "adi-diff-snapshots", "./reports/adi_test_adi_diffs_before.json", "./reports/adi_test_adi_diffs_after.json", "-o", "./diffs/adi_test_adi_diffs_before_adi_test_adi_diffs_after.md"] stderr="npm WARN exec The following package was not found and will be installed: @bgd-labs/aave-cli@0.10.0
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated interface-ipld-format@1.0.1: This module has been superseded by the multiformats module
npm WARN deprecated cids@1.1.9: This module has been superseded by the multiformats module
npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
npm WARN deprecated multicodec@3.2.1: This module has been superseded by the multiformats module
npm WARN deprecated ipld-dag-pb@0.22.3: This module has been superseded by @ipld/dag-pb and multiformats
"

Ran 1 test for tests/adi/SimpleOneToManyAdapterUpdatePayloadTest.t.sol:SimpleOneToManyAdapterUpdatePayloadTest
[PASS] test_defaultTest() (gas: 1672308)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 18.99s (18.91s CPU time)

Ran 67 test suites in 20.01s (43.60s CPU time): 177 tests passed, 0 failed, 0 skipped (177 total tests)

Please sign in to comment.