Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: weth gateway gas griefing #50

Merged
merged 2 commits into from
Feb 4, 2025
Merged

fix: weth gateway gas griefing #50

merged 2 commits into from
Feb 4, 2025

Conversation

sakulstra
Copy link

@sakulstra sakulstra commented Jan 30, 2025

There is a well known issue regarding the griefing of permits.
Frontrunning a permit can result in the txn relying on the permit to revert (as due to nonce the permit can not be executed twice). While this issue is fixed in other situations, on the weth gateway one usage was overlooked.

This pr wraps the permit in a try..catch, to work around the issue.

Copy link

🔕 Unchanged
Path Value
snapshots/AToken.transfer.json
full amount; receiver: ->enableCollateral 144,881
full amount; sender: ->disableCollateral; 103,318
full amount; sender: ->disableCollateral; receiver: ->enableCollateral 145,060
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral 133,158
full amount; sender: collateralDisabled 103,139
partial amount; sender: collateralDisabled; 103,139
partial amount; sender: collateralDisabled; receiver: ->enableCollateral 144,881
partial amount; sender: collateralEnabled; 103,347
partial amount; sender: collateralEnabled; receiver: ->enableCollateral 145,089
snapshots/Pool.Getters.json
getEModeCategoryCollateralConfig 8,000
getEModeCategoryData 11,053
getLiquidationGracePeriod 7,765
getReserveData 32,157
getUserAccountData: supplies: 0, borrows: 0 22,641
getUserAccountData: supplies: 0, borrows: 0 with eMode enabled 7,641
getUserAccountData: supplies: 1, borrows: 0 35,053
getUserAccountData: supplies: 1, borrows: 0 with eMode enabled 27,360
getUserAccountData: supplies: 2, borrows: 0 47,575
getUserAccountData: supplies: 2, borrows: 0 with eMode enabled 40,267
getUserAccountData: supplies: 2, borrows: 1 29,247
getUserAccountData: supplies: 2, borrows: 1 with eMode enabled 30,439
snapshots/Pool.Operations.json
borrow: first borrow->borrowingEnabled 256,480
borrow: recurrent borrow 248,834
liquidationCall: deficit on liquidated asset 392,439
liquidationCall: deficit on liquidated asset + other asset 491,810
liquidationCall: full liquidation 392,439
liquidationCall: full liquidation and receive ATokens 368,797
liquidationCall: partial liquidation 383,954
liquidationCall: partial liquidation and receive ATokens 360,308
repay: full repay 176,521
repay: full repay with ATokens 173,922
repay: partial repay 189,949
repay: partial repay with ATokens 185,129
supply: collateralDisabled 146,755
supply: collateralEnabled 146,755
supply: first supply->collateralEnabled 176,366
withdraw: full withdraw 165,226
withdraw: partial withdraw 181,916
withdraw: partial withdraw with active borrows 239,286
snapshots/Pool.Setters.json
setUserEMode: enter eMode, 1 borrow, 1 supply 140,652
setUserEMode: leave eMode, 1 borrow, 1 supply 112,451
setUserUseReserveAsCollateral: disableCollateral, 1 supply 93,456
setUserUseReserveAsCollateral: enableCollateral, 1 supply 105,167
snapshots/ProtocolDataProvider.json
getATokenTotalSupply 35,491
getFlashLoanEnabled 16,739
getInterestRateStrategyAddress 40,256
getIsVirtualAccActive 16,789
getLiquidationProtocolFee 16,766
getPaused 16,855
getReserveCaps 16,767
getReserveConfigurationData 17,181
getReserveTokensAddresses 20,374
getSiloedBorrowing 16,792
getTotalDebt 35,491
getUnbackedMintCap 16,721
getUserReserveData 29,607
getVirtualUnderlyingBalance 16,533
snapshots/StataTokenV2.json
deposit 280,955
depositATokens 219,311
redeem 205,837
redeemAToken 152,633
snapshots/WrappedTokenGatewayV3.json
borrowETH 250,413
depositETH 222,614
repayETH 192,937
withdrawETH 259,299

Copy link

