Skip to content

Commit

Permalink
chore: remove governance v2 stuff (#249)
Browse files Browse the repository at this point in the history
  • Loading branch information
sakulstra authored Feb 19, 2024
1 parent 7da64a6 commit b0daebb
Show file tree
Hide file tree
Showing 18 changed files with 5 additions and 1,118 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,3 @@
[submodule "lib/aave-address-book"]
path = lib/aave-address-book
url = https://github.com/bgd-labs/aave-address-book
[submodule "lib/governance-crosschain-bridges"]
path = lib/governance-crosschain-bridges
url = https://github.com/aave/governance-crosschain-bridges
2 changes: 1 addition & 1 deletion lib/aave-address-book
Submodule aave-address-book updated 92 files
+0 −1 .gitignore
+15 −0 CHANGELOG.md
+6 −8 README.md
+4 −1 package.json
+2 −3 scripts/configs/abis.ts
+7 −2 scripts/configs/networks/arbitrum.ts
+7 −1 scripts/configs/networks/base.ts
+15 −1 scripts/configs/networks/ethereum.ts
+3 −1 scripts/configs/networks/gnosis.ts
+7 −1 scripts/configs/networks/optimism.ts
+9 −1 scripts/configs/networks/polygon.ts
+0 −14 scripts/configs/pools/arbitrum.ts
+9 −0 scripts/configs/types.ts
+5 −2 scripts/generateAddresses.ts
+1 −2 scripts/generator/assetsLibraryGenerator.ts
+144 −0 scripts/generator/generateTokenList.ts
+9 −13 scripts/generator/governanceV2Generator.ts
+3 −0 scripts/generator/protocolV2Generator.ts
+3 −0 scripts/generator/protocolV3Generator.ts
+1 −4 scripts/generator/safetyModuleGenerator.ts
+0 −3 src/AaveAddressBook.sol
+0 −11 src/AaveGovernanceV2.sol
+10 −10 src/AaveV2EthereumAMM.sol
+21 −0 src/AaveV3Ethereum.sol
+69 −2 src/AaveV3Scroll.sol
+6 −0 src/MiscArbitrum.sol
+6 −0 src/MiscBase.sol
+34 −2 src/MiscEthereum.sol
+3 −0 src/MiscGnosis.sol
+6 −0 src/MiscOptimism.sol
+9 −0 src/MiscPolygon.sol
+0 −278 src/common/IAaveGovernanceV2.sol
+1 −3 src/common/IExecutorWithTimelock.sol
+0 −34 src/common/IGovernanceStrategy.sol
+2 −0 src/test/AaveV2Ethereum.t.sol
+1 −2 src/ts/AaveAddressBook.ts
+2 −6 src/ts/AaveGovernanceV2.ts
+5 −5 src/ts/AaveV2EthereumAMM.ts
+0 −140 src/ts/AaveV3ArbitrumGoerli.ts
+10 −0 src/ts/AaveV3Ethereum.ts
+33 −2 src/ts/AaveV3Scroll.ts
+6 −0 src/ts/MiscArbitrum.ts
+6 −0 src/ts/MiscBase.ts
+32 −2 src/ts/MiscEthereum.ts
+3 −0 src/ts/MiscGnosis.ts
+6 −0 src/ts/MiscOptimism.ts
+9 −0 src/ts/MiscPolygon.ts
+0 −664 src/ts/abis/IAaveGovernanceV2.ts
+225 −0 src/ts/abis/IERC20Detailed.ts
+1 −1 src/ts/abis/IExecutorWithTimelock.ts
+7,188 −0 tokenlist.json
+3 −0 ui/.eslintrc.json
+36 −0 ui/.gitignore
+7 −0 ui/.prettierrc
+19 −0 ui/README.md
+4 −0 ui/next.config.mjs
+5,529 −0 ui/package-lock.json
+32 −0 ui/package.json
+6 −0 ui/postcss.config.js
+36 −0 ui/public/backgroundPattern.svg
+ ui/src/app/favicon.ico
+3 −0 ui/src/app/globals.css
+26 −0 ui/src/app/layout.tsx
+59 −0 ui/src/app/page.tsx
+16 −0 ui/src/assets/chains/arbitrum.svg
+10 −0 ui/src/assets/chains/avalanche.svg
+11 −0 ui/src/assets/chains/base.svg
+14 −0 ui/src/assets/chains/binance.svg
+16 −0 ui/src/assets/chains/ethereum.svg
+16 −0 ui/src/assets/chains/ethereumTestnet.svg
+11 −0 ui/src/assets/chains/fantomOpera.svg
+13 −0 ui/src/assets/chains/gnosis.svg
+19 −0 ui/src/assets/chains/harmonyOne.svg
+10 −0 ui/src/assets/chains/metis.svg
+12 −0 ui/src/assets/chains/optimism.svg
+15 −0 ui/src/assets/chains/polygon.svg
+12 −0 ui/src/assets/chains/polygonZkEvm.svg
+9 −0 ui/src/assets/chains/scroll.svg
+11 −0 ui/src/assets/chains/unknown.svg
+10 −0 ui/src/assets/icons/github.svg
+4 −0 ui/src/assets/icons/twitter.svg
+12 −0 ui/src/assets/icons/website.svg
+54 −0 ui/src/components/Box.tsx
+86 −0 ui/src/components/ChainIcon.tsx
+33 −0 ui/src/components/Footer.tsx
+92 −0 ui/src/components/Search.tsx
+90 −0 ui/src/components/SearchResult.tsx
+7 −0 ui/src/types.ts
+6 −0 ui/src/utils/cn.ts
+26 −0 ui/tailwind.config.ts
+26 −0 ui/tsconfig.json
+44 −0 yarn.lock
2 changes: 1 addition & 1 deletion lib/forge-std
1 change: 0 additions & 1 deletion lib/governance-crosschain-bridges
Submodule governance-crosschain-bridges deleted from 57dd43
32 changes: 0 additions & 32 deletions scripts/CrosschainForwarders.s.sol

This file was deleted.

302 changes: 2 additions & 300 deletions src/GovHelpers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ pragma solidity >=0.7.5 <0.9.0;
pragma abicoder v2;

import {Vm} from 'forge-std/Vm.sol';
import {console2} from 'forge-std/console2.sol';
import {IpfsUtils} from './IpfsUtils.sol';
import {AaveGovernanceV2, IAaveGovernanceV2, IExecutorWithTimelock} from 'aave-address-book/AaveGovernanceV2.sol';
import {AaveGovernanceV2} from 'aave-address-book/AaveGovernanceV2.sol';
import {IExecutorWithTimelock} from 'aave-address-book/common/IExecutorWithTimelock.sol';
import {IPoolAddressesProvider} from 'aave-address-book/AaveV3.sol';
import {AaveV3Avalanche} from 'aave-address-book/AaveV3Avalanche.sol';
import {AaveV3Harmony} from 'aave-address-book/AaveV3Harmony.sol';
Expand All @@ -23,14 +22,6 @@ interface CommonExecutor {
function execute(uint256 actionsSetId) external payable;
}

interface IProposalValidator {
/**
* @dev Get voting duration constant value
* @return the voting duration value in seconds
**/
function VOTING_DURATION() external view returns (uint256);
}

library GovHelpers {
error ExecutorNotFound();
error LongBytesNotSupportedYet();
Expand All @@ -43,10 +34,6 @@ library GovHelpers {
bool withDelegatecall;
}

function ipfsHashFile(Vm vm, string memory filePath) internal returns (bytes32) {
return IpfsUtils.ipfsHashFile(vm, filePath, false);
}

function buildMainnet(address payloadAddress) internal pure returns (Payload memory) {
require(payloadAddress != address(0), 'NON_ZERO_TARGET');
require(
Expand Down Expand Up @@ -123,128 +110,6 @@ library GovHelpers {
});
}

function createProposal(Payload[] memory payloads, bytes32 ipfsHash) internal returns (uint256) {
return _createProposal(AaveGovernanceV2.SHORT_EXECUTOR, payloads, ipfsHash, false);
}

function createProposal(
Payload[] memory payloads,
bytes32 ipfsHash,
bool emitLog
) internal returns (uint256) {
return _createProposal(AaveGovernanceV2.SHORT_EXECUTOR, payloads, ipfsHash, emitLog);
}

function createProposal(
Payload[] memory payloads,
bytes32 ipfsHash,
address executor
) internal returns (uint256) {
return _createProposal(executor, payloads, ipfsHash, false);
}

function createProposal(
Payload[] memory payloads,
bytes32 ipfsHash,
bool emitLog,
address executor
) internal returns (uint256) {
return _createProposal(executor, payloads, ipfsHash, emitLog);
}

function _createProposal(
address executor,
Payload[] memory payloads,
bytes32 ipfsHash,
bool emitLog
) private returns (uint256) {
require(block.chainid == ChainIds.MAINNET, 'MAINNET_ONLY');
require(payloads.length != 0, 'MINIMUM_ONE_PAYLOAD');
require(ipfsHash != bytes32(0), 'NON_ZERO_IPFS_HASH');

address[] memory targets = new address[](payloads.length);
uint256[] memory values = new uint256[](payloads.length);
string[] memory signatures = new string[](payloads.length);
bytes[] memory calldatas = new bytes[](payloads.length);
bool[] memory withDelegatecalls = new bool[](payloads.length);
for (uint256 i = 0; i < payloads.length; i++) {
require(payloads[i].target != address(0), 'NON_ZERO_TARGET');
targets[i] = payloads[i].target;
signatures[i] = payloads[i].signature;
calldatas[i] = payloads[i].callData;
values[i] = payloads[i].value;
withDelegatecalls[i] = payloads[i].withDelegatecall;
}

if (emitLog) {
console2.logBytes(
abi.encodeWithSelector(
AaveGovernanceV2.GOV.create.selector,
IExecutorWithTimelock(executor),
targets,
values,
signatures,
calldatas,
withDelegatecalls,
ipfsHash
)
);
}

return
AaveGovernanceV2.GOV.create(
IExecutorWithTimelock(executor),
targets,
values,
signatures,
calldatas,
withDelegatecalls,
ipfsHash
);
}

/**
* @dev Impersonate the ecosystem reserve and creates the proposal.
*/
function createTestProposal(
Vm vm,
Payload[] memory payloads,
address executor
) internal returns (uint256) {
vm.deal(MiscEthereum.ECOSYSTEM_RESERVE, 1 ether);
vm.startPrank(MiscEthereum.ECOSYSTEM_RESERVE);
uint256 proposalId = _createProposal(executor, payloads, bytes32('test'), false);
vm.stopPrank();
return proposalId;
}

function passVoteAndExecute(Vm vm, uint256 proposalId) internal {
passVoteAndQueue(vm, proposalId);
uint256 executionTime = AaveGovernanceV2.GOV.getProposalById(proposalId).executionTime;
vm.warp(executionTime + 1);
AaveGovernanceV2.GOV.execute(proposalId);
}

function passVoteAndQueue(Vm vm, uint256 proposalId) internal {
passVote(vm, proposalId);
AaveGovernanceV2.GOV.queue(proposalId);
}

/**
* Alter storage slots so the proposal passes
*/
function passVote(Vm vm, uint256 proposalId) internal {
uint256 power = 5000000 ether;
vm.roll(block.number + 1);
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(uint256(keccak256(abi.encode(proposalId, 0x4))) + 11),
bytes32(power)
);
uint256 endBlock = AaveGovernanceV2.GOV.getProposalById(proposalId).endBlock;
vm.roll(endBlock + 1);
}

/**
* @dev executes latest actionset on a l2 executor
* @param vm Vm instance passed down from test
Expand Down Expand Up @@ -370,169 +235,6 @@ library GovHelpers {
return proposalCount;
}

/**
* @notice Creates a proposal via storage overwrites
* @param vm vm
* @param params proposal
*/
function _queueProposalToL1ExecutorStorage(
Vm vm,
address l1Executor,
Payload[] memory params
) internal returns (uint256) {
// struct Proposal {
// uint256 id; // 0
// address creator; // 1
// IExecutorWithTimelock executor; // 2
// address[] targets; // 3
// uint256[] values; // 4
// string[] signatures; // 5
// bytes[] calldatas; // 6
// bool[] withDelegatecalls; // 7
// uint256 startBlock; // 8
// uint256 endBlock; // 9
// uint256 executionTime; // 10
// uint256 forVotes; // 11
// uint256 againstVotes; // 12
// bool executed; // 13 0-8
// bool canceled; // 13 9-16
// address strategy; // 13 16-176
// bytes32 ipfsHash; // 14
// mapping(address => Vote) votes; // 15
// }
// count is stored in slot 5
uint256 proposalCount = uint256(vm.load(address(AaveGovernanceV2.GOV), bytes32(uint256(3))));
// bump counter by 1
vm.store(address(AaveGovernanceV2.GOV), bytes32(uint256(3)), bytes32(proposalCount + 1));

// set storage array sizes
// proposals
uint256 proposalBaseSlot = StorageHelpers.getStorageSlotUintMapping(4, proposalCount);
// id
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot), bytes32(proposalCount));
// creator
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 1),
bytes32(uint256(uint160(msg.sender)))
);
// executor
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 2),
bytes32(uint256(uint160(l1Executor)))
);
// targets
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 3), bytes32(params.length));
// values
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 4), bytes32(params.length));
// signatures
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 5), bytes32(params.length));
// calldatas
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 6), bytes32(params.length));
// withDelegateCalls
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 7), bytes32(params.length));
// block math
uint256 dalay = AaveGovernanceV2.GOV.getVotingDelay(); // (blocks) delay in voting blocks before voting can happen
uint256 duration = IProposalValidator(l1Executor).VOTING_DURATION(); // (blocks) duration of the voting
uint256 executionTime = block.timestamp;
// @dev the block timings are not accurate, but enough to satisfy execution
// startBlock
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 8),
bytes32(block.number - (dalay + duration))
);
// endBlock
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 9),
bytes32(block.number - 1)
);
// executionTime
vm.store(address(AaveGovernanceV2.GOV), bytes32(proposalBaseSlot + 10), bytes32(executionTime));
// forVotes
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 11),
bytes32(uint256(15_000_000 ether)) // TODO: calculate needed amount
);
// strategy
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(proposalBaseSlot + 13),
bytes32(uint256(uint160(AaveGovernanceV2.GOV.getGovernanceStrategy())) << 16)
);
// store actual values
for (uint256 i = 0; i < params.length; i++) {
bytes32 queueHash = keccak256(
abi.encode(
params[i].target,
0,
params[i].signature,
params[i].callData,
executionTime,
true
)
);
// queue hash on executor
vm.store(
l1Executor,
bytes32(
StorageHelpers.getStorageSlotBytes32Mapping(
// the mapping slot is 3 on short and 7 on long
l1Executor == AaveGovernanceV2.SHORT_EXECUTOR ? 3 : 7,
queueHash
)
),
bytes32(uint256(1))
);
// targets
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(StorageHelpers.arrLocation(proposalBaseSlot + 3, i, 1)),
bytes32(uint256(uint160(params[i].target)))
);
// values
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(StorageHelpers.arrLocation(proposalBaseSlot + 4, i, 1)),
bytes32(0)
);
// signatures
if (bytes(params[i].signature).length > 31) revert LongBytesNotSupportedYet();
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(StorageHelpers.arrLocation(proposalBaseSlot + 5, i, 1)),
bytes32(
bytes.concat(
bytes31(bytes(params[i].signature)),
bytes1(uint8(bytes(params[i].signature).length * 2))
)
)
);
// calldatas
if (params[i].callData.length > 31) revert LongBytesNotSupportedYet();
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(StorageHelpers.arrLocation(proposalBaseSlot + 6, i, 1)),
bytes32(
bytes.concat(
bytes31(bytes(params[i].callData)),
bytes1(uint8(bytes(params[i].callData).length * 2))
)
)
);
// withDelegateCalls
vm.store(
address(AaveGovernanceV2.GOV),
bytes32(StorageHelpers.arrLocation(proposalBaseSlot + 7, i, 1)),
bytes32(uint256(1))
);
}
return proposalCount;
}