🔮 Coverage report
File Line Coverage Function Coverage Branch Coverage
src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol ${\color{red}67.57\%}$
$25 / 37$
23, 24, 78, 79, 80 and 7 more
${\color{green}100\%}$
$4 / 4$
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol ${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/contracts/AccessControl.sol ${\color{orange}90.63\%}$
$29 / 32$
76, 77, 115
${\color{orange}83.33\%}$
$10 / 12$
AccessControl.supportsInterface, AccessControl.getRoleAdmin
${\color{red}80\%}$
$4 / 5$
src/contracts/dependencies/openzeppelin/contracts/ERC165.sol ${\color{red}0\%}$
$0 / 2$
25, 26
${\color{red}0\%}$
$0 / 1$
ERC165.supportsInterface
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/contracts/ERC20.sol ${\color{red}79.66\%}$
$47 / 59$
182, 183, 184, 201, 205 and 7 more
${\color{orange}83.33\%}$
$15 / 18$
ERC20.increaseAllowance, ERC20.decreaseAllowance, ERC20._burn
${\color{red}41.67\%}$
$5 / 12$
src/contracts/dependencies/openzeppelin/contracts/Ownable.sol ${\color{red}80\%}$
$12 / 15$
55, 56, 57
${\color{red}80\%}$
$4 / 5$
Ownable.renounceOwnership
${\color{red}75\%}$
$3 / 4$
src/contracts/dependencies/openzeppelin/contracts/SafeERC20.sol ${\color{red}47.37\%}$
$9 / 19$
25, 26, 50, 51, 52 and 5 more
${\color{red}50\%}$
$3 / 6$
SafeERC20.safeTransferFrom, SafeERC20.safeIncreaseAllowance, SafeERC20.safeDecreaseAllowance
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/contracts/SafeMath.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$5 / 5$
${\color{red}62.5\%}$
$5 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/AdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
21, 26, 27, 33, 34
${\color{red}0\%}$
$0 / 2$
AdminUpgradeabilityProxy.constructor, AdminUpgradeabilityProxy._willFallback
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/BaseAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 26$
35, 36, 39, 46, 47 and 21 more
${\color{red}0\%}$
$0 / 9$
BaseAdminUpgradeabilityProxy.ifAdmin, BaseAdminUpgradeabilityProxy.admin, BaseAdminUpgradeabilityProxy.implementation, BaseAdminUpgradeabilityProxy.changeAdmin, BaseAdminUpgradeabilityProxy.upgradeTo and 4 more
${\color{red}0\%}$
$0 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/Initializable.sol ${\color{red}0\%}$
$0 / 12$
30, 31, 36, 37, 38 and 7 more
${\color{red}0\%}$
$0 / 2$
Initializable.initializer, Initializable.isConstructor
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 7$
25, 26, 27, 28, 29 and 2 more
${\color{red}0\%}$
$0 / 2$
InitializableAdminUpgradeabilityProxy.initialize, InitializableAdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$1 / 1$
${\color{red}60\%}$
$3 / 5$
src/contracts/dependencies/openzeppelin/upgradeability/Proxy.sol ${\color{orange}87.5\%}$
$14 / 16$
25, 26
${\color{red}80\%}$
$4 / 5$
Proxy.receive
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/UpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 6$
20, 21, 22, 23, 24 and 1 more
${\color{red}0\%}$
$0 / 1$
UpgradeabilityProxy.constructor
${\color{red}0\%}$
$0 / 3$
src/contracts/dependencies/weth/WETH9.sol ${\color{orange}85.19\%}$
$23 / 27$
31, 32, 47, 48
${\color{red}71.43\%}$
$5 / 7$
WETH9.receive, WETH9.totalSupply
${\color{red}57.14\%}$
$4 / 7$
src/contracts/extensions/paraswap-adapters/BaseParaSwapAdapter.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$6 / 6$
${\color{red}60\%}$
$3 / 5$
src/contracts/extensions/paraswap-adapters/BaseParaSwapBuyAdapter.sol ${\color{orange}90.32\%}$
$28 / 31$
92, 99, 100
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/BaseParaSwapSellAdapter.sol ${\color{orange}89.29\%}$
$25 / 28$
90, 97, 98
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/ParaSwapLiquiditySwapAdapter.sol ${\color{green}100\%}$
$39 / 39$
${\color{green}100\%}$
$4 / 4$
${\color{red}63.64\%}$
$7 / 11$
src/contracts/extensions/paraswap-adapters/ParaSwapRepayAdapter.sol ${\color{lightgreen}95.83\%}$
$46 / 48$
144, 209
${\color{green}100\%}$
$5 / 5$
${\color{red}53.85\%}$
$7 / 13$
src/contracts/extensions/paraswap-adapters/ParaSwapWithdrawSwapAdapter.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$3 / 3$
${\color{red}66.67\%}$
$2 / 3$
src/contracts/extensions/stata-token/ERC20AaveLMUpgradeable.sol ${\color{orange}94.02\%}$
$110 / 117$
97, 114, 116, 126, 213 and 2 more
${\color{lightgreen}95.45\%}$
$21 / 22$
ERC20AaveLMUpgradeable.getCurrentRewardsIndex
${\color{red}66.67\%}$
$10 / 15$
src/contracts/extensions/stata-token/ERC4626StataTokenUpgradeable.sol ${\color{lightgreen}97.09\%}$
$100 / 103$
110, 146, 221
${\color{green}100\%}$
$21 / 21$
${\color{orange}81.82\%}$
$9 / 11$
src/contracts/extensions/stata-token/StataTokenFactory.sol $^{↑4\%}{\color{orange}88\%}$
$22 / 25$
76, 83, 84
${\color{red}80\%}$
$4 / 5$
StataTokenFactory.getStataTokens
${\color{red}33.33\%}$
$1 / 3$
src/contracts/extensions/stata-token/StataTokenV2.sol ${\color{orange}87.5\%}$
$28 / 32$
59, 63, 68, 109
${\color{orange}81.82\%}$
$9 / 11$
StataTokenV2.whoCanRescue, StataTokenV2.maxRescue
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/AaveV3ConfigEngine.sol ${\color{green}100\%}$
$45 / 45$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$4 / 8$
src/contracts/extensions/v3-config-engine/AaveV3Payload.sol ${\color{red}75.56\%}$
$34 / 45$
119, 120, 124, 127, 135 and 6 more
${\color{red}28.57\%}$
$4 / 14$
AaveV3Payload._bpsToRay, AaveV3Payload.newListings, AaveV3Payload.newListingsCustom, AaveV3Payload.capsUpdates, AaveV3Payload.collateralsUpdates and 5 more
${\color{green}100\%}$
$9 / 9$
src/contracts/extensions/v3-config-engine/libraries/BorrowEngine.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$2 / 2$
${\color{red}80\%}$
$8 / 10$
src/contracts/extensions/v3-config-engine/libraries/CapsEngine.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/libraries/CollateralEngine.sol ${\color{red}70\%}$
$21 / 30$
39, 42, 48, 50, 51 and 4 more
${\color{green}100\%}$
$2 / 2$
${\color{red}57.14\%}$
$8 / 14$
src/contracts/extensions/v3-config-engine/libraries/EModeEngine.sol ${\color{orange}92.31\%}$
$36 / 39$
78, 82, 87
${\color{green}100\%}$
$4 / 4$
${\color{red}64.29\%}$
$9 / 14$
src/contracts/extensions/v3-config-engine/libraries/ListingEngine.sol ${\color{green}100\%}$
$33 / 33$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$2 / 4$
src/contracts/extensions/v3-config-engine/libraries/PriceFeedEngine.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$3 / 6$
src/contracts/extensions/v3-config-engine/libraries/RateEngine.sol ${\color{red}64.52\%}$
$20 / 31$
45, 46, 47, 50, 51 and 6 more
${\color{green}100\%}$
$3 / 3$
${\color{red}14.29\%}$
$1 / 7$
src/contracts/helpers/AaveProtocolDataProvider.sol $^{↓-2.6\%}{\color{red}66.23\%}$
$51 / 77$
39, 40, 41, 42, 43 and 21 more
$^{↓-4.8\%}{\color{orange}80.95\%}$
$17 / 21$
AaveProtocolDataProvider.getAllReservesTokens, AaveProtocolDataProvider.getAllATokens, AaveProtocolDataProvider.getReserveData, AaveProtocolDataProvider.getReserveDeficit
${\color{red}0\%}$
$0 / 2$
src/contracts/helpers/L2Encoder.sol ${\color{green}100\%}$
$68 / 68$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$0 / 0$
src/contracts/helpers/LiquidationDataProvider.sol ${\color{orange}90.78\%}$
$128 / 141$
49, 66, 70, 74, 78 and 8 more
${\color{red}80\%}$
$12 / 15$
LiquidationDataProvider.getUserPositionFullInfo, LiquidationDataProvider.getCollateralFullInfo, LiquidationDataProvider.getDebtFullInfo
${\color{red}75\%}$
$15 / 20$
src/contracts/helpers/UiIncentiveDataProviderV3.sol ${\color{red}0\%}$
$0 / 90$
17, 26, 29, 32, 35 and 85 more
${\color{red}0\%}$
$0 / 5$
UiIncentiveDataProviderV3.getFullReservesIncentiveData, UiIncentiveDataProviderV3.getReservesIncentivesData, UiIncentiveDataProviderV3._getReservesIncentivesData, UiIncentiveDataProviderV3.getUserReservesIncentivesData, UiIncentiveDataProviderV3._getUserReservesIncentivesData
${\color{red}0\%}$
$0 / 4$
src/contracts/helpers/UiPoolDataProviderV3.sol $^{↓-0.84\%}{\color{red}2.52\%}$
$3 / 119$
38, 41, 42, 45, 48 and 111 more
${\color{red}16.67\%}$
$1 / 6$
UiPoolDataProviderV3.getReservesList, UiPoolDataProviderV3.getReservesData, UiPoolDataProviderV3.getEModes, UiPoolDataProviderV3.getUserReservesData, UiPoolDataProviderV3.bytes32ToString
${\color{red}0\%}$
$0 / 5$
src/contracts/helpers/WalletBalanceProvider.sol ${\color{red}0\%}$
$0 / 31$
31, 33, 42, 43, 44 and 26 more
${\color{red}0\%}$
$0 / 4$
WalletBalanceProvider.receive, WalletBalanceProvider.balanceOf, WalletBalanceProvider.batchBalanceOf, WalletBalanceProvider.getUserWalletBalances
${\color{red}0\%}$
$0 / 6$
src/contracts/helpers/WrappedTokenGatewayV3.sol $^{↓-1.8\%}{\color{lightgreen}98.18\%}$
$54 / 55$
142
${\color{green}100\%}$
$12 / 12$
${\color{red}80\%}$
$8 / 10$
src/contracts/instances/ATokenInstance.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/PoolConfiguratorInstance.sol ${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$0 / 0$
src/contracts/instances/PoolInstance.sol ${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/instances/VariableDebtTokenInstance.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/misc/AaveOracle.sol ${\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$10 / 10$
src/contracts/misc/DefaultReserveInterestRateStrategyV2.sol ${\color{green}100\%}$
$54 / 54$
${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$17 / 17$
src/contracts/misc/PriceOracleSentinel.sol ${\color{green}100\%}$
$27 / 27$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/aave-upgradeability/BaseImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$7 / 7$
${\color{red}33.33\%}$
$2 / 6$
src/contracts/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/aave-upgradeability/VersionedInitializable.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/flashloan/base/FlashLoanReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/flashloan/base/FlashLoanSimpleReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/configuration/ACLManager.sol ${\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$20 / 20$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/configuration/PoolAddressesProvider.sol ${\color{green}100\%}$
$81 / 81$
${\color{green}100\%}$
$23 / 23$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/configuration/PoolAddressesProviderRegistry.sol ${\color{green}100\%}$
$35 / 35$
${\color{green}100\%}$
$8 / 8$
${\color{red}77.78\%}$
$7 / 9$
src/contracts/protocol/libraries/configuration/EModeConfiguration.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}66.67\%}$
$4 / 6$
src/contracts/protocol/libraries/configuration/ReserveConfiguration.sol ${\color{lightgreen}97.83\%}$
$90 / 92$
306, 309
${\color{lightgreen}97.44\%}$
$38 / 39$
ReserveConfiguration.getBorrowingEnabled
${\color{red}60\%}$
$12 / 20$
src/contracts/protocol/libraries/configuration/UserConfiguration.sol ${\color{green}100\%}$
$55 / 55$
${\color{green}100\%}$
$13 / 13$
${\color{red}72.22\%}$
$13 / 18$
src/contracts/protocol/libraries/logic/BorrowLogic.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$9 / 9$
src/contracts/protocol/libraries/logic/BridgeLogic.sol ${\color{green}100\%}$
$31 / 31$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/libraries/logic/CalldataLogic.sol ${\color{green}100\%}$
$70 / 70$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/ConfiguratorLogic.sol ${\color{green}100\%}$
$34 / 34$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/libraries/logic/EModeLogic.sol ${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/libraries/logic/FlashLoanLogic.sol ${\color{green}100\%}$
$42 / 42$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$8 / 8$
src/contracts/protocol/libraries/logic/GenericLogic.sol ${\color{orange}92\%}$
$46 / 50$
92, 94, 131, 222
${\color{green}100\%}$
$4 / 4$
${\color{red}80\%}$
$8 / 10$
src/contracts/protocol/libraries/logic/IsolationModeLogic.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/LiquidationLogic.sol $^{↓-4.9\%}{\color{orange}93.92\%}$
$139 / 148$
146, 152, 396, 566, 570 and 4 more
${\color{green}100\%}$
$7 / 7$
$^{↓-12\%}{\color{orange}82.05\%}$
$32 / 39$
src/contracts/protocol/libraries/logic/PoolLogic.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$7 / 7$
${\color{red}72.73\%}$
$8 / 11$
src/contracts/protocol/libraries/logic/ReserveLogic.sol ${\color{green}100\%}$
$72 / 72$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$14 / 14$
src/contracts/protocol/libraries/logic/SupplyLogic.sol ${\color{green}100\%}$
$66 / 66$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$17 / 17$
src/contracts/protocol/libraries/logic/ValidationLogic.sol ${\color{green}100\%}$
$124 / 124$
${\color{green}100\%}$
$15 / 15$
${\color{lightgreen}95.38\%}$
$124 / 130$
src/contracts/protocol/libraries/math/PercentageMath.sol ${\color{red}75\%}$
$6 / 8$
34, 55
${\color{green}100\%}$
$2 / 2$
${\color{red}0\%}$
$0 / 2$
src/contracts/protocol/libraries/math/WadRayMath.sol ${\color{red}76\%}$
$19 / 25$
33, 51, 69, 87, 105 and 1 more
${\color{green}100\%}$
$6 / 6$
${\color{red}0\%}$
$0 / 6$
src/contracts/protocol/pool/L2Pool.sol ${\color{green}100\%}$
$29 / 29$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/pool/Pool.sol $^{↑0.043\%}{\color{lightgreen}98.99\%}$
$196 / 198$
185, 294
${\color{green}100\%}$
$71 / 71$
$^{↑2.4\%}{\color{red}75.86\%}$
$22 / 29$
src/contracts/protocol/pool/PoolConfigurator.sol ${\color{green}100\%}$
$235 / 235$
${\color{green}100\%}$
$45 / 45$
${\color{lightgreen}95.24\%}$
$60 / 63$
src/contracts/protocol/tokenization/AToken.sol ${\color{green}100\%}$
$54 / 54$
${\color{green}100\%}$
$17 / 17$
${\color{green}100\%}$
$12 / 12$
src/contracts/protocol/tokenization/VariableDebtToken.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/DebtTokenBase.sol ${\color{green}100\%}$
$19 / 19$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/EIP712Base.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$1 / 1$
src/contracts/protocol/tokenization/base/IncentivizedERC20.sol ${\color{green}100\%}$
$65 / 65$
${\color{green}100\%}$
$21 / 21$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/MintableIncentivizedERC20.sol ${\color{green}100\%}$
$16 / 16$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/ScaledBalanceTokenBase.sol ${\color{green}100\%}$
$52 / 52$
${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$8 / 8$
src/contracts/rewards/EmissionManager.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$3 / 6$
src/contracts/rewards/RewardsController.sol ${\color{lightgreen}99.04\%}$
$103 / 104$
201
${\color{green}100\%}$
$24 / 24$
${\color{red}60.71\%}$
$17 / 28$
src/contracts/rewards/RewardsDistributor.sol ${\color{lightgreen}99.32\%}$
$145 / 146$
429
${\color{green}100\%}$
$24 / 24$
${\color{orange}80.95\%}$
$17 / 21$
src/contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$0 / 0$
src/contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$1 / 2$
src/contracts/rewards/transfer-strategies/TransferStrategyBase.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$2 / 4$
src/contracts/treasury/Collector.sol ${\color{red}10.87\%}$
$10 / 92$
58, 59, 67, 68, 78 and 77 more
${\color{red}17.65\%}$
$3 / 17$
Collector.onlyFundsAdmin, Collector.onlyAdminOrRecipient, Collector.streamExists, Collector.getFundsAdmin, Collector.getNextStreamId and 9 more
${\color{red}2.86\%}$
$1 / 35$
src/contracts/treasury/RevenueSplitter.sol ${\color{green}100\%}$
$25 / 25$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$3 / 3$

Copy link

🔧 Build logs
Compiling 408 files with Solc 0.8.22
Solc 0.8.22 finished in 111.18s
Compiler run successful with warnings:
Warning (9302): Return value of low-level calls not used.
  --> src/contracts/treasury/RevenueSplitter.sol:68:5:
   |
68 |     RECIPIENT_A.call{value: amount_A}('');
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (9302): Return value of low-level calls not used.
  --> src/contracts/treasury/RevenueSplitter.sol:69:5:
   |
69 |     RECIPIENT_B.call{value: amount_B}('');
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (5740): Unreachable code.
  --> src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol:61:5:
   |
61 |     _status = _NOT_ENTERED;
   |     ^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
   --> tests/helpers/WrappedTokenGateway.t.sol:251:5:
    |
251 |     uint256 userEthBalanceBefore = alice.balance;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
    --> tests/protocol/pool/Pool.Liquidations.t.sol:1262:5:
     |
1262 |     uint256 userBalanceBefore
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^


╭------------------------------------------------+------------------+-------------------+--------------------+---------------------╮
| Contract                                       | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
+==================================================================================================================================+
| ACLManager                                     | 3,493            | 4,108             | 21,083             | 45,044              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ATokenInstance                                 | 10,162           | 11,059            | 14,414             | 38,093              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ATokenMock                                     | 803              | 967               | 23,773             | 48,185              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveOracle                                     | 2,607            | 3,767             | 21,969             | 45,385              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveProtocolDataProvider                       | 9,628            | 9,909             | 14,948             | 39,243              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3BatchOrchestration                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ConfigEngine                             | 7,396            | 8,988             | 17,180             | 40,164              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3DefaultRateStrategyProcedure             | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersBatchOne                          | 229              | 32,675            | 24,347             | 16,477              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersBatchTwo                          | 137              | 10,835            | 24,439             | 38,317              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersProcedureOne                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersProcedureTwo                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersBatchOne                          | 353              | 33,396            | 24,223             | 15,756              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersBatchTwo                          | 229              | 30,879            | 24,347             | 18,273              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersProcedureOne                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersProcedureTwo                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3IncentiveProcedure                       | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3L2PoolBatch                              | 137              | 43,305            | 24,439             | 5,847               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3L2PoolProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3LibrariesBatch1                          | 353              | 30,907            | 24,223             | 18,245              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3LibrariesBatch2                          | 353              | 44,526            | 24,223             | 4,626               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MiscBatch                                | 137              | 6,833             | 24,439             | 42,319              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MiscProcedure                            | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockAssetEModeUpdate                     | 3,309            | 3,538             | 21,267             | 45,614              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockBorrowUpdate                         | 3,189            | 3,380             | 21,387             | 45,772              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockBorrowUpdateNoChange                 | 3,219            | 3,410             | 21,357             | 45,742              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCapUpdate                            | 3,133            | 3,324             | 21,443             | 45,828              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdate                     | 3,193            | 3,384             | 21,383             | 45,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateCorrectBonus         | 3,193            | 3,384             | 21,383             | 45,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateNoChange             | 3,220            | 3,411             | 21,356             | 45,741              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateWrongBonus           | 3,197            | 3,388             | 21,379             | 45,764              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdate                  | 3,049            | 3,187             | 21,527             | 45,965              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdateEdgeBonus         | 3,052            | 3,190             | 21,524             | 45,962              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdateNoChange          | 3,120            | 3,258             | 21,456             | 45,894              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockListing                              | 3,488            | 3,717             | 21,088             | 45,435              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockListingCustom                        | 3,781            | 4,093             | 20,795             | 45,059              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockPriceFeedUpdate                      | 3,159            | 3,388             | 21,417             | 45,764              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockRatesUpdate                          | 3,152            | 3,343             | 21,424             | 45,809              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3OracleProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ParaswapBatch                            | 189              | 28,787            | 24,387             | 20,365              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ParaswapProcedure                        | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PeripheryBatch                           | 292              | 37,942            | 24,284             | 11,210              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolBatch                                | 137              | 42,058            | 24,439             | 7,094               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolConfigProcedure                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolProcedure                            | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3SetupBatch                               | 11,610           | 24,899            | 12,966             | 24,253              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3SetupProcedure                           | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TestListing                              | 7,018            | 14,747            | 17,558             | 34,405              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TokensBatch                              | 137              | 20,323            | 24,439             | 28,829              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TokensProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TreasuryProcedure                        | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Address                                        | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AdminUpgradeabilityProxy                       | 1,544            | 2,502             | 23,032             | 46,650              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AugustusRegistryMock                           | 162              | 190               | 24,414             | 48,962              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseAdminUpgradeabilityProxy                   | 1,536            | 1,565             | 23,040             | 47,587              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseImmutableAdminUpgradeabilityProxy          | 1,302            | 1,469             | 23,274             | 47,683              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseUpgradeabilityProxy                        | 108              | 135               | 24,468             | 49,017              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BorrowEngine                                   | 2,486            | 2,539             | 22,090             | 46,613              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BorrowLogic                                    | 12,501           | 12,554            | 12,075             | 36,598              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BridgeLogic                                    | 6,747            | 6,800             | 17,829             | 42,352              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CalldataLogic                                  | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CapsEngine                                     | 1,136            | 1,189             | 23,440             | 47,963              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CollateralEngine                               | 2,691            | 2,744             | 21,885             | 46,408              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Collector                                      | 6,825            | 6,862             | 17,751             | 42,290              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ConfiguratorInputTypes                         | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ConfiguratorLogic                              | 6,040            | 6,093             | 18,536             | 43,059              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Create2Utils                                   | 121              | 172               | 24,455             | 48,980              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| DataTypes                                      | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| DefaultMarketInput                             | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| DefaultReserveInterestRateStrategyV2           | 3,998            | 4,293             | 20,578             | 44,859              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| DeployUtils                                    | 913              | 942               | 23,663             | 48,210              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ECDSA                                          | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EIP712SigUtils                                 | 1,563            | 1,616             | 23,013             | 47,536              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeConfiguration                             | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeEngine                                    | 4,384            | 4,437             | 20,192             | 44,715              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeLogic                                     | 3,757            | 3,810             | 20,819             | 45,342              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC1967Proxy                                   | 122              | 967               | 24,454             | 48,185              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC1967Utils                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC20                                          | 2,086            | 2,839             | 22,490             | 46,313              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EmissionManager                                | 3,398            | 3,859             | 21,178             | 45,293              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EngineFlags                                    | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Errors                                         | 4,660            | 4,713             | 19,916             | 44,439              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Faucet                                         | 2,033            | 2,565             | 22,543             | 46,587              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| FlashLoanLogic                                 | 9,504            | 9,557             | 15,072             | 39,595              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| FlashloanAttacker                              | 1,602            | 2,026             | 22,974             | 47,126              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| GPv2SafeERC20                                  | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| GenericLogic                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Initializable                                  | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| InitializableAdminUpgradeabilityProxy          | 2,388            | 2,417             | 22,188             | 46,735              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| InitializableImmutableAdminUpgradeabilityProxy | 1,853            | 2,020             | 22,723             | 47,132              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| InitializableUpgradeabilityProxy               | 871              | 900               | 23,705             | 48,252              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| IsolationModeLogic                             | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| L2Encoder                                      | 3,731            | 3,926             | 20,845             | 45,226              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| L2PoolInstance                                 | 22,663           | 22,919            | 1,913              | 26,233              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| LiquidationDataProvider                        | 7,518            | 7,805             | 17,058             | 41,347              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| LiquidationHelper                              | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| LiquidationLogic                               | 14,700           | 14,753            | 9,876              | 34,399              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ListingEngine                                  | 6,967            | 7,020             | 17,609             | 42,132              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MarketReportUtils                              | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Math                                           | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MathUtils                                      | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MathUtilsWrapper                               | 917              | 946               | 23,659             | 48,206              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MessageHashUtils                               | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MetadataReporter                               | 12,072           | 12,101            | 12,504             | 37,051              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MintableDelegationERC20                        | 2,534            | 3,319             | 22,042             | 45,833              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MintableERC20                                  | 3,351            | 4,300             | 21,225             | 44,852              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Mock                                           | 183              | 211               | 24,393             | 48,941              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockAToken                                     | 10,164           | 11,063            | 14,412             | 38,089              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockATokenRepayment                            | 10,245           | 11,144            | 14,331             | 38,008              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockAggregator                                 | 134              | 278               | 24,442             | 48,874              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockBadTransferStrategy                        | 998              | 1,187             | 23,578             | 47,965              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockERC20AaveLMUpgradeable                     | 7,932            | 8,150             | 16,644             | 41,002              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockERC4626StataTokenUpgradeable               | 9,500            | 9,856             | 15,076             | 39,296              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanATokenReceiver                    | 2,396            | 2,774             | 22,180             | 46,378              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanReceiver                          | 2,216            | 2,501             | 22,360             | 46,651              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanSimpleReceiver                    | 1,476            | 1,761             | 23,100             | 47,391              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockIncentivesController                       | 132              | 159               | 24,444             | 48,993              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableFromConstructorImple          | 349              | 639               | 24,227             | 48,513              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableImple                         | 1,544            | 1,576             | 23,032             | 47,576              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableImpleV2                       | 1,546            | 1,578             | 23,030             | 47,574              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableV1                            | 307              | 339               | 24,269             | 48,813              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableV2                            | 309              | 341               | 24,267             | 48,811              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockL2Pool                                     | 22,690           | 22,946            | 1,886              | 26,206              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockParaSwapAugustus                           | 2,133            | 3,253             | 22,443             | 45,899              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockParaSwapAugustusRegistry                   | 179              | 308               | 24,397             | 48,844              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockParaSwapTokenTransferProxy                 | 905              | 998               | 23,671             | 48,154              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockPeripheryContractV1                        | 309              | 338               | 24,267             | 48,814              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockPeripheryContractV2                        | 290              | 319               | 24,286             | 48,833              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockPoolInherited                              | 21,605           | 21,888            | 2,971              | 27,264              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReentrantInitializableImple                | 413              | 445               | 24,163             | 48,707              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReserveConfiguration                       | 2,652            | 2,681             | 21,924             | 46,471              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReserveInterestRateStrategy                | 3,315            | 3,614             | 21,261             | 45,538              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockScaledTestnetERC20                         | 4,101            | 5,529             | 20,475             | 43,623              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockScaledToken                                | 3,999            | 4,761             | 20,577             | 44,391              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockVariableDebtToken                          | 7,280            | 8,163             | 17,296             | 40,989              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Ownable                                        | 629              | 722               | 23,947             | 48,430              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Panic                                          | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ParaSwapLiquiditySwapAdapter                   | 8,245            | 9,369             | 16,331             | 39,783              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ParaSwapRepayAdapter                           | 8,825            | 10,039            | 15,751             | 39,113              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ParaSwapWithdrawSwapAdapter                    | 6,755            | 7,809             | 17,821             | 41,343              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PercentageMath                                 | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PercentageMathWrapper                          | 297              | 326               | 24,279             | 48,826              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolAddressesProvider                          | 6,696            | 8,050             | 17,880             | 41,102              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolAddressesProviderRegistry                  | 2,149            | 2,610             | 22,427             | 46,542              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolConfiguratorInstance                       | 19,728           | 19,760            | 4,848              | 29,392              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolInstance                                   | 21,416           | 21,672            | 3,160              | 27,480              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolLogic                                      | 6,748            | 6,801             | 17,828             | 42,351              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolStorage                                    | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceFeedEngine                                | 1,531            | 1,584             | 23,045             | 47,568              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceOracle                                    | 469              | 498               | 24,107             | 48,654              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceOracleSentinel                            | 1,669            | 1,885             | 22,907             | 47,267              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ProxyAdmin                                     | 990              | 1,235             | 23,586             | 47,917              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ProxyHelpers                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PullRewardsTransferStrategy                    | 1,255            | 1,481             | 23,321             | 47,671              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RateEngine                                     | 2,297            | 2,350             | 22,279             | 46,802              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ReserveConfiguration                           | 128              | 179               | 24,448             | 48,973              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ReserveLogic                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RevenueSplitter                                | 1,942            | 2,259             | 22,634             | 46,893              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RewardsController                              | 14,067           | 14,261            | 10,509             | 34,891              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RewardsDataTypes                               | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeCast                                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeERC20                                      | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeMath                                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SequencerOracle                                | 865              | 1,326             | 23,711             | 47,826              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SigUtils                                       | 492              | 545               | 24,084             | 48,607              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SignedMath                                     | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SlotParser                                     | 330              | 383               | 24,246             | 48,769              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StakeMock                                      | 355              | 384               | 24,221             | 48,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StakedTokenTransferStrategy                    | 2,060            | 2,770             | 22,516             | 46,382              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StataTokenFactory                              | 2,981            | 3,254             | 21,595             | 45,898              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StataTokenV2                                   | 18,929           | 19,631            | 5,647              | 29,521              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StorageSlot                                    | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Strings                                        | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SupplyLogic                                    | 11,715           | 11,768            | 12,861             | 37,384              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TestnetERC20                                   | 3,981            | 5,401             | 20,595             | 43,751              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TransparentProxyFactory                        | 6,830            | 6,859             | 17,746             | 42,293              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TransparentUpgradeableProxy                    | 1,088            | 3,582             | 23,488             | 45,570              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UiIncentiveDataProviderV3                      | 9,046            | 9,075             | 15,530             | 40,077              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UiPoolDataProviderV3                           | 10,002           | 10,213            | 14,574             | 38,939              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UpgradeabilityProxy                            | 108              | 855               | 24,468             | 48,297              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UserConfiguration                              | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ValidationLogic                                | 189              | 241               | 24,387             | 48,911              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| VariableDebtTokenHarness                       | 7,296            | 8,179             | 17,280             | 40,973              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| VariableDebtTokenInstance                      | 7,278            | 8,159             | 17,298             | 40,993              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9                                          | 1,886            | 2,357             | 22,690             | 46,795              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9Mock                                      | 2,641            | 3,875             | 21,935             | 45,277              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9Mocked                                    | 2,192            | 2,663             | 22,384             | 46,489              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WadRayMath                                     | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WadRayMathWrapper                              | 816              | 845               | 23,760             | 48,307              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WalletBalanceProvider                          | 2,557            | 2,586             | 22,019             | 46,566              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WalletMock                                     | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WrappedTokenGatewayV3                          | 5,387            | 6,279             | 19,189             | 42,873              |
╰------------------------------------------------+------------------+-------------------+--------------------+---------------------╯

Copy link

🌈 Test Results
No files changed, compilation skipped

Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1469924)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98836)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125219)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113990)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 16.02ms (3.89ms CPU time)

Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4555922)
[PASS] test10ConfigEngineDeployment() (gas: 6574845)
[PASS] test11StaticATokenDeployment() (gas: 6679668)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7017541)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6573213)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2063021)
[PASS] test3AaveV3PoolDeployment() (gas: 8514974)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8765630)
[PASS] test5PeripheralsRelease() (gas: 6530915)
[PASS] test6MiscDeployment() (gas: 1360585)
[PASS] test7ParaswapDeployment() (gas: 5216435)
[PASS] test8SetupMarket() (gas: 2715171)
[PASS] test9TokensMarket() (gas: 3900822)
[PASS] testCheckInitCodeSizeBatchs() (gas: 999097)
Logs:
  AaveV3SetupBatch 24899
  AaveV3L2PoolBatch 43305
  AaveV3PoolBatch 42058
  AaveV3PeripheryBatch 37942
  AaveV3MiscBatch 6833
  AaveV3ParaswapBatch 28787
  AaveV3GettersBatchOne 32675
  AaveV3GettersBatchTwo 10835
  AaveV3TokensBatch 20323
  AaveV3HelpersBatchOne 33396
  AaveV3HelpersBatchTwo 30879
  AaveV3PeripheryBatchTreasuryPartner 37942

Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 39.78ms (16.67ms CPU time)