function _isKnownL2Executor(address executor) internal view returns (bool) {
if (executor == AaveGovernanceV2.OPTIMISM_BRIDGE_EXECUTOR && block.chainid == ChainIds.OPTIMISM)
return true;
Expand Down
Loading

1 comment on commit b0daebb

@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 (1bb2d67 2024-02-19T00:17:15.443050638Z)
Build log
Compiling 270 files with 0.8.18
Solc 0.8.18 finished in 76.93s
Compiler run successful with warnings:
Warning (8760): This declaration has the same name as another declaration.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:60:5:
   |
60 |     uint256 baseVariableBorrowRate,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note: The other declaration is here:
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:92:3:
   |
92 |   function baseVariableBorrowRate() external view override returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (8760): This declaration has the same name as another declaration.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:61:5:
   |
61 |     uint256 variableRateSlope1,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
Note: The other declaration is here:
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:76:3:
   |
76 |   function variableRateSlope1() external view returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (8760): This declaration has the same name as another declaration.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:62:5:
   |
62 |     uint256 variableRateSlope2,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
Note: The other declaration is here:
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:80:3:
   |
80 |   function variableRateSlope2() external view returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (8760): This declaration has the same name as another declaration.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:63:5:
   |
63 |     uint256 stableRateSlope1,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
Note: The other declaration is here:
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:84:3:
   |
84 |   function stableRateSlope1() external view returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (8760): This declaration has the same name as another declaration.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:64:5:
   |
64 |     uint256 stableRateSlope2
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
Note: The other declaration is here:
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:88:3:
   |
88 |   function stableRateSlope2() external view returns (uint256) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2462): Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
  --> src/dependencies/DefaultReserveInterestRateStrategy.sol:57:3:
   |