Ran 9 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 408452)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 710360)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 421878)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 635592)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 622186)
[PASS] test_transfer_partialAmount() (gas: 421953)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 635652)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 406919)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 620600)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 85.05ms (20.32ms CPU time)

Ran 5 tests for tests/protocol/libraries/math/PercentageMath.t.sol:PercentageMathTests
[PASS] test_constants() (gas: 10165)
[PASS] test_percentDiv() (gas: 11147)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 10566, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10669, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 137.40ms (135.59ms CPU time)

Ran 17 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259762)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129523)
[PASS] test_burn_zeroAddress() (gas: 259125)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129334)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 52.05ms (5.09ms CPU time)

Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 556781)
[PASS] test_reverts_borrow_cap() (gas: 303525)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81484)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315212)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 649154)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 390265)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 563099)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 429768)
[PASS] test_reverts_borrow_invalidAmount() (gas: 64941)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 374498)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132863)
[PASS] test_reverts_borrow_reserveInactive() (gas: 140844)
[PASS] test_reverts_borrow_reservePaused() (gas: 103564)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315651)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 707966)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406653)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381059)
[PASS] test_variable_borrow() (gas: 346821)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 66.83ms (17.63ms CPU time)

Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 562246)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 649865)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 572848)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 254908)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 575696)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 252188)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 628468)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 65.38ms (12.85ms CPU time)

Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17084)
[PASS] test_revert_notAdmin_mint() (gas: 17178)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17210)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17015)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 50.15ms (441.54µs CPU time)

Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26163)
[PASS] test_cancelPermit() (gas: 100693)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32906)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46698)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47177)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55087)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46525)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 54947)
[PASS] test_submitPermit() (gas: 94296)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 52.41ms (6.46ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 275412)
[PASS] test_repay_partialDebt() (gas: 274535)
[PASS] test_revert_repay_withoutFunds() (gas: 180152)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 46.46ms (2.29ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77965)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70878)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71617)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 45.99ms (825.03µs CPU time)

Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 162086)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 232071)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 160039)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 224488)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81567)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81608)
[PASS] test_atoken_multiple_transfers() (gas: 201287)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 387140, ~: 390609)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 524668)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 395919)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 405284)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.55s (1.50s CPU time)

Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 936861)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1076118)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1096069)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 918563)
[PASS] testEmptySource() (gas: 821588)
[PASS] testGetBaseCurrencyPrice() (gas: 12315)
[PASS] testGetPriceViaFallbackOracle() (gas: 1000286)
[PASS] testUpdateFallbackOracle() (gas: 178617)
[PASS] testUpdateSingleSource() (gas: 126963)
[PASS] testUpdateSourceBaseCurrency() (gas: 138544)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 822966)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24620)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 76.01ms (6.18ms CPU time)

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 53890454)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 64996772)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53367292)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 66826846)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 65503840)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 239.74ms (227.67ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4555943)
[PASS] test10StaticATokenDeployment() (gas: 6679718)
[PASS] test1AaveV3GettersDeployment() (gas: 7834796)
[PASS] test2AaveV3PoolDeployment() (gas: 8515008)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8765684)
[PASS] test4PeripheralsRelease() (gas: 6530892)
[PASS] test5MiscDeployment() (gas: 929335)
[PASS] test6ParaswapRelease() (gas: 5216412)
[PASS] test7SetupMarket() (gas: 2690495)
[PASS] test8TokensMarket() (gas: 3900808)
[PASS] test9ConfigEngineDeployment() (gas: 6574908)
[PASS] testAaveV3FullBatchOrchestration() (gas: 53886845)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 28.55ms (16.12ms CPU time)

Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 575908)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 628347)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 616691)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 415229)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 603497, ~: 604727)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 571744, ~: 570969)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 577483, ~: 576461)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 528956, ~: 524421)
[PASS] test_repay_full_variable_borrow() (gas: 401859)
[PASS] test_revert_repay_full_stable_borrow() (gas: 353430)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51504)
[PASS] test_reverts_borrow_reserveInactive() (gas: 129619)
[PASS] test_reverts_borrow_reservePaused() (gas: 92442)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 327417)
[PASS] test_reverts_repay_no_debt() (gas: 52075)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 13.67s (13.61s CPU time)

Ran 2 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 947773)
[PASS] test_setUserUseReserveAsCollateral() (gas: 385921)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 61.61ms (9.69ms CPU time)

Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 240892)
[PASS] test_first_supply() (gas: 240871)
[PASS] test_first_supply_on_behalf() (gas: 242918)
[PASS] test_reverts_supply_cap() (gas: 105305)
[PASS] test_reverts_supply_invalidAmount() (gas: 47720)
[PASS] test_reverts_supply_reserveFrozen() (gas: 117591)
[PASS] test_reverts_supply_reserveInactive() (gas: 125551)
[PASS] test_reverts_supply_reservePaused() (gas: 88395)
[PASS] test_reverts_supply_to_aToken() (gas: 50239)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 413678, ~: 413686)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 413871, ~: 413894)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 280943, ~: 280943)
[PASS] test_supply_after_collateral_enabled() (gas: 287552)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.55s (6.50s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549402)
[PASS] test_full_withdraw() (gas: 234777)
[PASS] test_full_withdraw_to() (gas: 240305)
[PASS] test_partial_withdraw() (gas: 231268)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 678915)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247145)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249215)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 203217)
[PASS] test_reverts_withdraw_reservePaused() (gas: 284676)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247118)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248144)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 56.79ms (9.25ms CPU time)