57 |   constructor(
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (9302): Return value of low-level calls not used.
   --> tests/bridges/AavePolEthERC20BridgeTest.t.sol:193:5:
    |
193 |     address(bridgePolygon).call{value: 1 ether}('');
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (9302): Return value of low-level calls not used.
   --> tests/bridges/AavePolEthERC20BridgeTest.t.sol:203:5:
    |
203 |     address(bridgeMainnet).call{value: 1 ether}('');
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
   --> src/GovV3Helpers.sol:847:5:
    |
847 |     address votingPortal
    |     ^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to view
  --> tests/CommonTestBase.t.sol:13:3:
   |
13 |   function call() external returns (address) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
 --> tests/PreviewLink.t.sol:8:3:
  |
8 |   function testPreviewLink() public {
  |   ^ (Relevant source part starts here and spans across multiple lines).

| Contract                                    | Size (kB) | Margin (kB) |
|---------------------------------------------|-----------|-------------|
| AaveGovernanceV2                            | 0.086     | 24.49       |
| AavePolEthERC20Bridge                       | 4.186     | 20.39       |
| AaveSafetyModule                            | 0.086     | 24.49       |
| AaveSwapper                                 | 5.613     | 18.963      |
| AaveV2Avalanche                             | 0.086     | 24.49       |
| AaveV2AvalancheAssets                       | 0.086     | 24.49       |
| AaveV2ConfigEngine                          | 3.18      | 21.396      |
| AaveV2Ethereum                              | 0.086     | 24.49       |
| AaveV2EthereumAMM                           | 0.086     | 24.49       |
| AaveV2EthereumAMMAssets                     | 0.086     | 24.49       |
| AaveV2EthereumArc                           | 0.086     | 24.49       |
| AaveV2EthereumArcAssets                     | 0.086     | 24.49       |
| AaveV2EthereumAssets                        | 0.086     | 24.49       |
| AaveV2EthereumRatesUpdate                   | 1.512     | 23.064      |
| AaveV2Fuji                                  | 0.086     | 24.49       |
| AaveV2FujiAssets                            | 0.086     | 24.49       |
| AaveV2Goerli                                | 0.086     | 24.49       |
| AaveV2GoerliAssets                          | 0.086     | 24.49       |
| AaveV2Mumbai                                | 0.086     | 24.49       |
| AaveV2MumbaiAssets                          | 0.086     | 24.49       |
| AaveV2Polygon                               | 0.086     | 24.49       |
| AaveV2PolygonAssets                         | 0.086     | 24.49       |
| AaveV3Arbitrum                              | 0.086     | 24.49       |
| AaveV3ArbitrumAssets                        | 0.086     | 24.49       |
| AaveV3ArbitrumEModes                        | 0.086     | 24.49       |
| AaveV3ArbitrumRatesUpdates070322            | 4.674     | 19.902      |
| AaveV3Avalanche                             | 0.086     | 24.49       |
| AaveV3AvalancheAssets                       | 0.086     | 24.49       |
| 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                       | 0.086     | 24.49       |
| AaveV3AvalancheRatesUpdates070322           | 5.115     | 19.461      |
| AaveV3BNB                                   | 0.086     | 24.49       |
| AaveV3BNBAssets                             | 0.086     | 24.49       |
| AaveV3BNBEModes                             | 0.086     | 24.49       |
| AaveV3Base                                  | 0.086     | 24.49       |
| AaveV3BaseAssets                            | 0.086     | 24.49       |
| AaveV3BaseEModes                            | 0.086     | 24.49       |
| AaveV3ConfigEngine                          | 8.273     | 16.303      |
| AaveV3Ethereum                              | 0.086     | 24.49       |
| AaveV3EthereumAssetEModeUpdate              | 3.257     | 21.319      |
| AaveV3EthereumAssets                        | 0.086     | 24.49       |
| AaveV3EthereumEModes                        | 0.086     | 24.49       |
| AaveV3EthereumMockCapUpdate                 | 3.335     | 21.241      |
| AaveV3EthereumMockCustomListing             | 4.166     | 20.41       |
| AaveV3Fantom                                | 0.086     | 24.49       |
| AaveV3FantomAssets                          | 0.086     | 24.49       |
| AaveV3FantomEModes                          | 0.086     | 24.49       |
| AaveV3FantomTestnet                         | 0.086     | 24.49       |
| AaveV3FantomTestnetAssets                   | 0.086     | 24.49       |
| AaveV3FantomTestnetEModes                   | 0.086     | 24.49       |
| AaveV3Fuji                                  | 0.086     | 24.49       |
| AaveV3FujiAssets                            | 0.086     | 24.49       |
| AaveV3FujiEModes                            | 0.086     | 24.49       |
| AaveV3Gnosis                                | 0.086     | 24.49       |
| AaveV3GnosisAssets                          | 0.086     | 24.49       |
| AaveV3GnosisEModes                          | 0.086     | 24.49       |
| AaveV3GoerliGho                             | 0.086     | 24.49       |
| AaveV3GoerliGhoAssets                       | 0.086     | 24.49       |
| AaveV3GoerliGhoEModes                       | 0.086     | 24.49       |
| AaveV3Harmony                               | 0.086     | 24.49       |
| AaveV3HarmonyAssets                         | 0.086     | 24.49       |
| AaveV3HarmonyEModes                         | 0.086     | 24.49       |
| AaveV3Metis                                 | 0.086     | 24.49       |
| AaveV3MetisAssets                           | 0.086     | 24.49       |
| AaveV3MetisEModes                           | 0.086     | 24.49       |
| AaveV3Mumbai                                | 0.086     | 24.49       |
| AaveV3MumbaiAssets                          | 0.086     | 24.49       |
| AaveV3MumbaiEModes                          | 0.086     | 24.49       |
| AaveV3Optimism                              | 0.086     | 24.49       |
| AaveV3OptimismAssets                        | 0.086     | 24.49       |
| AaveV3OptimismEModes                        | 0.086     | 24.49       |
| AaveV3OptimismGoerli                        | 0.086     | 24.49       |
| AaveV3OptimismGoerliAssets                  | 0.086     | 24.49       |
| AaveV3OptimismGoerliEModes                  | 0.086     | 24.49       |
| AaveV3OptimismMockRatesUpdate               | 3.669     | 20.907      |
| AaveV3OptimismRatesUpdates070322            | 4.377     | 20.199      |
| AaveV3Polygon                               | 0.086     | 24.49       |
| AaveV3PolygonAssets                         | 0.086     | 24.49       |
| AaveV3PolygonBorrowUpdate                   | 3.428     | 21.148      |
| AaveV3PolygonBorrowUpdateNoChange           | 3.45      | 21.126      |
| AaveV3PolygonEModeCategoryUpdate            | 3.377     | 21.199      |
| AaveV3PolygonEModes                         | 0.086     | 24.49       |
| AaveV3PolygonMockListing                    | 3.986     | 20.59       |
| AaveV3PolygonPriceFeedUpdate                | 3.276     | 21.3        |
| AaveV3PolygonRatesUpdates070322             | 5.73      | 18.846      |
| AaveV3PolygonZkEvm                          | 0.086     | 24.49       |
| AaveV3PolygonZkEvmAssets                    | 0.086     | 24.49       |
| AaveV3PolygonZkEvmEModes                    | 0.086     | 24.49       |
| AaveV3Scroll                                | 0.086     | 24.49       |
| AaveV3ScrollAssets                          | 0.086     | 24.49       |
| AaveV3ScrollEModes                          | 0.086     | 24.49       |
| AaveV3ScrollSepolia                         | 0.086     | 24.49       |
| AaveV3ScrollSepoliaAssets                   | 0.086     | 24.49       |
| AaveV3ScrollSepoliaEModes                   | 0.086     | 24.49       |
| AaveV3Sepolia                               | 0.086     | 24.49       |
| AaveV3SepoliaAssets                         | 0.086     | 24.49       |
| AaveV3SepoliaEModes                         | 0.086     | 24.49       |
| Address                                     | 0.086     | 24.49       |
| BorrowEngine                                | 2.922     | 21.654      |
| CapsEngine                                  | 1.256     | 23.32       |
| CapsPlusRiskSteward                         | 2.607     | 21.969      |
| CapsPlusRiskStewardErrors                   | 0.556     | 24.02       |
| ChainHelpers                                | 0.086     | 24.49       |
| ChainIds                                    | 0.086     | 24.49       |
| CollateralEngine                            | 2.836     | 21.74       |
| ConfiguratorInputTypes                      | 0.086     | 24.49       |
| Create2Utils                                | 0.164     | 24.412      |
| DataTypes                                   | 0.086     | 24.49       |
| DefaultReserveInterestRateStrategy          | 3.485     | 21.091      |
| DeployEngineArbLib                          | 0.086     | 24.49       |
| DeployEngineAvaLib                          | 0.086     | 24.49       |
| DeployEngineBaseLib                         | 0.086     | 24.49       |
| DeployEngineBnbLib                          | 0.086     | 24.49       |
| DeployEngineEthLib                          | 0.086     | 24.49       |
| DeployEngineGnoLib                          | 0.086     | 24.49       |
| DeployEngineMetLib                          | 0.086     | 24.49       |
| DeployEngineOptLib                          | 0.086     | 24.49       |
| DeployEnginePolLib                          | 0.086     | 24.49       |
| DeployEngineScrollLib                       | 0.086     | 24.49       |
| DeployEngineZkEvmLib                        | 0.086     | 24.49       |
| DeployRatesFactoryArbLib                    | 0.086     | 24.49       |
| DeployRatesFactoryAvaLib                    | 0.086     | 24.49       |
| DeployRatesFactoryBasLib                    | 0.086     | 24.49       |
| DeployRatesFactoryBnbLib                    | 0.086     | 24.49       |
| DeployRatesFactoryEthLib                    | 0.086     | 24.49       |
| DeployRatesFactoryGnoLib                    | 0.086     | 24.49       |
| DeployRatesFactoryLib                       | 0.086     | 24.49       |
| DeployRatesFactoryMetLib                    | 0.086     | 24.49       |
| DeployRatesFactoryOptLib                    | 0.086     | 24.49       |
| DeployRatesFactoryPolLib                    | 0.086     | 24.49       |
| DeployRatesFactoryScrollLib                 | 0.086     | 24.49       |
| DeployRatesFactoryZkEvmLib                  | 0.086     | 24.49       |
| DeployV2EngineAvaLib                        | 0.086     | 24.49       |
| DeployV2EngineEthAMMLib                     | 0.086     | 24.49       |
| DeployV2EngineEthLib                        | 0.086     | 24.49       |
| DeployV2EnginePolLib                        | 0.086     | 24.49       |
| DeployV2RatesFactoryAvaLib                  | 0.086     | 24.49       |
| DeployV2RatesFactoryEthAMMLib               | 0.086     | 24.49       |
| DeployV2RatesFactoryEthLib                  | 0.086     | 24.49       |
| DeployV2RatesFactoryLib                     | 0.086     | 24.49       |
| DeployV2RatesFactoryPolLib                  | 0.086     | 24.49       |
| EModeEngine                                 | 4.404     | 20.172      |
| ERC1967Proxy                                | 0.699     | 23.877      |
| EngineFlags                                 | 0.086     | 24.49       |
| Errors                                      | 4.714     | 19.862      |
| FreezingSteward                             | 0.715     | 23.861      |
| GovHelpers                                  | 0.086     | 24.49       |
| GovV3Helpers                                | 2.622     | 21.954      |
| GovV3StorageHelpers                         | 0.086     | 24.49       |
| GovernanceV3Arbitrum                        | 0.086     | 24.49       |
| GovernanceV3Avalanche                       | 0.086     | 24.49       |
| GovernanceV3BNB                             | 0.086     | 24.49       |
| GovernanceV3Base                            | 0.086     | 24.49       |
| GovernanceV3Ethereum                        | 0.086     | 24.49       |
| GovernanceV3Fuji                            | 0.086     | 24.49       |
| GovernanceV3Gnosis                          | 0.086     | 24.49       |
| GovernanceV3Goerli                          | 0.086     | 24.49       |
| GovernanceV3Metis                           | 0.086     | 24.49       |
| GovernanceV3Mumbai                          | 0.086     | 24.49       |
| GovernanceV3Optimism                        | 0.086     | 24.49       |
| GovernanceV3Polygon                         | 0.086     | 24.49       |
| GovernanceV3PolygonZkEvm                    | 0.086     | 24.49       |
| GovernanceV3Scroll                          | 0.086     | 24.49       |
| IpfsUtils                                   | 0.086     | 24.49       |
| ListingEngine                               | 8.792     | 15.784      |
| MiscArbitrum                                | 0.086     | 24.49       |
| MiscArbitrumSepolia                         | 0.086     | 24.49       |
| MiscAvalanche                               | 0.086     | 24.49       |
| MiscBNB                                     | 0.086     | 24.49       |
| MiscBase                                    | 0.086     | 24.49       |
| MiscEthereum                                | 0.086     | 24.49       |
| MiscFantom                                  | 0.086     | 24.49       |
| MiscGnosis                                  | 0.086     | 24.49       |
| MiscMetis                                   | 0.086     | 24.49       |
| MiscMumbai                                  | 0.086     | 24.49       |
| MiscOptimism                                | 0.086     | 24.49       |
| MiscPolygon                                 | 0.086     | 24.49       |
| MiscPolygonZkEvm                            | 0.086     | 24.49       |
| MiscScroll                                  | 0.086     | 24.49       |
| MiscSepolia                                 | 0.086     | 24.49       |
| MockERC20                                   | 3.701     | 20.875      |
| MockERC721                                  | 3.962     | 20.614      |
| MockExecutor                                | 0.437     | 24.139      |
| MyPayload                                   | 1.53      | 23.046      |
| PayloadWithEmit                             | 0.15      | 24.426      |
| PayloadsControllerUtils                     | 0.086     | 24.49       |
| PercentageMath                              | 0.086     | 24.49       |
| PriceFeedEngine                             | 1.657     | 22.919      |
| ProxyAdmin                                  | 1.683     | 22.893      |
| ProxyHelpers                                | 0.086     | 24.49       |
| RateEngine                                  | 3.596     | 20.98       |
| ReserveConfiguration                        | 0.171     | 24.405      |
| SafeCast                                    | 0.086     | 24.49       |
| SafeERC20                                   | 0.086     | 24.49       |
| SafeMath                                    | 0.086     | 24.49       |
| StdStyle                                    | 0.086     | 24.49       |
| StorageHelpers                              | 0.086     | 24.49       |
| StorageSlot                                 | 0.086     | 24.49       |
| StrategicAssetsManager                      | 9.691     | 14.885      |
| TransparentProxyFactory                     | 7.505     | 17.071      |
| TransparentUpgradeableProxy                 | 2.096     | 22.48       |
| V2RateStrategyFactory                       | 8.842     | 15.734      |
| V3RateStrategyFactory                       | 9.279     | 15.297      |
| WadRayMath                                  | 0.086     | 24.49       |
| console                                     | 0.086     | 24.49       |
| console2                                    | 0.086     | 24.49       |
| safeconsole                                 | 0.086     | 24.49       |
| stdError                                    | 0.591     | 23.985      |
| stdJson                                     | 0.086     | 24.49       |
| stdMath                                     | 0.086     | 24.49       |
| stdStorage                                  | 0.086     | 24.49       |
| stdStorageSafe                              | 0.086     | 24.49       |
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)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 148.12ms

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:WithdrawToCollectorTest
[PASS] test_revertsIf_invalidChain() (gas: 10888)
[PASS] test_successful() (gas: 59260)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 452.50ms

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: 476571)
Test result: ok. 6 passed; 0 failed; 0 skipped; finished in 229.49ms

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)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 756.67ms