Ran 37 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 99058)
[PASS] test_getBorrowLogic() (gas: 13619)
[PASS] test_getBridgeLogic() (gas: 13617)
[PASS] test_getEModeLogic() (gas: 13618)
[PASS] test_getFlashLoanLogic() (gas: 13598)
[PASS] test_getLiquidationLogic() (gas: 13687)
[PASS] test_getPoolLogic() (gas: 13683)
[PASS] test_getSupplyLogic() (gas: 13682)
[PASS] test_getVirtualUnderlyingBalance() (gas: 244743)
[PASS] test_getters_getUserAccountData() (gas: 598632)
[PASS] test_mintToTreasury() (gas: 693322)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 697947)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290768)
[PASS] test_pool_defaultValues() (gas: 4368459)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81859, ~: 82155)
[PASS] test_resetIsolationModeTotalDebt() (gas: 721635)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25430, ~: 25430)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127079, ~: 127079)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4380474)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 43826, ~: 43826)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22732, ~: 22732)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 969201)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600582)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 296779)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 212145)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 291639)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71802)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 778938)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 34727, ~: 34834)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 899626)
[PASS] test_setUserEmode() (gas: 227533)
[PASS] test_setUserEmode_twice() (gas: 358044)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 968281)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240328)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277847)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.34s (1.29s CPU time)

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472600)
[PASS] test_getter_getMarketId() (gas: 1435029)
[PASS] test_new_PoolAddressesProvider() (gas: 1444259)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448435)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453612)
[PASS] test_reverts_setters_notOwner() (gas: 1451221)
[PASS] test_setACLManager_changeContract() (gas: 3014111)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248064)
[PASS] test_setAddress() (gas: 1462527)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020261)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132633)
[PASS] test_setAddress_updateAddress() (gas: 1471653)
[PASS] test_setPoolConfiguratorImpl() (gas: 5939538)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10340515)
[PASS] test_setPoolDataProvider() (gas: 1463045)
[PASS] test_setPoolImpl() (gas: 6251535)
[PASS] test_setPoolImpl_upgrade() (gas: 10652172)
[PASS] test_setPriceOracle() (gas: 1463202)
[PASS] test_setPriceOracleSentinel() (gas: 1463073)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472677)
[PASS] test_setPriceOracle_changeContract() (gas: 1472938)
[PASS] test_setter_setMarketId() (gas: 1446179)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 59.56ms (9.89ms CPU time)

Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 834634, ~: 796595)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832281, ~: 796809)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 771087, ~: 772820)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 863894, ~: 829206)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 834758, ~: 796508)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772104, ~: 773744)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 814556, ~: 792863)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 822384)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 633216)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 52824)
[PASS] test_rewardTokens() (gas: 631357)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 847241, ~: 863387)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 804153, ~: 797439)
[PASS] test_zeroIncentivesController() (gas: 37692)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 23.52s (23.47s CPU time)

Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 4042895)
[PASS] testBorrowUpdatesNoChange() (gas: 3081778)
[PASS] testBorrowsUpdates() (gas: 3148980)
[PASS] testCapsUpdate() (gas: 3091941)
[PASS] testCollateralUpdateCorrectBonus() (gas: 3106328)
[PASS] testCollateralUpdateWrongBonus() (gas: 732663)
[PASS] testCollateralsUpdates() (gas: 3105921)
[PASS] testCollateralsUpdatesNoChange() (gas: 3079753)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 738297)
[PASS] testEModeCategoryUpdates() (gas: 3178376)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 3077483)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 717805)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 720961)
[PASS] testListings() (gas: 6257318)
[PASS] testListingsCustom() (gas: 9979406)
[PASS] testPriceFeedsUpdates() (gas: 3162892)
[PASS] testRateStrategiesUpdates() (gas: 3159889)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 23.30s (23.21s CPU time)

Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52260847)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 52750207)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 76.34ms (70.72ms CPU time)

Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120613)
[PASS] testRemoveAddressesProvider() (gas: 97154)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242924)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16393)
[PASS] test_removesLastProvider() (gas: 32653)
[PASS] test_revert_registry_0() (gas: 15558)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27603)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 51.12ms (2.01ms CPU time)

Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 245785)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 47.43ms (572.43µs CPU time)

Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 190752)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 190810)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 156156)
[PASS] test_backUnbacked_onlyFee() (gas: 356414)
[PASS] test_backUnbacked_withFee() (gas: 356594)
[PASS] test_backUnbacked_withoutFee() (gas: 333892)
[PASS] test_multiple_backUnbacked() (gas: 631087)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 478054)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 419371)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30598)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 86100)
[PASS] test_unbackedMint_with_cap() (gas: 265578)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 65.30ms (16.40ms CPU time)

Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 45824)
[PASS] test_getDebtCeiling() (gas: 27099)
[PASS] test_getFlashLoanEnabled() (gas: 27199)
[PASS] test_getInterestRateStrategyAddress() (gas: 50707)
[PASS] test_getIsVirtualAccActive() (gas: 27206)
[PASS] test_getLiquidationProtocolFee() (gas: 27158)
[PASS] test_getPaused() (gas: 27250)
[PASS] test_getReserveCaps() (gas: 27176)
[PASS] test_getReserveConfigurationData() (gas: 28077)
[PASS] test_getReserveTokensAddresses() (gas: 31054)
[PASS] test_getSiloedBorrowing() (gas: 27254)
[PASS] test_getTotalDebt() (gas: 45846)
[PASS] test_getUnbackedMintCap() (gas: 27097)
[PASS] test_getUserReserveData() (gas: 363934)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 56.14ms (3.30ms CPU time)

Ran 24 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38594, ~: 38594)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 36181, ~: 36181)
[PASS] test_reverts_notAdmin_initReserves((uint8,string,string,string,string,address,address,address,bool),address) (runs: 1000, μ: 1047221, ~: 1047348)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 4.43s (4.38s CPU time)

Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 311493)
[PASS] test_borrow_interests_reach_cap() (gas: 313541)
[PASS] test_borrow_lt_cap() (gas: 299263)
[PASS] test_default_borrowCap_zero() (gas: 27547)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 359964)
[PASS] test_reverts_borrow_gt_cap() (gas: 142508)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48711)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35517)
[PASS] test_setBorrowCap() (gas: 76727)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 319830)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 55.04ms (6.60ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 269494)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 249745)
[PASS] test_configureEmodeCategory() (gas: 119120)
[PASS] test_removeBorrowableFromEmode() (gas: 182460)
[PASS] test_removeCollateralFromEmode() (gas: 223997)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59662)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35793)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34377)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34249)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34162)
[PASS] test_setAssetBorrowableInEMode() (gas: 202372)
[PASS] test_setAssetCollateralInEMode() (gas: 182537)
[PASS] test_updateEModeCategory() (gas: 205647)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 56.99ms (8.45ms CPU time)

Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 48587)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_bps_usage() (gas: 48706)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage() (gas: 91357)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46912)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46934)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 124185, ~: 124369)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 118609, ~: 121027)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 75698, ~: 76058)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 44193, ~: 44123)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68083, ~: 69107)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68691, ~: 69327)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 33326, ~: 32997)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 5.01s (4.96s CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52551, ~: 52483)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26273, ~: 26215)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29732, ~: 29827)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27226, ~: 27140)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.22s (2.17s CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 51933, ~: 51882)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25642, ~: 25598)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29132, ~: 29218)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26587, ~: 26531)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.18s (2.13s CPU time)

Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 40431, ~: 40356)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 41353, ~: 41282)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38846, ~: 38790)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52542, ~: 52454)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49720, ~: 49659)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26332, ~: 26241)
[PASS] test_overflow_liquidity_rates() (gas: 59548)
[PASS] test_overflow_variable_rates() (gas: 546010)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.11s (4.05s CPU time)

Ran 9 tests for tests/protocol/pool/Pool.Deficit.sol:PoolDeficitTests
[PASS] test_eliminateReserveDeficit_exactDeficit(address,uint120) (runs: 1000, μ: 1511798, ~: 1511970)
[PASS] test_eliminateReserveDeficit_fullUserBalance(address,uint120) (runs: 1000, μ: 1514830, ~: 1515004)
[PASS] test_eliminateReserveDeficit_parcial(address,uint120,uint120) (runs: 1000, μ: 1501017, ~: 1501127)
[PASS] test_eliminateReserveDeficit_surplus(address,uint120) (runs: 1000, μ: 1510070, ~: 1510256)
[PASS] test_interestRate() (gas: 1495314)
Logs:
  Bound result 500000000000000000000000