Ran 3 tests for tests/swaps/AaveSwapperTest.t.sol:CancelSwap
[PASS] test_revertsIf_invalidCaller() (gas: 15418)
[PASS] test_revertsIf_noMatchingTrade() (gas: 482928)
[PASS] test_successful() (gas: 588040)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 101.90ms

Ran 2 tests for tests/swaps/AaveSwapperTest.t.sol:EmergencyTokenTransfer
[PASS] test_revertsIf_invalidCaller() (gas: 10861)
[PASS] test_successful_governanceCaller() (gas: 304551)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 99.98ms

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:EmergencyTokenTransfer
[PASS] test_revertsIf_invalidCaller() (gas: 13140)
[PASS] test_successful_governanceCaller() (gas: 59303)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 241.64ms

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ExitMultipleTest
[PASS] test_revertsIf_invalidChain() (gas: 11692)
[PASS] test_revertsIf_proofAlreadyProcessed() (gas: 40005)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 39.79ms

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ExitTest
[PASS] test_revertsIf_invalidChain() (gas: 11198)
[PASS] test_revertsIf_proofAlreadyProcessed() (gas: 39281)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.11ms

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

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)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 20.20ms

Ran 2 tests for tests/bridges/AavePolEthERC20BridgeTest.t.sol:ReceiveEther
[PASS] test_revertsIf_invalidChain() (gas: 18881)
[PASS] test_successful_forwardsETH() (gas: 29781)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 33.03ms

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

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:ClearDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 12801)
[PASS] test_successful() (gas: 100175)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 137.44ms

Ran 7 tests for tests/swaps/AaveSwapperTest.t.sol:GetExpectedOut
[PASS] test_aaveToUsdc() (gas: 84122)
[PASS] test_aaveToUsdc_withEthBasedOracles() (gas: 84115)
[PASS] test_balTo80BAL20WETH() (gas: 83868)
[PASS] test_ethToBal() (gas: 69531)
[PASS] test_ethToDai() (gas: 67281)
[PASS] test_revertsIf_fromOracleIsAddressZero() (gas: 9238)
[PASS] test_revertsIf_toOracleIsAddressZero() (gas: 9242)
Test result: ok. 7 passed; 0 failed; 0 skipped; finished in 770.90ms

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

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

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

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: 794326)
[PASS] test_successful_increaseUnlockTime() (gas: 819150)
[PASS] test_successful_locksFirstTime() (gas: 511921)
Test result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.25s

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:RemoveBoostOfferTest
[PASS] test_revertsIf_invalidCaller() (gas: 12780)
[PASS] test_successful() (gas: 149611)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 124.68ms

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SellBoostTest
[PASS] test_revertsIf_invalidCaller() (gas: 13541)
[PASS] test_successful() (gas: 164938)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.44ms

Ran 2 tests for tests/asset-manager/TestVeTokenManager.t.sol:SetDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 14537)
[PASS] test_successful() (gas: 101663)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.11ms

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

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

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: 784417)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.41s

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

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

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

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

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: 180463)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 12.04ms

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: 499011)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.15s

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: 1122110)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 103.32ms

Ran 3 tests for tests/asset-manager/TestVeTokenManager.t.sol:UnlockTest
[PASS] test_revertsIf_invalidCaller() (gas: 12790)
[PASS] test_revertsIf_unlockTimeHasNotPassed() (gas: 522526)
[PASS] test_successful_unlock() (gas: 5302141)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 4.59s

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)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.73ms

Ran 2 tests for tests/asset-manager/TestVlTokenManager.t.sol:ClaimVLAURARewardsTest
[PASS] test_revertsIf_invalidCaller() (gas: 12801)
[PASS] test_successful() (gas: 335465)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 207.97ms

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: 375064)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.04ms

Ran 2 tests for tests/asset-manager/TestVlTokenManager.t.sol:EmergencyWithdrawVLAURA
[PASS] test_revertsIf_invalidCaller() (gas: 12811)
[PASS] test_successful() (gas: 371403)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 30.09ms

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: 297802)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.03ms

Ran 4 tests for tests/asset-manager/TestVlTokenManager.t.sol:RelockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12788)
[PASS] test_revertsIf_noExpiredLocks() (gas: 308239)
[PASS] test_revertsIf_noLocks() (gas: 65175)
[PASS] test_successful() (gas: 687508)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 160.92ms

Ran 4 tests for tests/asset-manager/TestVlTokenManager.t.sol:UnlockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12813)
[PASS] test_revertsIf_noExpiredLocks() (gas: 308265)
[PASS] test_revertsIf_noLocks() (gas: 65208)
[PASS] test_successful() (gas: 333296)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.71ms

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

Ran 2 tests for tests/v3-config-engine/V3RateStrategyFactory.t.sol:V3RateStrategyFactoryTest
[PASS] testCreateStrategies() (gas: 714607)
[PASS] test_multipleCreateStrategies() (gas: 714585)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 249.59ms

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestOptimismAll
[PASS] test_e2e() (gas: 14502349)
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

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 5.63s

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestArbitrumAll
[PASS] test_deal() (gas: 47749)
[PASS] test_e2e() (gas: 16322240)
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

Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.69s

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestSnapshot
[PASS] test_snapshot() (gas: 4686931)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 957.81ms

Ran 2 tests for tests/ProxyHelpersTest.t.sol:ProxyHelpersTest
[PASS] testAdmin() (gas: 3274)
[PASS] testImplementation() (gas: 3219)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 142.04ms

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)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 885.63µs

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAsset
[PASS] test_e2eTestAssetMAI() (gas: 1746378)
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: 2412036)
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

Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.08s

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestMetisAll
[PASS] test_e2e() (gas: 5153110)
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

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.67s

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

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 370.78µs

Ran 1 test for tests/CommonTestBase.t.sol:CommonTestBaseTest
[PASS] test_deal2_shouldMaintainCurrentCaller() (gas: 52832)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 170.28ms

Ran 1 test for tests/swaps/DepositV2SwapPayloadTest.t.sol:DepositV2SwapPayloadTest
[PASS] test_successful() (gas: 476089)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 376.73ms

Ran 1 test for tests/swaps/DepositV3SwapPayloadTest.t.sol:DepositV3SwapPayloadTest
[PASS] test_successful() (gas: 187665)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.31s

Ran 2 tests for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAvalancheAll
[PASS] test_deal() (gas: 47771)
[PASS] test_e2e() (gas: 12729545)
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

Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.12s

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

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3ArbitrumConfigEngineRatesTest
[PASS] testEngine() (gas: 17772855)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 8.03s

Ran 1 test for tests/ProtocolV2TestBase.t.sol:ProtocolV2TestBaseTest
[PASS] testE2E() (gas: 20426316)
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

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 20.44s

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3OptimismConfigEngineRatesTest
[PASS] testEngine() (gas: 20600854)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.99s

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3AvalancheConfigEngineRatesTest
[PASS] testEngine() (gas: 27700631)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 13.03s

Ran 2 tests for tests/ProtocolV2TestBase.t.sol:ProtocolV2TestE2ETestAsset
[PASS] test_defaultTest() (gas: 62959481)
[PASS] test_e2eTestAssetUSDT() (gas: 3175997)
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

Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.13s

Ran 9 tests for tests/GovV3Test.t.sol:GovernanceV3Test
[PASS] testFail_findPayload() (gas: 17797)
[PASS] test_executePayloadViaAddress() (gas: 76622)
[PASS] test_executePayloadViaId() (gas: 284237)
[PASS] test_expectRevertOnNonExistingPayload() (gas: 3374)
[PASS] test_helpers() (gas: 218261268)
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: 105611)
[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)
Test result: ok. 9 passed; 0 failed; 0 skipped; finished in 27.79s

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)
Test result: ok. 9 passed; 0 failed; 0 skipped; finished in 314.52ms

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestBaseTest
[PASS] test_e2eTestDPI() (gas: 2249851)
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

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 14.69s

Ran 1 test for tests/v3-config-engine/AaveV3ConfigEngineGauntletProposal.t.sol:AaveV3PolygonConfigEngineRatesTest
[PASS] testEngine() (gas: 70926352)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 28.56s

Ran 1 test for tests/ProtocolV3TestBase.t.sol:ProtocolV3TestE2ETestAllMainnet
[PASS] test_e2e() (gas: 29491297)
Logs:
  E2E: Collateral WETH, TestAsset WETH
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: WETH, Amount: 449669683859827284
  WITHDRAW: WETH, Amount: 224834841929913642
  WITHDRAW: WETH, Amount: 224834841929913641
  BORROW: WETH, Amount 449669683859827284, Stable: false
  REPAY: WETH, Amount: 449669683859827284
  E2E: Collateral WETH, TestAsset wstETH
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: wstETH, Amount: 391098855036661840
  WITHDRAW: wstETH, Amount: 195549427518330920
  WITHDRAW: wstETH, Amount: 195549427518330920
  BORROW: wstETH, Amount 391098855036661840, Stable: false
  REPAY: wstETH, Amount: 391098855036661840
  E2E: Collateral WETH, TestAsset WBTC
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: WBTC, Amount: 2389874
  WITHDRAW: WBTC, Amount: 1194937
  WITHDRAW: WBTC, Amount: 1194938
  BORROW: WBTC, Amount 2389874, Stable: false
  REPAY: WBTC, Amount: 2389874
  E2E: Collateral WETH, TestAsset USDC
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: USDC, Amount: 999964001
  WITHDRAW: USDC, Amount: 499982000
  WITHDRAW: USDC, Amount: 499982002
  BORROW: USDC, Amount 999964001, Stable: false
  REPAY: USDC, Amount: 999964001
  E2E: Collateral WETH, TestAsset DAI
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: DAI, Amount: 1000023500552262978179
  WITHDRAW: DAI, Amount: 500011750276131489089
  WITHDRAW: DAI, Amount: 500011750276131489090
  BORROW: DAI, Amount 1000023500552262978179, Stable: false
  REPAY: DAI, Amount: 1000023500552262978179
  E2E: Collateral WETH, TestAsset LINK
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: LINK, Amount: 67999130250324620197
  WITHDRAW: LINK, Amount: 33999565125162310098
  WITHDRAW: LINK, Amount: 33999565125162310099
  BORROW: LINK, Amount 67999130250324620197, Stable: false
  REPAY: LINK, Amount: 67999130250324620197
  E2E: Collateral WETH, TestAsset AAVE
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: AAVE, Amount: 11080316326632257187
  WITHDRAW: AAVE, Amount: 5540158163316128593
  WITHDRAW: AAVE, Amount: 5540158163316128594
  E2E: Collateral WETH, TestAsset cbETH
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: cbETH, Amount: 426328496453100447
  WITHDRAW: cbETH, Amount: 213164248226550223
  WITHDRAW: cbETH, Amount: 213164248226550224
  BORROW: cbETH, Amount 426328496453100447, Stable: false
  REPAY: cbETH, Amount: 426328496453100447
  E2E: Collateral WETH, TestAsset USDT
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: USDT, Amount: 999910008
  WITHDRAW: USDT, Amount: 499955004
  WITHDRAW: USDT, Amount: 499955004
  BORROW: USDT, Amount 999910008, Stable: false
  REPAY: USDT, Amount: 999910008
  E2E: Collateral WETH, TestAsset rETH
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: rETH, Amount: 411737379533190718
  WITHDRAW: rETH, Amount: 205868689766595359
  WITHDRAW: rETH, Amount: 205868689766595359
  BORROW: rETH, Amount 411737379533190718, Stable: false
  REPAY: rETH, Amount: 411737379533190718
  E2E: Collateral WETH, TestAsset LUSD
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: LUSD, Amount: 1001050081514507087644
  WITHDRAW: LUSD, Amount: 500525040757253543822
  WITHDRAW: LUSD, Amount: 500525040757253543822
  BORROW: LUSD, Amount 1001050081514507087644, Stable: false
  REPAY: LUSD, Amount: 1001050081514507087644
  E2E: Collateral WETH, TestAsset CRV
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: CRV, Amount: 1489053106959935477542
  WITHDRAW: CRV, Amount: 744526553479967738771
  WITHDRAW: CRV, Amount: 744526553479967738772
  E2E: Collateral WETH, TestAsset MKR
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: MKR, Amount: 742906344349311192
  WITHDRAW: MKR, Amount: 371453172174655596
  WITHDRAW: MKR, Amount: 371453172174655596
  BORROW: MKR, Amount 742906344349311192, Stable: false
  REPAY: MKR, Amount: 742906344349311192
  E2E: Collateral WETH, TestAsset SNX
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: SNX, Amount: 219931513326750050034
  WITHDRAW: SNX, Amount: 109965756663375025017
  WITHDRAW: SNX, Amount: 109965756663375025018
  BORROW: SNX, Amount 219931513326750050034, Stable: false
  REPAY: SNX, Amount: 219931513326750050034
  E2E: Collateral WETH, TestAsset BAL
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: BAL, Amount: 249581432594977197129
  WITHDRAW: BAL, Amount: 124790716297488598564
  WITHDRAW: BAL, Amount: 124790716297488598565
  BORROW: BAL, Amount 249581432594977197129, Stable: false
  REPAY: BAL, Amount: 249581432594977197129
  E2E: Collateral WETH, TestAsset UNI
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: UNI, Amount: 164665894809555791090
  WITHDRAW: UNI, Amount: 82332947404777895545
  WITHDRAW: UNI, Amount: 82332947404777895545
  BORROW: UNI, Amount 164665894809555791090, Stable: false
  REPAY: UNI, Amount: 164665894809555791090
  E2E: Collateral WETH, TestAsset LDO
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: LDO, Amount: 437877933539132459073
  WITHDRAW: LDO, Amount: 218938966769566229536
  WITHDRAW: LDO, Amount: 218938966769566229538
  BORROW: LDO, Amount 437877933539132459073, Stable: false
  REPAY: LDO, Amount: 437877933539132459073
  E2E: Collateral WETH, TestAsset ENS
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: ENS, Amount: 112115065898556185096
  WITHDRAW: ENS, Amount: 56057532949278092548
  WITHDRAW: ENS, Amount: 56057532949278092548
  BORROW: ENS, Amount 112115065898556185096, Stable: false
  REPAY: ENS, Amount: 112115065898556185096
  E2E: Collateral WETH, TestAsset 1INCH
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: 1INCH, Amount: 2750625739849558376034
  WITHDRAW: 1INCH, Amount: 1375312869924779188017
  WITHDRAW: 1INCH, Amount: 1375312869924779188018
  BORROW: 1INCH, Amount 2750625739849558376034, Stable: false
  REPAY: 1INCH, Amount: 2750625739849558376034
  E2E: Collateral WETH, TestAsset FRAX
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: FRAX, Amount: 1000235445421497766359
  WITHDRAW: FRAX, Amount: 500117722710748883179
  WITHDRAW: FRAX, Amount: 500117722710748883179
  BORROW: FRAX, Amount 1000235445421497766359, Stable: false
  REPAY: FRAX, Amount: 1000235445421497766359
  E2E: Collateral WETH, TestAsset GHO
  SUPPLY: WETH, Amount: 44966968385982728497
  BORROW: GHO, Amount 1000000000000000000000, Stable: false
  REPAY: GHO, Amount: 1000000000000000000000
  E2E: Collateral WETH, TestAsset RPL
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: RPL, Amount: 35048355936298463499
  WITHDRAW: RPL, Amount: 17524177968149231749
  WITHDRAW: RPL, Amount: 17524177968149231750
  BORROW: RPL, Amount 35048355936298463499, Stable: false
  REPAY: RPL, Amount: 35048355936298463499
  E2E: Collateral WETH, TestAsset sDAI
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: sDAI, Amount: 955479983458730526362
  WITHDRAW: sDAI, Amount: 477739991729365263181
  WITHDRAW: sDAI, Amount: 477739991729365263180
  E2E: Collateral WETH, TestAsset STG
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: STG, Amount: 1856739719162547257507
  WITHDRAW: STG, Amount: 928369859581273628753
  WITHDRAW: STG, Amount: 928369859581273628753
  BORROW: STG, Amount 1856739719162547257507, Stable: false
  REPAY: STG, Amount: 1856739719162547257507
  E2E: Collateral WETH, TestAsset KNC
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: KNC, Amount: 1422617368422475248947
  WITHDRAW: KNC, Amount: 711308684211237624473
  WITHDRAW: KNC, Amount: 711308684211237624475
  BORROW: KNC, Amount 1422617368422475248947, Stable: false
  REPAY: KNC, Amount: 1422617368422475248947
  E2E: Collateral WETH, TestAsset FXS
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: FXS, Amount: 110675948775160010472
  WITHDRAW: FXS, Amount: 55337974387580005236
  WITHDRAW: FXS, Amount: 55337974387580005237
  BORROW: FXS, Amount 110675948775160010472, Stable: false
  REPAY: FXS, Amount: 110675948775160010472
  E2E: Collateral WETH, TestAsset crvUSD
  SUPPLY: WETH, Amount: 44966968385982728497
  SUPPLY: crvUSD, Amount: 1000377842711192017224
  WITHDRAW: crvUSD, Amount: 500188921355596008612
  WITHDRAW: crvUSD, Amount: 500188921355596008612
  BORROW: crvUSD, Amount 1000377842711192017224, Stable: false
  REPAY: crvUSD, Amount: 1000377842711192017224

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 14.67s

Ran 21 tests for tests/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testArbitrumRateStrategiesUpdates() (gas: 55789252)
[PASS] testAssetEModeUpdates() (gas: 161199956)
[PASS] testAvaxRateStrategiesUpdates() (gas: 33833993)
[PASS] testBorrowUpdatesNoChange() (gas: 95747398)
[PASS] testBorrowsUpdates() (gas: 95811293)
[PASS] testCapsUpdates() (gas: 161216166)
[PASS] testCollateralUpdateCorrectBonus() (gas: 33295985)
[PASS] testCollateralUpdateWrongBonus() (gas: 5030487)
[PASS] testCollateralsUpdates() (gas: 33297417)
[PASS] testCollateralsUpdatesNoChange() (gas: 33273071)
[PASS] testEModeCategoryUpdates() (gas: 95850539)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 33287888)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 5043774)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 5708996)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 5059285)
[PASS] testListings() (gas: 101677277)
[PASS] testListingsCustom() (gas: 168866233)
[PASS] testOptimismRateStrategiesUpdates() (gas: 48499980)
[PASS] testPolygonRateStrategiesUpdates() (gas: 96746904)
[PASS] testPriceFeedsUpdates() (gas: 95718533)
[PASS] testRateStrategiesUpdates() (gas: 48172687)
Test result: ok. 21 passed; 0 failed; 0 skipped; finished in 42.92s

Ran 66 test suites in 267.24s: 176 tests passed, 0 failed, 0 skipped (176 total tests)

Please sign in to comment.