[PASS] test_reverts_eliminateReserveDeficit_has_borrows(address,uint120,uint120) (runs: 1000, μ: 1578360, ~: 1578295)
[PASS] test_reverts_eliminateReserveDeficit_invalid_amount(address,uint120) (runs: 1000, μ: 1207627, ~: 1207814)
[PASS] test_reverts_eliminateReserveDeficit_invalid_caller(address,uint120) (runs: 1000, μ: 1182947, ~: 1183115)
[PASS] test_reverts_eliminateReserveDeficit_reserve_not_in_deficit(address) (runs: 1000, μ: 87910, ~: 87910)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 43.03s (42.99s CPU time)

Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 410764)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 371636)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 370555)
[PASS] test_splitFunds_fixed() (gas: 447716)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 448302, ~: 449901)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 447371, ~: 448359)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100987, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.24s (4.24s CPU time)

Ran 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 930633)
[PASS] test_claimAllRewards() (gas: 886376)
[PASS] test_claimAllRewardsOnBehalf() (gas: 920081)
[PASS] test_claimAllRewardsToSelf() (gas: 886003)
[PASS] test_claimRewards() (gas: 883288)
[PASS] test_claimRewardsOnBehalf() (gas: 921807)
[PASS] test_claimRewardsToSelf() (gas: 882970)
[PASS] test_claimRewards_partial() (gas: 883625)
[PASS] test_claimRewards_zero() (gas: 636115)
[PASS] test_claimRewards_zero_with_rewards() (gas: 642727)
[PASS] test_configureAssets() (gas: 617301)
[PASS] test_initialize_no_op() (gas: 3625231)
[PASS] test_new_RewardsController() (gas: 3601581)
[PASS] test_reverts_initialize_twice() (gas: 3626810)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633160)
[PASS] test_setEmissionPerSecond() (gas: 637169)
[PASS] test_setRewardOracle() (gas: 710918)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913390)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 64.31ms (15.29ms CPU time)

Ran 1 test for tests/protocol/tokenization/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98768)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 49.01ms (318.13µs CPU time)

Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18982)
[PASS] test_emergencyTransfer() (gas: 211683)
[PASS] test_getters() (gas: 18731)
[PASS] test_performTransfer() (gas: 22028)
[PASS] test_renewApproval() (gas: 23102)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 49.49ms (1.38ms CPU time)

Ran 2 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_deposit() (gas: 489446)
[PASS] test_depositATokens() (gas: 538585)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 57.92ms (4.05ms CPU time)

Ran 2 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 72123)
[PASS] test_initializeShouldRevert() (gas: 21687)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 50.25ms (439.44µs CPU time)

Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 547024)
[PASS] test_deposit_shouldRevert() (gas: 469980)
[PASS] test_mint_shouldRevert() (gas: 474056)
[PASS] test_redeem_shouldRevert() (gas: 566758)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 544933)
[PASS] test_withdraw_shouldRevert() (gas: 562610)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 246.22ms (198.47ms CPU time)

Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89457)
[PASS] test_permit_expired() (gas: 37491)
[PASS] test_permit_invalidSigner() (gas: 66080)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 49.86ms (2.05ms CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 764753, ~: 764758)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 190095)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 217036)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 443989)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.11s (3.06s CPU time)

Ran 18 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 242104)
[PASS] test_cancel_delegationWithSig() (gas: 101800)
[PASS] test_delegationWithSig() (gas: 95276)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2736429, ~: 2736584)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2807226, ~: 2808575)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2821260, ~: 2822958)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572834)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2824459, ~: 2823067)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34223)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111067)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2623799, ~: 2623940)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3673413, ~: 3674025)
[PASS] test_reverts_operation_not_supported() (gas: 1591437)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33532)
[PASS] test_scaledBalanceOf() (gas: 321886)
[PASS] test_totalScaledSupply() (gas: 360543)
[PASS] test_totalSupply() (gas: 360472)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2822557, ~: 2822982)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.84s (6.79s CPU time)

Ran 12 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13279)
[PASS] test_rayDiv() (gas: 12752)
[PASS] test_rayMul() (gas: 11375)
[PASS] test_rayToWad() (gas: 11057)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13323, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10519, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10808, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12108, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 268.44ms (267.14ms CPU time)

Ran 15 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 468475)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 798477)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 795233)
[PASS] test_depositNativeEthInPool() (gas: 256060)
[PASS] test_fallback_revert() (gas: 10083)
[PASS] test_getWETHAddress() (gas: 10592)
[PASS] test_ownerCanRescueEth() (gas: 25228)
[PASS] test_ownerCanRescueTokens() (gas: 96960)
[PASS] test_sendEthFallback_revert() (gas: 16727)
[PASS] test_sendEth_revert() (gas: 16604)
[PASS] test_withdrawEth_full() (gas: 383329)
[PASS] test_withdrawEth_partial() (gas: 402850)
[PASS] test_withdrawEth_permit() (gas: 437228)
[PASS] test_withdrawEth_permit_frontrunRegression() (gas: 438846)
[PASS] test_withdrawEth_permit_full() (gas: 413946)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 60.96ms (14.94ms CPU time)

Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 617108)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 55.96ms (2.64ms CPU time)

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597826)
[PASS] test_proxy_upgradeTo() (gas: 619697)
[PASS] test_proxy_upgradeToAndCall() (gas: 625580)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594922)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600809)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598615)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.67ms (2.16ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 510133, ~: 510214)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 452451)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 646622)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 187403)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1045274, ~: 1045359)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 196698)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 292063, ~: 295637)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 34991)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 999693, ~: 999913)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 900609, ~: 900830)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 958364, ~: 958577)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 13.47s (13.42s CPU time)

Ran 28 tests for tests/extensions/stata-token/ERC4626StataTokenUpgradeable.t.sol:ERC4626StataTokenUpgradeableTest
[PASS] test_7201() (gas: 3469)
[PASS] test_convertersAndPreviews(uint128) (runs: 1000, μ: 43755, ~: 43755)
[PASS] test_depositATokens(uint128,uint256,address) (runs: 1000, μ: 523393, ~: 523792)
[PASS] test_depositATokens_self() (gas: 523894)
Logs:
  Bound result 1000000000000000000
  Bound result 1000000000000000000

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 556191, ~: 556710)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 529447, ~: 529846)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 466818, ~: 466678)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 396141, ~: 396036)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 488063, ~: 487918)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 387021, ~: 386928)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37293)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42237, ~: 42268)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 110149, ~: 110360)
[PASS] test_maxDeposit_freeze() (gas: 116746)
[PASS] test_maxDeposit_noCap() (gas: 98267)
[PASS] test_maxDeposit_paused() (gas: 90020)
[PASS] test_maxRedeem_inSufficientAvailableLiquidity(uint256) (runs: 1000, μ: 975510, ~: 975649)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 547093, ~: 547001)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 518906, ~: 518814)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 457063, ~: 456890)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 248288, ~: 248127)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 578606, ~: 578457)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 585054, ~: 584893)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 605564, ~: 605384)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 537659, ~: 538431)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26117)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 582488, ~: 582312)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 523164, ~: 523000)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 33.59s (33.54s CPU time)

Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 598178)
[PASS] test_new_EmissionManager() (gas: 747563)
[PASS] test_setClaimer() (gas: 51471)
[PASS] test_setDistributionEnd() (gas: 605447)
[PASS] test_setEmissionAdmin() (gas: 43012)
[PASS] test_setEmissionPerSecond() (gas: 611936)
[PASS] test_setRewardOracle() (gas: 687194)
[PASS] test_setRewardsController() (gas: 19086)
[PASS] test_setTransferStrategy() (gas: 888756)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 53.39ms (2.42ms CPU time)

Ran 5 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] test_calculateCompoundInterest_1() (gas: 10340)
[PASS] test_calculateCompoundInterest_2() (gas: 10337)
[PASS] test_calculateCompoundInterest_edge() (gas: 9166)
[PASS] test_calculateLinearInterest() (gas: 9211)
[PASS] test_constants() (gas: 8334)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.50ms (269.17µs CPU time)

Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 196192)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 744817)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 815906)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 913137)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 795909)
[PASS] test_swapAndDeposit() (gas: 897759)
[PASS] test_swapAndDeposit_permit() (gas: 944806)
[PASS] test_swapAndRepay() (gas: 993324)
[PASS] test_swapAndRepay_flashloan() (gas: 1082357)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1124988)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1042810)
[PASS] test_swapAndRepay_permit() (gas: 1040201)
[PASS] test_swap_liquidity_flashloan() (gas: 1008621)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1051163)
[PASS] test_withdrawAndSwap() (gas: 814811)
[PASS] test_withdrawAndSwap_permit() (gas: 857930)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 532838)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 95.56ms (44.81ms CPU time)

Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 215705)
[PASS] test_flashloan_borrow() (gas: 529292)
[PASS] test_flashloan_multiple() (gas: 328493)
[PASS] test_flashloan_simple() (gas: 180028)
[PASS] test_flashloan_simple_2() (gas: 180028)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212552)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183528)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 147686)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 103415)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 100166)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 159911, ~: 122727)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144668)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 169198)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 199551)
[PASS] test_reverts_flashloans_eoa() (gas: 113103)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 839876)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 872317)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.44s (1.39s CPU time)

Ran 12 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16650)
[PASS] test_getEModeCategoryData() (gas: 20458)
[PASS] test_getLiquidationGracePeriod() (gas: 18160)
[PASS] test_getReserveData() (gas: 44283)
[PASS] test_getUserAccountData() (gas: 33160)
[PASS] test_getUserAccountData_oneSupplies() (gas: 364584)
[PASS] test_getUserAccountData_oneSupplies_with_eMode_enabled() (gas: 481273)
[PASS] test_getUserAccountData_twoSupplies() (gas: 676569)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1087164)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows_with_eMode_enabled() (gas: 1250667)
[PASS] test_getUserAccountData_twoSupplies_with_eMode_enabled() (gas: 804836)
[PASS] test_getUserAccountData_with_eMode_enabled() (gas: 149667)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 71.75ms (20.56ms CPU time)

Ran 47 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 98864)
[PASS] test_getBorrowLogic() (gas: 13620)
[PASS] test_getBridgeLogic() (gas: 13706)
[PASS] test_getEModeLogic() (gas: 13708)
[PASS] test_getFlashLoanLogic() (gas: 13685)
[PASS] test_getLiquidationLogic() (gas: 13685)
[PASS] test_getPoolLogic() (gas: 13706)
[PASS] test_getSupplyLogic() (gas: 13683)
[PASS] test_getVirtualUnderlyingBalance() (gas: 244672)
[PASS] test_getters_getUserAccountData() (gas: 598456)
[PASS] test_l2_borrow() (gas: 432414)
[PASS] test_l2_liquidationCall() (gas: 1083110)
[PASS] test_l2_partial_withdraw() (gas: 307375)
[PASS] test_l2_repay() (gas: 461025)
[PASS] test_l2_repay_atokens() (gas: 468685)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 629225, ~: 627817)
[PASS] test_l2_set_user_collateral() (gas: 267056)
[PASS] test_l2_supply() (gas: 250760)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 419243, ~: 419245)
[PASS] test_l2_withdraw() (gas: 243292)
[PASS] test_mintToTreasury() (gas: 693612)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 698171)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290835)
[PASS] test_pool_defaultValues() (gas: 4368448)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81924, ~: 82198)
[PASS] test_resetIsolationModeTotalDebt() (gas: 721884)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25515, ~: 25515)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127035, ~: 127035)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4380496)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 43827, ~: 43827)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 969336)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600539)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 296738)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 212016)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 291598)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71869)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 778678)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 34667, ~: 34746)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 899736)
[PASS] test_setUserEmode() (gas: 227668)
[PASS] test_setUserEmode_twice() (gas: 358158)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 968439)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240307)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277892)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 5.32s (6.52s CPU time)

Ran 6 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 1851842)
[PASS] test_setReserveInterestRateData() (gas: 152244)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1008800)
[PASS] test_updateAToken() (gas: 2284668)
[PASS] test_updateVariableDebtToken() (gas: 1681854)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 58.49ms (5.41ms CPU time)

Ran 3 tests for tests/protocol/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 680706)
[PASS] test_reverts_initReserves_max() (gas: 197181)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 220586)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 50.90ms (916.59µs CPU time)

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423731)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 50.77ms (1.36ms CPU time)

Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 134948)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 99213)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 128637)
[PASS] test_bridgeProtocolFee() (gas: 73193)
[PASS] test_disableLiquidationGracePeriod() (gas: 78005)
[PASS] test_dropReserve() (gas: 148034)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2623973, ~: 2625749)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2616119, ~: 2616709)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30151)
[PASS] test_reverts_dropReserve_notListed() (gas: 53404)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 300232)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 459538)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47308)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2860077, ~: 2858403)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 287295)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35632)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 282164)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35651)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 407073)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30267)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30287)
[PASS] test_setBorrowableInIsolation_false() (gas: 62901)
[PASS] test_setBorrowableInIsolation_true() (gas: 65718)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2604854, ~: 2603389)
[PASS] test_setDebtCeiling() (gas: 113540)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 288265)
[PASS] test_setDebtCeiling_to_zero() (gas: 138288)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 106040)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34809, ~: 34809)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 164357, ~: 167336)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 135419, ~: 135748)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 72726)
[PASS] test_setPoolPause() (gas: 165424)
[PASS] test_setPoolPause_unpause() (gas: 238300)
[PASS] test_setReserveActive_false() (gas: 110807)
[PASS] test_setReserveActive_true() (gas: 67150)
[PASS] test_setReserveFactor() (gas: 993558)
[PASS] test_setReserveFreeze_false() (gas: 98602)
[PASS] test_setReservePause_false() (gas: 66523)
[PASS] test_setReservePause_true() (gas: 69278)
[PASS] test_setSiloedBorrowing() (gas: 97847)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58239)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58131)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 8.44s (8.39s CPU time)

Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 369124)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477618)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 122598)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 76762)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 316749)
[PASS] test_supply_eq_cap() (gas: 298070)
[PASS] test_supply_interests_reach_cap() (gas: 439022)
[PASS] test_supply_lt_cap() (gas: 298071)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 56.16ms (7.51ms CPU time)

Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.liquidationFee.t.sol:PoolConfiguratorLiquidationFeeTests
[PASS] test_revert_setLiquidationFee_gt_100() (gas: 59237)
[PASS] test_revert_setLiquidationFee_unauthorized() (gas: 59105)
[PASS] test_setLiquidationFee() (gas: 76574)
[PASS] test_setLiquidationFee_100() (gas: 76530)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 48.53ms (1.19ms CPU time)

Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 105716)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 141430, ~: 141430)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 106979)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.28s (1.23s CPU time)

Ran 12 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 617298)
[PASS] test_liquidationCall_deficit() (gas: 854037)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1076973)
[PASS] test_liquidationCall_full() (gas: 854144)
[PASS] test_liquidationCall_partial() (gas: 851572)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 867414)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 864368)
[PASS] test_repay() (gas: 775306)
[PASS] test_repay_with_ATokens() (gas: 634105)
[PASS] test_supply() (gas: 1097204)
[PASS] test_withdraw() (gas: 432300)
[PASS] test_withdraw_with_active_borrows() (gas: 615298)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 95.08ms (42.68ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Liquidations.CloseFactor.t.sol:PoolLiquidationCloseFactorTests
[PASS] test_fuzz_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50(uint256,uint256) (runs: 1000, μ: 858563, ~: 858612)
[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 823915, ~: 823957)
[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 821175, ~: 823910)
[PASS] test_hf_gt_095_borrow_gt_threshold_collateral_lt_threshold_closeFactorShouldBe100() (gas: 1074154)
[PASS] test_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50() (gas: 857222)
Logs:
  Bound result 100000000000000000000
  Bound result 970000000000000000

[PASS] test_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100() (gas: 822479)
Logs:
  Bound result 500000000000000000
  Bound result 970000000000000000

[PASS] test_hf_helper(uint256) (runs: 1000, μ: 547645, ~: 547675)
[PASS] test_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100() (gas: 822610)
Logs:
  Bound result 100000000000000000000
  Bound result 940000000000000000

[PASS] test_liquidationdataprovider_edge_range() (gas: 993604)
[PASS] test_liquidationdataprovider_edge_range_reverse() (gas: 1042513)
[PASS] test_shouldRevertIfCloseFactorIs100ButCollateralIsBelowThreshold() (gas: 819406)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 15.89s (15.84s CPU time)

Ran 26 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 812693)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 949156)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1147570)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1008846)
[PASS] test_liquidate_borrow_bad_debt() (gas: 825997)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1190907)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1039543)
[PASS] test_liquidate_isolated_position() (gas: 896943)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 835098)
[PASS] test_liquidate_variable...*[Comment body truncated]*

@sakulstra sakulstra merged commit 3bdd8c7 into v3.3.0 Feb 4, 2025
2 checks passed
@sakulstra sakulstra deleted the sherlock/patches branch February 4, 2025 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant