Skip to content

Conversation

@sakulstra
Copy link
Contributor

No description provided.

@sakulstra sakulstra merged commit 15ad0c4 into aave-dao:main Jul 30, 2025
5 checks passed
@github-actions
Copy link
Contributor

Certora Run Started (Certora Prover Run)

  • Group ID: 92b5bf82-d7e2-481a-be7a-3c15217fdef7
Config Status Link Log File
AToken-problematic-rules.conf --rule totalSupplyEqualsSumAllBalance additiveBurn additiveTransfer Submitted link certora/atoken-with-delegation/conf/AToken-problematic-rules.conf-564547a6a682.log
AToken.conf Submitted link certora/atoken-with-delegation/conf/AToken.conf-54bc7067d384.log
token-v3-delegate-HL-rules.conf --rule no_function_changes_both_balance_and_delegation_state Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-d650587fbf56.log
token-v3-delegate-HL-rules.conf --rule pp_change_in_balance_affect_power_DELEGATEE Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-f38e9124c403.log
token-v3-delegate-HL-rules.conf --rule pp_change_of_balance_affect_power_NON_DELEGATEE Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-59ca926becaf.log
token-v3-delegate-HL-rules.conf --rule vp_change_in_balance_affect_power_DELEGATEE Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-3cd69b9bf8d9.log
token-v3-delegate-HL-rules.conf --rule vp_change_of_balance_affect_power_NON_DELEGATEE Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-68be2f3146fd.log
token-v3-delegate-basic.conf Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-basic.conf-6fe700974b0e.log
token-v3-delegate-invariants.conf --exclude_rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-invariants.conf-a45d0ec01db1.log
token-v3-delegate-invariants.conf --rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct --rule_sanity "none" Submitted link certora/atoken-with-delegation/conf/token-v3-delegate-invariants.conf-cc4c046f2248.log
token-v3-erc20.conf Submitted link certora/atoken-with-delegation/conf/token-v3-erc20.conf-729fbc7b9d38.log
token-v3-general.conf Submitted link certora/atoken-with-delegation/conf/token-v3-general.conf-33501a4e7d62.log

Certora Run Summary

  • Started 12 jobs
  • 0 jobs failed

Download Logs

@codecov
Copy link

codecov bot commented Jul 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Contributor

🔮 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{red}75\%}$
$6 / 8$
67, 68
${\color{red}66.67\%}$
$2 / 3$
ReentrancyGuard._initGuard
${\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/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\%}$
$27 / 30$
87, 94, 95
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/BaseParaSwapSellAdapter.sol ${\color{orange}88.89\%}$
$24 / 27$
87, 94, 95
${\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$
143, 208
${\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}98.04\%}$
$100 / 102$
146, 221
${\color{green}100\%}$
$21 / 21$
${\color{orange}83.33\%}$
$10 / 12$
src/contracts/extensions/stata-token/StataTokenFactory.sol ${\color{orange}88.46\%}$
$23 / 26$
75, 82, 83
${\color{red}80\%}$
$4 / 5$
StataTokenFactory.getStataTokens
${\color{red}33.33\%}$
$1 / 3$
src/contracts/extensions/stata-token/StataTokenV2.sol ${\color{orange}90.63\%}$
$29 / 32$
59, 63, 68
${\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\%}$
$47 / 47$
${\color{green}100\%}$
$13 / 13$
${\color{red}50\%}$
$4 / 8$
src/contracts/extensions/v3-config-engine/AaveV3Payload.sol ${\color{red}75.51\%}$
$37 / 49$
126, 127, 131, 134, 142 and 7 more
${\color{red}26.67\%}$
$4 / 15$
AaveV3Payload._bpsToRay, AaveV3Payload.newListings, AaveV3Payload.newListingsCustom, AaveV3Payload.capsUpdates, AaveV3Payload.collateralsUpdates and 6 more
${\color{green}100\%}$
$10 / 10$
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.73\%}$
$51 / 55$
124, 128, 133, 172
${\color{green}100\%}$
$6 / 6$
${\color{red}60\%}$
$12 / 20$
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 ${\color{red}68\%}$
$51 / 75$
51, 52, 53, 54, 55 and 19 more
${\color{orange}80.95\%}$
$17 / 21$
AaveProtocolDataProvider.getAllReservesTokens, AaveProtocolDataProvider.getAllATokens, AaveProtocolDataProvider.getReserveData, AaveProtocolDataProvider.getReserveDeficit
${\color{red}25\%}$
$1 / 4$
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.71\%}$
$127 / 140$
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 ${\color{red}2.83\%}$
$3 / 106$
38, 41, 42, 45, 48 and 98 more
${\color{red}16.67\%}$
$1 / 6$
UiPoolDataProviderV3.getReservesList, UiPoolDataProviderV3.getReservesData, UiPoolDataProviderV3.getEModes, UiPoolDataProviderV3.getUserReservesData, UiPoolDataProviderV3.bytes32ToString
${\color{red}0\%}$
$0 / 10$
src/contracts/helpers/WalletBalanceProvider.sol ${\color{red}0\%}$
$0 / 29$
34, 35, 36, 38, 39 and 24 more
${\color{red}0\%}$
$0 / 3$
WalletBalanceProvider.balanceOf, WalletBalanceProvider.batchBalanceOf, WalletBalanceProvider.getUserWalletBalances
${\color{red}0\%}$
$0 / 4$
src/contracts/helpers/WrappedTokenGatewayV3.sol ${\color{green}100\%}$
$54 / 54$
${\color{green}100\%}$
$12 / 12$
${\color{orange}81.82\%}$
$9 / 11$
src/contracts/instances/ATokenInstance.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/ATokenWithDelegationInstance.sol ${\color{red}80\%}$
$8 / 10$
28, 29
${\color{red}50\%}$
$1 / 2$
ATokenWithDelegationInstance.getRevision
${\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\%}$
$10 / 10$
${\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\%}$
$52 / 52$
${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$16 / 16$
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\%}$
$15 / 15$
${\color{green}100\%}$
$3 / 3$
${\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{lightgreen}95.35\%}$
$41 / 43$
115, 116
${\color{orange}95\%}$
$19 / 20$
ACLManager.isBridge
${\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\%}$
$34 / 34$
${\color{green}100\%}$
$8 / 8$
${\color{orange}85.71\%}$
$6 / 7$
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{green}100\%}$
$85 / 85$
${\color{green}100\%}$
$36 / 36$
${\color{red}61.11\%}$
$11 / 18$
src/contracts/protocol/libraries/configuration/UserConfiguration.sol ${\color{lightgreen}95.08\%}$
$58 / 61$
78, 83, 84
${\color{orange}92.86\%}$
$13 / 14$
UserConfiguration.isUsingAsCollateralOrBorrowing
${\color{red}66.67\%}$
$12 / 18$
src/contracts/protocol/libraries/logic/BorrowLogic.sol ${\color{green}100\%}$
$39 / 39$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$8 / 8$
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\%}$
$35 / 35$
${\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\%}$
$36 / 36$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/libraries/logic/GenericLogic.sol ${\color{lightgreen}96.08\%}$
$49 / 51$
127, 220
${\color{green}100\%}$
$4 / 4$
${\color{orange}90\%}$
$9 / 10$
src/contracts/protocol/libraries/logic/IsolationModeLogic.sol ${\color{green}100\%}$
$24 / 24$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/libraries/logic/LiquidationLogic.sol ${\color{lightgreen}99.28\%}$
$137 / 138$
367
${\color{green}100\%}$
$7 / 7$
${\color{orange}91.89\%}$
$34 / 37$
src/contracts/protocol/libraries/logic/PoolLogic.sol ${\color{green}100\%}$
$49 / 49$
${\color{green}100\%}$
$9 / 9$
${\color{red}72.73\%}$
$8 / 11$
src/contracts/protocol/libraries/logic/ReserveLogic.sol ${\color{green}100\%}$
$66 / 66$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$13 / 13$
src/contracts/protocol/libraries/logic/SupplyLogic.sol ${\color{green}100\%}$
$60 / 60$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$19 / 19$
src/contracts/protocol/libraries/logic/ValidationLogic.sol ${\color{green}100\%}$
$126 / 126$
${\color{green}100\%}$
$15 / 15$
${\color{lightgreen}95.2\%}$
$119 / 125$
src/contracts/protocol/libraries/math/PercentageMath.sol ${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/libraries/math/WadRayMath.sol ${\color{orange}88\%}$
$22 / 25$
69, 87, 105
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$3 / 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 ${\color{lightgreen}98.97\%}$
$192 / 194$
536, 537
${\color{lightgreen}98.57\%}$
$69 / 70$
Pool.getReservesCount
${\color{red}74.19\%}$
$23 / 31$
src/contracts/protocol/pool/PoolConfigurator.sol ${\color{green}100\%}$
$211 / 211$
${\color{green}100\%}$
$40 / 40$
${\color{orange}94.83\%}$
$55 / 58$
src/contracts/protocol/tokenization/AToken.sol ${\color{green}100\%}$
$71 / 71$
${\color{green}100\%}$
$17 / 17$
${\color{orange}93.33\%}$
$14 / 15$
src/contracts/protocol/tokenization/ATokenWithDelegation.sol ${\color{orange}80.95\%}$
$17 / 21$
41, 42, 60, 63
${\color{red}75\%}$
$6 / 8$
ATokenWithDelegation._getDomainSeparator, ATokenWithDelegation._incrementNonces
${\color{green}100\%}$
$0 / 0$
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\%}$
$63 / 63$
${\color{green}100\%}$
$20 / 20$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/MintableIncentivizedERC20.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/ScaledBalanceTokenBase.sol ${\color{green}100\%}$
$36 / 36$
${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/delegation/BaseDelegation.sol ${\color{orange}85.56\%}$
$77 / 90$
143, 152, 154, 156, 170 and 8 more
${\color{orange}86.67\%}$
$13 / 15$
BaseDelegation.metaDelegateByType, BaseDelegation.metaDelegate
${\color{red}55.56\%}$
$15 / 27$
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{lightgreen}96.77\%}$
$90 / 93$
152, 191, 206
${\color{orange}93.75\%}$
$15 / 16$
Collector.deltaOf
${\color{red}76.19\%}$
$16 / 21$
src/contracts/treasury/RevenueSplitter.sol ${\color{green}100\%}$
$25 / 25$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$3 / 3$

@github-actions
Copy link
Contributor

Forge Build Sizes

🔕 Unchanged
Contract Runtime Size (B) Initcode Size (B) Runtime Margin (B) Initcode Margin (B)
ACLManager 3,493 3,971 21,083 45,181
ATokenHandler 9,960 10,680 14,616 38,472
ATokenInstance 10,014 11,107 14,562 38,045
ATokenMock 803 961 23,773 48,191
ATokenWithDelegationInstance 13,679 14,778 10,897 34,374
ATokenWithDelegationInstanceNext (tests/gas/ATokenWithDelegation.Transfer.gas.t.sol) 13,701 14,856 10,875 34,296
ATokenWithDelegationInstanceNext (tests/protocol/tokenization/ATokenDelegation.t.sol) 13,701 14,856 10,875 34,296
AaveOracle 2,466 3,462 22,110 45,690
AaveProtocolDataProvider 7,435 7,893 17,141 41,259
AaveV3BatchOrchestration 44 94 24,532 49,058
AaveV3ConfigEngine 7,897 9,426 16,679 39,726
AaveV3DefaultRateStrategyProcedure 21 47 24,555 49,105
AaveV3GettersBatchOne 189 22,551 24,387 26,601
AaveV3GettersBatchTwo 189 18,744 24,387 30,408
AaveV3GettersProcedureOne 21 47 24,555 49,105
AaveV3GettersProcedureTwo 21 47 24,555 49,105
AaveV3HelpersBatchOne 353 35,476 24,223 13,676
AaveV3HelpersBatchTwo 229 30,885 24,347 18,267
AaveV3HelpersProcedureOne 21 47 24,555 49,105
AaveV3HelpersProcedureTwo 21 47 24,555 49,105
AaveV3IncentiveProcedure 21 47 24,555 49,105
AaveV3L2PoolBatch 137 39,699 24,439 9,453
AaveV3L2PoolProcedure 21 47 24,555 49,105
AaveV3LibrariesBatch1 321 21,169 24,255 27,983
AaveV3LibrariesBatch2 321 41,249 24,255 7,903
AaveV3MiscBatch 137 6,160 24,439 42,992
AaveV3MiscProcedure 21 47 24,555 49,105
AaveV3MockAssetEModeUpdate 3,617 3,846 20,959 45,306
AaveV3MockBorrowUpdate 3,506 3,698 21,070 45,454
AaveV3MockBorrowUpdateNoChange 3,536 3,728 21,040 45,424
AaveV3MockCapUpdate 3,451 3,643 21,125 45,509
AaveV3MockCollateralUpdate 3,510 3,702 21,066 45,450
AaveV3MockCollateralUpdateCorrectBonus 3,510 3,702 21,066 45,450
AaveV3MockCollateralUpdateNoChange 3,537 3,729 21,039 45,423
AaveV3MockCollateralUpdateWrongBonus 3,514 3,706 21,062 45,446
AaveV3MockEModeCategoryCreation 3,900 4,179 20,676 44,973
AaveV3MockEModeCategoryUpdate 3,367 3,499 21,209 45,653
AaveV3MockEModeCategoryUpdateEdgeBonus 3,370 3,502 21,206 45,650
AaveV3MockEModeCategoryUpdateNoChange 3,438 3,570 21,138 45,582
AaveV3MockListing 3,792 4,021 20,784 45,131
AaveV3MockListingCustom 4,086 4,395 20,490 44,757
AaveV3MockListingCustomWithEModeCreation 4,565 4,888 20,011 44,264
AaveV3MockListingWithEModeCreation 4,270 4,513 20,306 44,639
AaveV3MockPriceFeedUpdate 3,461 3,690 21,115 45,462
AaveV3MockRatesUpdate 3,469 3,661 21,107 45,491
AaveV3OracleProcedure 21 47 24,555 49,105
AaveV3ParaswapBatch 189 28,296 24,387 20,856
AaveV3ParaswapProcedure 21 47 24,555 49,105
AaveV3PeripheryBatch 353 37,439 24,223 11,713
AaveV3PoolBatch 137 38,399 24,439 10,753
AaveV3PoolConfigProcedure 21 47 24,555 49,105
AaveV3PoolProcedure 21 47 24,555 49,105
AaveV3SetupBatch 11,437 28,469 13,139 20,683
AaveV3SetupProcedure 21 47 24,555 49,105
AaveV3TestListing 5,172 12,833 19,404 36,319
AaveV3TokensBatch 137 19,759 24,439 29,393
AaveV3TokensProcedure 21 47 24,555 49,105
AaveV3TreasuryProcedure 21 47 24,555 49,105
Actor 945 1,757 23,631 47,395
Address (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol) 44 94 24,532 49,058
Address (src/contracts/dependencies/openzeppelin/contracts/Address.sol) 44 94 24,532 49,058
AdminUpgradeabilityProxy 1,546 2,458 23,030 46,694
AugustusRegistryMock 162 188 24,414 48,964
BaseAdminUpgradeabilityProxy 1,538 1,566 23,038 47,586
BaseHandler 147 866 24,429 48,286
BaseHooks 147 866 24,429 48,286
BaseImmutableAdminUpgradeabilityProxy 1,304 1,471 23,272 47,681
BaseUpgradeabilityProxy 108 134 24,468 49,018
BorrowEngine 2,499 2,551 22,077 46,601
BorrowLogic 10,905 10,957 13,671 38,195
BorrowingHandler 13,616 14,336 10,960 34,816
CalldataLogic 44 94 24,532 49,058
CapsEngine 1,149 1,201 23,427 47,951
CollateralEngine 2,704 2,756 21,872 46,396
Collector 6,496 6,710 18,080 42,442
ConfiguratorInputTypes 44 94 24,532 49,058
ConfiguratorLogic 5,513 5,565 19,063 43,587
Create2Factory 52 78 24,524 49,074
Create2Utils 121 171 24,455 48,981
DataTypes 44 94 24,532 49,058
DefaultMarketInput 21 47 24,555 49,105
DefaultReserveInterestRateStrategyV2 3,575 3,759 21,001 45,393
DeployPermit2 44 94 24,532 49,058
DeployUtils 916 944 23,660 48,208
DonationAttackHandler 670 1,390 23,906 47,762
ECDSA 44 94 24,532 49,058
EIP712SigUtils 1,576 1,628 23,000 47,524
EModeConfiguration 44 94 24,532 49,058
EModeEngine 6,397 6,449 18,179 42,703
EModeLogic 3,048 3,100 21,528 46,052
ERC1967Proxy 122 973 24,454 48,179
ERC1967Utils 44 94 24,532 49,058
ERC20 2,086 2,788 22,490 46,364
EmissionManager 3,444 3,905 21,132 45,247
EmptyImplementation 21 47 24,555 49,105
EngineFlags 44 94 24,532 49,058
EnumerableSet 44 94 24,532 49,058
Errors (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol) 44 94 24,532 49,058
Errors (src/contracts/protocol/libraries/helpers/Errors.sol) 44 94 24,532 49,058
FactoryDeployer 214 240 24,362 48,912
Faucet 2,038 2,570 22,538 46,582
FlashLoanHandler 8,940 9,660 15,636 39,492
FlashLoanLogic 8,281 8,333 16,295 40,819
FlashloanAttacker 1,610 2,034 22,966 47,118
GPv2SafeERC20 44 94 24,532 49,058
GenericLogic 44 94 24,532 49,058
InitializableAdminUpgradeabilityProxy 2,392 2,420 22,184 46,732
InitializableImmutableAdminUpgradeabilityProxy 1,863 2,030 22,713 47,122
InitializableUpgradeabilityProxy 879 907 23,697 48,245
IsolationModeLogic 44 94 24,532 49,058
L2Encoder 3,585 3,780 20,991 45,372
L2PoolInstance 21,982 22,429 2,594 26,723
LendingHandler 12,137 12,857 12,439 36,295
LiquidationDataProvider 7,536 7,810 17,040 41,342
LiquidationHandler 11,665 12,385 12,911 36,767
LiquidationHelper 44 94 24,532 49,058
LiquidationLogic 13,009 13,061 11,567 36,091
ListingEngine 6,731 6,783 17,845 42,369
MarketReportUtils 44 94 24,532 49,058
Math 44 94 24,532 49,058
MathUtils 44 94 24,532 49,058
MessageHashUtils 44 94 24,532 49,058
MetadataReporter 12,326 12,354 12,250 36,798
MintableDelegationERC20 2,534 3,267 22,042 45,885
MintableERC20 3,729 4,626 20,847 44,526
Mock 182 208 24,394 48,944
MockAToken (src/contracts/mocks/tokens/MockAToken.sol) 10,285 11,434 14,291 37,718
MockAToken (src/contracts/mocks/upgradeability/MockAToken.sol) 10,014 11,113 14,562 38,039
MockAggregator 134 273 24,442 48,879
MockAggregatorSetPrice 243 386 24,333 48,766
MockBadTransferStrategy 914 1,103 23,662 48,049
MockERC20AaveLMUpgradeable 7,937 8,152 16,639 41,000
MockERC4626StataTokenUpgradeable 9,517 9,859 15,059 39,293
MockFlashLoanATokenReceiver 2,378 2,756 22,198 46,396
MockFlashLoanBorrowInsideFlashLoan 2,123 2,400 22,453 46,752
MockFlashLoanReceiver (src/contracts/mocks/flashloan/MockFlashLoanReceiver.sol) 2,237 2,522 22,339 46,630
MockFlashLoanReceiver (tests/invariants/helpers/FlashLoanReceiver.sol) 2,034 2,062 22,542 47,090
MockFlashLoanReceiverWithoutMint 1,234 1,518 23,342 47,634
MockFlashLoanSimpleReceiver 1,484 1,769 23,092 47,383
MockIncentivesController 132 158 24,444 48,994
MockInitializableFromConstructorImple 349 643 24,227 48,509
MockInitializableImple 1,556 1,591 23,020 47,561
MockInitializableImpleV2 1,558 1,593 23,018 47,559
MockInitializableV1 307 342 24,269 48,810
MockInitializableV2 309 344 24,267 48,808
MockL2Pool 22,009 22,521 2,567 26,631
MockParaSwapAugustus 1,939 1,967 22,637 47,185
MockParaSwapAugustusRegistry 179 302 24,397 48,850
MockPeripheryContractV1 309 337 24,267 48,815
MockPeripheryContractV2 290 318 24,286 48,834
MockPoolInherited 20,846 21,368 3,730 27,784
MockReentrantInitializableImple 413 448 24,163 48,704
MockReserveConfiguration 2,142 2,170 22,434 46,982
MockReserveInterestRateStrategy 3,070 3,257 21,506 45,895
MockScaledTestnetERC20 4,479 5,845 20,097 43,307
MockScaledToken 2,679 3,505 21,897 45,647
MockSimpleFlashLoanReceiverWithoutMint 754 1,037 23,822 48,115
MockVariableDebtToken (src/contracts/mocks/tokens/MockDebtTokens.sol) 7,112 8,176 17,464 40,976
MockVariableDebtToken (src/contracts/mocks/upgradeability/MockVariableDebtToken.sol) 7,090 8,104 17,486 41,048
Ownable (src/contracts/dependencies/openzeppelin/contracts/Ownable.sol) 629 721 23,947 48,431
Panic 44 94 24,532 49,058
ParaSwapLiquiditySwapAdapter 8,151 9,238 16,425 39,914
ParaSwapRepayAdapter 8,726 9,902 15,850 39,250
ParaSwapWithdrawSwapAdapter 6,673 7,690 17,903 41,462
PercentageMath 44 94 24,532 49,058
PercentageMathWrapper 297 325 24,279 48,827
PoolAddressesProvider 6,965 8,251 17,611 40,901
PoolAddressesProviderRegistry 1,946 2,407 22,630 46,745
PoolConfiguratorInstance 16,585 16,620 7,991 32,532
PoolHandler 12,234 12,954 12,342 36,198
PoolInstance 20,686 21,129 3,890 28,023
PoolLogic 7,971 8,023 16,605 41,129
PoolPermissionedHandler 10,268 10,988 14,308 38,164
PoolStorage 21 47 24,555 49,105
Pretty 2,458 2,510 22,118 46,642
PriceAggregatorHandler 485 1,205 24,091 47,947
PriceFeedEngine 1,544 1,596 23,032 47,556
PriceOracle 469 497 24,107 48,655
PriceOracleSentinel 1,530 1,746 23,046 47,406
PropertiesLibString 44 94 24,532 49,058
ProtocolAssertions 147 866 24,429 48,286
ProxyAdmin 998 1,234 23,578 47,918
ProxyHelpers 44 94 24,532 49,058
PullRewardsTransferStrategy 1,172 1,398 23,404 47,754
RateEngine 2,227 2,279 22,349 46,873
ReserveConfiguration 128 178 24,448 48,974
ReserveLogic 44 94 24,532 49,058
RevenueSplitter 1,953 2,270 22,623 46,882
RewardsController 13,965 14,155 10,611 34,997
RewardsDataTypes 44 94 24,532 49,058
SafeCast 44 94 24,532 49,058
SafeERC20 (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol) 44 94 24,532 49,058
SafeERC20 (src/contracts/dependencies/openzeppelin/contracts/SafeERC20.sol) 44 94 24,532 49,058
SafeMath 44 94 24,532 49,058
SequencerOracle 865 1,326 23,711 47,826
Setup 147 866 24,429 48,286
SigUtils 492 544 24,084 48,608
SignedMath 44 94 24,532 49,058
SlotParser 330 382 24,246 48,770
StakeMock 355 383 24,221 48,769
StakedTokenTransferStrategy 1,972 2,682 22,604 46,470
StataTokenFactory 2,989 3,445 21,587 45,707
StataTokenV2 18,933 19,611 5,643 29,541
StorageSlot 44 94 24,532 49,058
Strings (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol) 44 94 24,532 49,058
Strings (src/contracts/dependencies/openzeppelin/contracts/Strings.sol) 44 94 24,532 49,058
Strings (tests/invariants/utils/Pretty.sol) 44 94 24,532 49,058
SupplyLogic 10,186 10,238 14,390 38,914
TestERC20 3,948 5,125 20,628 44,027
TestnetERC20 4,359 5,717 20,217 43,435
TransparentProxyFactory 6,667 6,695 17,909 42,457
TransparentUpgradeableProxy 1,096 3,528 23,480 45,624
UiIncentiveDataProviderV3 9,118 9,146 15,458 40,006
UiPoolDataProviderV3 9,977 10,175 14,599 38,977
UpgradeabilityProxy 108 861 24,468 48,291
UserConfiguration 44 94 24,532 49,058
ValidationLogic 189 239 24,387 48,913
VariableDebtTokenHandler 1,185 1,905 23,391 47,247
VariableDebtTokenHarness 7,108 8,122 17,468 41,030
VariableDebtTokenInstance 7,090 8,062 17,486 41,090
WETH9 1,886 2,352 22,690 46,800
WETH9Mock 2,641 3,812 21,935 45,340
WETH9Mocked 2,192 2,658 22,384 46,494
WadRayMath 44 94 24,532 49,058
WadRayMathWrapper 816 844 23,760 48,308
WalletBalanceProvider 2,485 2,513 22,091 46,639
WalletMock 21 47 24,555 49,105
WrappedTokenGatewayV3 5,387 6,252 19,189 42,900

@github-actions
Copy link
Contributor

🌈 Test Results
No files changed, compilation skipped
2025-07-30T08:48:23.120624Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:23.121449Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:23.122231Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 3 tests for tests/protocol/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 610775)
[PASS] test_reverts_initReserves_max() (gas: 174166)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 197304)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 52.25ms (3.99ms CPU time)

Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20677)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65496)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37587)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37653)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37600)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37720)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37717)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29432)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29521)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29416)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29538)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29423)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91896)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76412)
[PASS] test_remove_riskAdmin() (gas: 29432)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72834)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1523412)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98813)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125190)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113970)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 52.24ms (26.36ms CPU time)
2025-07-30T08:48:23.172716Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1526240)
[PASS] test_getter_getMarketId() (gas: 1488924)
[PASS] test_new_PoolAddressesProvider() (gas: 1498177)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1502343)
[PASS] test_reverts_setAddress_noAuth() (gas: 1507539)
[PASS] test_reverts_setters_notOwner() (gas: 1505033)
[PASS] test_setACLManager_changeContract() (gas: 3067366)
[PASS] test_setACLManager_setACLAdmin() (gas: 2301622)
[PASS] test_setAddress() (gas: 1516437)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2096171)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2228513)
[PASS] test_setAddress_updateAddress() (gas: 1525575)
[PASS] test_setPoolConfiguratorImpl() (gas: 6133438)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10403089)
[PASS] test_setPoolDataProvider() (gas: 1516824)
[PASS] test_setPoolImpl() (gas: 6929986)
[PASS] test_setPoolImpl_upgrade() (gas: 11198864)
[PASS] test_setPriceOracle() (gas: 1516981)
[PASS] test_setPriceOracleSentinel() (gas: 1516852)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1526317)
[PASS] test_setPriceOracle_changeContract() (gas: 1526578)
[PASS] test_setter_setMarketId() (gas: 1500043)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 80.74ms (32.75ms CPU time)
2025-07-30T08:48:23.174297Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27215)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 47299)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47353)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27126)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 47276)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47374)
[PASS] test_new_PriceOracleSentinel() (gas: 395850)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25429)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22340)
[PASS] test_setGracePeriod() (gas: 32317)
[PASS] test_setSequencerOracle() (gas: 24455)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 58.81ms (12.91ms CPU time)
2025-07-30T08:48:23.203882Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:23.231359Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 40415)
[PASS] test_getDebtCeiling() (gas: 21703)
[PASS] test_getFlashLoanEnabled() (gas: 21803)
[PASS] test_getInterestRateStrategyAddress() (gas: 19259)
[PASS] test_getIsVirtualAccActive() (gas: 10877)
[PASS] test_getLiquidationProtocolFee() (gas: 21762)
[PASS] test_getPaused() (gas: 21854)
[PASS] test_getReserveCaps() (gas: 21788)
[PASS] test_getReserveConfigurationData() (gas: 22767)
[PASS] test_getReserveTokensAddresses() (gas: 25610)
[PASS] test_getSiloedBorrowing() (gas: 21858)
[PASS] test_getTotalDebt() (gas: 40437)
[PASS] test_getUnbackedMintCap() (gas: 10786)
[PASS] test_getUserReserveData() (gas: 525216)
[PASS] test_getVirtualUnderlyingBalance() (gas: 21488)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 73.60ms (21.78ms CPU time)

Ran 18 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transferFrom_fullAmount() (gas: 642091)
[PASS] test_transferFrom_fullAmount_dirtyReceiver() (gas: 1072160)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled() (gas: 690912)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1087204)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1038316)
[PASS] test_transferFrom_partialAmount() (gas: 691009)
[PASS] test_transferFrom_partialAmount_receiverNonZeroFunds() (gas: 1087271)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled() (gas: 646984)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1043222)
[PASS] test_transfer_fullAmount() (gas: 591178)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1021273)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 640024)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1036355)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 987533)
[PASS] test_transfer_partialAmount() (gas: 640159)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1036427)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 596091)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 992360)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 141.25ms (84.83ms CPU time)
2025-07-30T08:48:23.300386Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:23.311859Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 10 tests for tests/protocol/tokenization/ATokenDelegation.t.sol:ATokenDelegationTest
[PASS] test_delegate() (gas: 397852)
[PASS] test_getDelegates() (gas: 131741)
[PASS] test_getPowersCurrent() (gas: 638817)
[PASS] test_getPowersCurrent_with_index_growth() (gas: 738770)
[PASS] test_initial_state_without_delegation() (gas: 47273)
[PASS] test_mint_and_burn() (gas: 2645224)
[PASS] test_precision() (gas: 1107197)
[PASS] test_transfer() (gas: 2347089)
[PASS] test_transferFrom() (gas: 2446688)
[PASS] test_transferOnLiquidation() (gas: 2165598)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 92.81ms (62.37ms CPU time)
2025-07-30T08:48:23.393440Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 15 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45129)
[PASS] testApproveMax() (gas: 45188)
[PASS] testApproveWithZeroAddressSpender() (gas: 42171)
[PASS] testCheckGetters() (gas: 257896)
[PASS] testDecreaseAllowance() (gas: 53104)
[PASS] testIncreaseAllowance() (gas: 53214)
[PASS] testIncreaseAllowanceFromZero() (gas: 48456)
[PASS] testMintToTreasury_amount_zero() (gas: 15671)
[PASS] testTransferFromZeroAmount() (gas: 124591)
[PASS] test_burn_zeroAddress() (gas: 257292)
[PASS] test_mintToZeroAddress() (gas: 79992)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19069)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19163)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 124402)
[PASS] test_transfer_amount_MAX_UINT_120() (gas: 16554)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 33.85ms (5.22ms CPU time)
2025-07-30T08:48:23.427772Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 525349)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 611281)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 536016)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 248033)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 538862)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 246742)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 590327)
[PASS] test_mintToTreasury_events() (gas: 85487)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 36.78ms (9.38ms CPU time)
2025-07-30T08:48:23.466698Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 16863)
[PASS] test_revert_notAdmin_mint() (gas: 16911)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 16929)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 16665)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 31.47ms (1.14ms CPU time)
2025-07-30T08:48:23.499822Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26125)
[PASS] test_cancelPermit() (gas: 101671)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32866)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46281)
[PASS] test_revert_submitPermit_InvalidExpiration_previosCurrentBlock() (gas: 47178)
[PASS] test_revert_submitPermit_InvalidSignature() (gas: 54727)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55301)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46130)
[PASS] test_submitPermit() (gas: 94780)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 36.44ms (5.39ms CPU time)
2025-07-30T08:48:23.535342Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 242202)
[PASS] test_repay_partialDebt() (gas: 241327)
[PASS] test_revert_repay_withoutFunds() (gas: 151154)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 30.45ms (1.94ms CPU time)
2025-07-30T08:48:23.566492Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77699)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70403)
[PASS] test_reverts_rescueTokens_UnderlyingCannotBeRescued() (gas: 71062)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 31.01ms (1.21ms CPU time)
2025-07-30T08:48:23.598594Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 12 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 156904)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 218569)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 148979)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 208484)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 76658)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 76677)
[PASS] test_atoken_multiple_transfers() (gas: 194371)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint56,uint256) (runs: 1000, μ: 370373, ~: 373904)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 492958)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 374968)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 376329)
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 114134)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 1.50s (1.47s CPU time)
2025-07-30T08:48:25.102033Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 6 tests for tests/gas/ATokenWithDelegation.Transfer.gas.t.sol:ATokenWithDelegation_gas_Tests
[PASS] test_transfer_fullAmountSenderWithAndReceiverWithoutDelegations() (gas: 270637)
[PASS] test_transfer_fullAmountSenderWithoutAndReceiverWithDelegations_notDelegatees() (gas: 262574)
[PASS] test_transfer_fullAmountWithDelegations_delegatees() (gas: 568830)
[PASS] test_transfer_fullAmountWithDelegations_notDelegatees() (gas: 374683)
[PASS] test_transfer_fullAmountWithoutDelegations_delegatees() (gas: 356759)
[PASS] test_transfer_fullAmountWithoutDelegations_notDelegatees() (gas: 158566)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 71.50ms (9.08ms CPU time)
2025-07-30T08:48:25.175662Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 1012313)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1151410)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1171353)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 994026)
[PASS] testEmptySource() (gas: 897261)
[PASS] testGetBaseCurrencyPrice() (gas: 12312)
[PASS] testGetPriceViaFallbackOracle() (gas: 1075832)
[PASS] testUpdateFallbackOracle() (gas: 178435)
[PASS] testUpdateSingleSource() (gas: 126689)
[PASS] testUpdateSourceBaseCurrency() (gas: 138281)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 898200)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24207)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 37.45ms (3.73ms CPU time)
2025-07-30T08:48:25.217146Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:25.232616Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:25.255319Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:25.270336Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:25.293404Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 54155952)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 62326474)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53654523)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 64117594)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 62835760)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 112.00ms (99.88ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 5310820)
[PASS] test10StaticATokenDeployment() (gas: 6676156)
[PASS] test1AaveV3GettersDeployment() (gas: 7395953)
[PASS] test2AaveV3PoolDeployment() (gas: 7702550)
[PASS] test3AaveV3L2PoolDeployment() (gas: 7963102)
[PASS] test4PeripheralsRelease() (gas: 7071756)
[PASS] test5MiscDeployment() (gas: 844259)
[PASS] test6ParaswapRelease() (gas: 5160256)
[PASS] test7SetupMarket() (gas: 2645975)
[PASS] test8TokensMarket() (gas: 3760671)
[PASS] test9ConfigEngineDeployment() (gas: 7043528)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54153220)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 30.27ms (16.73ms CPU time)
2025-07-30T08:48:25.356849Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

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, μ: 828623, ~: 828682)
[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 793903, ~: 793955)
[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 791548, ~: 793908)
[PASS] test_hf_gt_095_borrow_gt_threshold_collateral_lt_threshold_closeFactorShouldBe100() (gas: 1038965)
[PASS] test_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50() (gas: 827293)
Logs:
  Bound result 100000000000000000000
  Bound result 970000000000000000

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

[PASS] test_hf_helper(uint256) (runs: 1000, μ: 526311, ~: 526339)
[PASS] test_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100() (gas: 792609)
Logs:
  Bound result 100000000000000000000
  Bound result 940000000000000000

[PASS] test_liquidationdataprovider_edge_range() (gas: 947489)
[PASS] test_liquidationdataprovider_edge_range_reverse() (gas: 999730)
[PASS] test_shouldRevertIfCloseFactorIs100ButCollateralIsBelowThreshold() (gas: 795792)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 17.67s (17.62s CPU time)
2025-07-30T08:48:40.777273Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 20 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 2739139)
[PASS] testBorrowUpdatesNoChange() (gas: 2452590)
[PASS] testBorrowsUpdates() (gas: 2521318)
[PASS] testCapsUpdate() (gas: 2462068)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2476444)
[PASS] testCollateralUpdateWrongBonus() (gas: 796163)
[PASS] testCollateralsUpdates() (gas: 2475976)
[PASS] testCollateralsUpdatesNoChange() (gas: 2450745)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 801779)
[PASS] testEModeCategoryCreation() (gas: 1239619)
[PASS] testEModeCategoryUpdates() (gas: 2605964)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2607724)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 875932)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 866325)
[PASS] testListingWithEModeCategoryCreation() (gas: 5870626)
[PASS] testListings() (gas: 5580857)
[PASS] testListingsCustom() (gas: 9280566)
[PASS] testListingsCustomWithEModeCategoryCreation() (gas: 9571101)
[PASS] testPriceFeedsUpdates() (gas: 2528345)
[PASS] testRateStrategiesUpdates() (gas: 2515761)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 21.43s (21.39s CPU time)
2025-07-30T08:48:46.782937Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:46.799762Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52530794)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 53022360)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.43ms (33.33ms CPU time)
2025-07-30T08:48:46.823198Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120369)
[PASS] testRemoveAddressesProvider() (gas: 96895)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242308)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16383)
[PASS] test_removesLastProvider() (gas: 32576)
[PASS] test_revert_registry_0() (gas: 15287)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27258)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 32.91ms (2.60ms CPU time)
2025-07-30T08:48:46.857125Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

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

Ran 5 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 49702)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_receiveEth() (gas: 20265)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 7.36ms (1.48ms CPU time)

Ran 6 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18161)
[PASS] testTransfer() (gas: 54903)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18185)
[PASS] test_receiveEth() (gas: 20288)
[PASS] test_successful() (gas: 13383)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 16.04ms (1.55ms CPU time)

Ran 7 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_isFundsAdmin() (gas: 24249)
[PASS] test_isNotFundsAdmin() (gas: 17579)
[PASS] test_receiveEth() (gas: 20288)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 6.84ms (1.82ms CPU time)

Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49636)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18335)
[PASS] testCancelStreamByFundsAdmin() (gas: 206160)
[PASS] testCancelStreamByRecipient() (gas: 231265)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242221)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22839)
[PASS] testCreateStream() (gas: 244288)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27252)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24600)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25041)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25296)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25064)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25761)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23210)
[PASS] testGetNextStreamId() (gas: 17592)
[PASS] testGetNotExistingStream() (gas: 18416)
[PASS] testGetStream() (gas: 234347)
[PASS] testTransfer() (gas: 54947)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18337)
[PASS] testWithdrawFromStream() (gas: 307164)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230192)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243607)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238105)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240264)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23004)
[PASS] test_receiveEth() (gas: 20310)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 12.33ms (7.53ms CPU time)

Ran 17 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay_V33_supply() (gas: 2037193)
[PASS] test_replay_V33_transferFrom() (gas: 2483361)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2032493)
[PASS] test_replay_v33_2setUserEMode() (gas: 2533216)
[PASS] test_replay_v33_2transfer() (gas: 2044900)
[PASS] test_replay_v33_3liquidationCall() (gas: 2560583)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2524430)
[PASS] test_replay_v33_borrow() (gas: 6259662)
[PASS] test_replay_v33_repayWithATokens() (gas: 2558152)
[PASS] test_replay_v33_setReserveActive() (gas: 2088536)
[PASS] test_replay_v33_supply() (gas: 2669153)
[PASS] test_v32_2_borrow() (gas: 2221307)
[PASS] test_v32_borrow() (gas: 2062297)
[PASS] test_v32_mintToTreasury() (gas: 2478397)
[PASS] test_v32_repay() (gas: 1931019)
[PASS] test_v32_setPoolPause() (gas: 4457653)
[PASS] test_v32_withdrawEchidna() (gas: 2049421)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 161.42ms (131.90ms CPU time)

Ran 13 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 5310733)
[PASS] test10ConfigEngineDeployment() (gas: 7043465)
[PASS] test11StaticATokenDeployment() (gas: 6676133)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7560610)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 4570271)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 3599146)
[PASS] test3AaveV3PoolDeployment() (gas: 7702516)
[PASS] test4AaveV3L2PoolDeployment() (gas: 7963025)
[PASS] test5PeripheralsRelease() (gas: 7071734)
[PASS] test6MiscDeployment() (gas: 1247701)
[PASS] test7ParaswapDeployment() (gas: 5160279)
[PASS] test8SetupMarket() (gas: 2670408)
[PASS] test9TokensMarket() (gas: 3760673)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 21.35ms (8.36ms CPU time)
2025-07-30T08:48:47.116430Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 24 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 754900)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 913507)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1086373)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 954890)
[PASS] test_liquidate_borrow_bad_debt() (gas: 764139)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1098499)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 993997)
[PASS] test_liquidate_isolated_position() (gas: 851515)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 798536)
[PASS] test_liquidate_variable_borrow_repro() (gas: 978828)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 643285)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 846477, ~: 846801)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1004142, ~: 1007125)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1001670, ~: 1004909)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1017966, ~: 1020970)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 836936)
[PASS] test_partial_liquidate_variable_borrow() (gas: 797167)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 607199)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 440817)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 575878)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 328174)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160956)
[PASS] test_reverts_liquidation_reservePaused() (gas: 131853)
[PASS] test_self_liquidate_position_shouldRevert() (gas: 660415)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 15.63s (15.60s CPU time)
2025-07-30T08:48:56.411168Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 22 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38099, ~: 38099)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 35649, ~: 35649)
[PASS] test_reverts_notAdmin_initReserves((uint8,string,string,string,string,address,address,address,bool),address) (runs: 1000, μ: 1126177, ~: 1126243)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 35776, ~: 35776)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 34653, ~: 34653)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 33564, ~: 33564)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 34607, ~: 34607)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38186, ~: 38186)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38299, ~: 38299)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38088, ~: 38088)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 38615, ~: 38615)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38150, ~: 38150)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38089, ~: 38089)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 38852, ~: 38852)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38200, ~: 38200)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 42606, ~: 42606)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38131, ~: 38134)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38062, ~: 38062)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 55221, ~: 55221)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38333, ~: 38333)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 38500, ~: 38500)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38477, ~: 38477)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 33.28s (33.23s CPU time)
2025-07-30T08:48:56.466590Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 294384)
[PASS] test_borrow_interests_reach_cap() (gas: 295873)
[PASS] test_borrow_lt_cap() (gas: 283148)
[PASS] test_default_borrowCap_zero() (gas: 22159)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 318985)
[PASS] test_reverts_borrow_gt_cap() (gas: 133795)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48160)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35037)
[PASS] test_setBorrowCap() (gas: 74460)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 301522)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 37.90ms (6.64ms CPU time)
2025-07-30T08:48:56.506577Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 22 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 914206)
[PASS] test_borrow_onBehalfOf() (gas: 1000452)
[PASS] test_flashLoanSimple() (gas: 609318)
[PASS] test_flashLoan_with_one_asset() (gas: 738658)
[PASS] test_flashLoan_with_one_asset_with_borrowing() (gas: 1161488)
[PASS] test_flashLoan_with_two_assets() (gas: 1035365)
[PASS] test_flashLoan_with_two_assets_with_borrowing() (gas: 1866951)
[PASS] test_liquidationCall_deficit() (gas: 1335455)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1694805)
[PASS] test_liquidationCall_full() (gas: 1335522)
[PASS] test_liquidationCall_partial() (gas: 1321551)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 1311871)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 1297664)
[PASS] test_mintToTreasury_one_asset() (gas: 954021)
[PASS] test_mintToTreasury_one_asset_zero_amount() (gas: 46521)
[PASS] test_mintToTreasury_two_assets() (gas: 1921978)
[PASS] test_mintToTreasury_two_assets_zero_amount() (gas: 54085)
[PASS] test_repay() (gas: 1258413)
[PASS] test_repay_with_ATokens() (gas: 1097185)
[PASS] test_supply() (gas: 1751013)
[PASS] test_withdraw() (gas: 779053)
[PASS] test_withdraw_with_active_borrows() (gas: 921594)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 118.64ms (74.21ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 274265)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 254472)
[PASS] test_configureEmodeCategory() (gas: 118237)
[PASS] test_removeBorrowableFromEmode() (gas: 191124)
[PASS] test_removeCollateralFromEmode() (gas: 236163)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 58244)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35016)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 33736)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 33675)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 33648)
[PASS] test_setAssetBorrowableInEMode() (gas: 211036)
[PASS] test_setAssetCollateralInEMode() (gas: 191179)
[PASS] test_updateEModeCategory() (gas: 200908)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 40.43ms (8.31ms CPU time)
2025-07-30T08:48:56.529511Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-30T08:48:56.544869Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 3 tests for tests/gas/Pool.OperationsComposition.gas.t.sol:PoolOperationsComposition_gas_Tests
[PASS] test_batchLiquidation() (gas: 2149550)
[PASS] test_repayAndWithdraw() (gas: 1254410)
[PASS] test_supplyAndBorrow() (gas: 646871)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 52.94ms (10.62ms CPU time)
2025-07-30T08:48:56.582234Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

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

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

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

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

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

[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 123523, ~: 123674)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 117552, ~: 120332)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 75023, ~: 75364)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 43478, ~: 43416)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68001, ~: 68630)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67543, ~: 68639)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 32764, ~: 32453)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 18549)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 40.37s (40.32s CPU time)
2025-07-30T08:49:03.674982Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3355)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835019, ~: 797983)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835609, ~: 798200)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772422, ~: 774285)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 869837, ~: 830583)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832846, ~: 797897)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 773238, ~: 775178)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 817808, ~: 794281)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 823792)
[PASS] test_getReferenceAsset() (gas: 12902)
[PASS] test_isRegisteredRewardToken() (gas: 633916)
[PASS] test_noRewardsInitialized() (gas: 39220)
[PASS] test_noopWhenNotInitialized() (gas: 52782)
[PASS] test_rewardTokens() (gas: 632057)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 848240, ~: 864680)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 805894, ~: 798822)
[PASS] test_zeroIncentivesController() (gas: 37689)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 17.31s (17.29s CPU time)
2025-07-30T08:49:04.435558Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 545498)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 615151)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 574093)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 376336)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 561987, ~: 562240)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 548400, ~: 550774)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 553884, ~: 556583)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 504721, ~: 504875)
[PASS] test_repay_full_variable_borrow() (gas: 361630)
[PASS] test_revert_repay_full_stable_borrow() (gas: 314208)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51713)
[PASS] test_reverts_borrow_reserveInactive() (gas: 123594)
[PASS] test_reverts_borrow_reservePaused() (gas: 91818)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 308613)
[PASS] test_reverts_repay_no_debt() (gas: 51974)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 8.74s (8.71s CPU time)
2025-07-30T08:49:05.324052Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 4 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 1707226)
[PASS] test_setUserEModeOnBehalfOf() (gas: 1353385)
[PASS] test_setUserUseReserveAsCollateral() (gas: 570676)
[PASS] test_setUserUseReserveAsCollateralonBehalfOf() (gas: 632988)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 62.35ms (14.59ms CPU time)
2025-07-30T08:49:05.384903Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 233738)
[PASS] test_first_supply() (gas: 233804)
[PASS] test_first_supply_on_behalf() (gas: 235829)
[PASS] test_reverts_SupplyToAToken() (gas: 50067)
[PASS] test_reverts_supply_cap() (gas: 104499)
[PASS] test_reverts_supply_invalidAmount() (gas: 47731)
[PASS] test_reverts_supply_reserveFrozen() (gas: 116747)
[PASS] test_reverts_supply_reserveInactive() (gas: 119532)
[PASS] test_reverts_supply_reservePaused() (gas: 87799)
[PASS] test_supplyWithPermit(uint128,uint120,uint128) (runs: 1000, μ: 407285, ~: 407298)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint128) (runs: 1000, μ: 407842, ~: 407855)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 277684, ~: 277686)
[PASS] test_supply_after_collateral_enabled() (gas: 279391)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 5.45s (5.42s CPU time)
2025-07-30T08:49:10.843051Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 526689)
[PASS] test_full_withdraw() (gas: 226899)
[PASS] test_full_withdraw_to() (gas: 232409)
[PASS] test_partial_withdraw() (gas: 223419)
[PASS] test_reverts_WithdrawToAToken() (gas: 237901)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 650057)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 237825)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 239894)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 194731)
[PASS] test_reverts_withdraw_reservePaused() (gas: 276751)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 231409)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 43.62ms (10.17ms CPU time)
2025-07-30T08:49:10.888003Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 44 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_approvePositionManager_false() (gas: 42587)
[PASS] test_approvePositionManager_true() (gas: 49054)
[PASS] test_dropReserve() (gas: 92812)
[PASS] test_getBorrowLogic() (gas: 13696)
[PASS] test_getEModeLogic() (gas: 13718)
[PASS] test_getFlashLoanLogic() (gas: 13674)
[PASS] test_getLiquidationLogic() (gas: 13738)
[PASS] test_getPoolLogic() (gas: 13715)
[PASS] test_getSupplyLogic() (gas: 13648)
[PASS] test_getVirtualUnderlyingBalance() (gas: 226910)
[PASS] test_getters_getUserAccountData() (gas: 575227)
[PASS] test_mintToTreasury() (gas: 653968)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 658548)
[PASS] test_noop_approvePositionManager_true_when_already_is_activated() (gas: 54309)
[PASS] test_noop_setUserUseReserveAsCollateralOnBehalfOf_true_when_already_is_activated() (gas: 424796)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 255985)
[PASS] test_pool_defaultValues() (gas: 4802714)
[PASS] test_renouncePositionManager() (gas: 38471)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81734, ~: 82014)
[PASS] test_resetIsolationModeTotalDebt() (gas: 689338)
[PASS] test_revert_setUserEModeOnBehalfOf_not_position_manager(address) (runs: 1000, μ: 212711, ~: 212711)
[PASS] test_reverts_impl_initialize() (gas: 4216228)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 24950, ~: 24950)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 98784, ~: 98784)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4316393)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 943796)
[PASS] test_reverts_setUserUseReserveAsCollateralOnBehalfOf_caller_not_position_manager(address) (runs: 1000, μ: 404166, ~: 404166)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 565937)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 270149)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 181896)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 263734)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 50072)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 750241)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36665, ~: 36780)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 26589, ~: 26589)
[PASS] test_setUserEModeOnBehalfOf() (gas: 244592)
[PASS] test_setUserEmode() (gas: 218189)
[PASS] test_setUserEmode_twice() (gas: 356268)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 949766)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_false() (gas: 392609)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_true() (gas: 418996)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 218200)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 250239)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 3.25s (3.22s CPU time)
2025-07-30T08:49:14.135981Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.liquidationFee.t.sol:PoolConfiguratorLiquidationFeeTests
[PASS] test_revert_setLiquidationFee_gt_100() (gas: 54925)
[PASS] test_revert_setLiquidationFee_unauthorized() (gas: 54858)
[PASS] test_setLiquidationFee() (gas: 74237)
[PASS] test_setLiquidationFee_100() (gas: 74193)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 34.07ms (1.56ms CPU time)
2025-07-30T08:49:14.169635Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 103495)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 137068, ~: 137068)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 103358)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 3.01s (2.98s CPU time)
2025-07-30T08:49:17.178863Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 40 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 133542)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 97816)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 127259)
[PASS] test_disableLiquidationGracePeriod() (gas: 80042)
[PASS] test_dropReserve() (gas: 140533)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2654672, ~: 2653686)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2643563, ~: 2645082)
[PASS] test_reverts_dropReserve_notListed() (gas: 52556)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 292160)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 439756)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 46534)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2880246, ~: 2880497)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 278288)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35087)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 273143)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35106)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 388592)
[PASS] test_reverts_updateFlashloanPremium() (gas: 29725)
[PASS] test_setBorrowableInIsolation_false() (gas: 64595)
[PASS] test_setBorrowableInIsolation_true() (gas: 67368)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2635016, ~: 2633245)
[PASS] test_setDebtCeiling() (gas: 108683)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 279648)
[PASS] test_setDebtCeiling_to_zero() (gas: 131967)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 104068)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34614, ~: 34614)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 134400, ~: 136658)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 132988, ~: 133314)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 71304)
[PASS] test_setPoolPause() (gas: 131801)
[PASS] test_setPoolPause_unpause() (gas: 184629)
[PASS] test_setReserveActive_false() (gas: 106127)
[PASS] test_setReserveActive_true() (gas: 65914)
[PASS] test_setReserveFactor() (gas: 938264)
[PASS] test_setReserveFreeze_false() (gas: 95811)
[PASS] test_setReservePause_false() (gas: 65198)
[PASS] test_setReservePause_true() (gas: 67953)
[PASS] test_setSiloedBorrowing() (gas: 95361)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48248)
[PASS] test_updateFlashloanPremium() (gas: 56236)
Suite result: ok. 40 passed; 0 failed; 0 skipped; finished in 7.38s (7.35s CPU time)
2025-07-30T08:49:24.570097Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 22137)
[PASS] test_multiple_setSupplyCap() (gas: 353325)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 436941)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48205)
[PASS] test_reverts_supply_gt_cap() (gas: 120158)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35063)
[PASS] test_setSupplyCap() (gas: 74584)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 305313)
[PASS] test_supply_eq_cap() (gas: 288805)
[PASS] test_supply_interests_reach_cap() (gas: 419477)
[PASS] test_supply_lt_cap() (gas: 288806)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 43.97ms (6.82ms CPU time)
2025-07-30T08:49:24.611112Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13579)
[PASS] test_setReserveInterestRateData() (gas: 142643)
[PASS] test_updateAToken() (gas: 2298348)
[PASS] test_updateVariableDebtToken() (gas: 1657345)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 35.40ms (2.03ms CPU time)
2025-07-30T08:49:24.645129Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"

Ra...*[Comment body truncated]*

@github-actions
Copy link
Contributor

♻️ Forge Gas Snapshots

🔕 Unchanged
Path Value
snapshots/AToken.transfer.json
full amount; receiver: ->enableCollateral 139,898
full amount; receiver: ->enableCollateral; transferFrom 142,883
full amount; sender: ->disableCollateral; 98,303
full amount; sender: ->disableCollateral; receiver: ->enableCollateral 140,015
full amount; sender: ->disableCollateral; receiver: ->enableCollateral; transferFrom 143,000
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral 128,057
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral; transferFrom 131,042
full amount; sender: ->disableCollateral; transferFrom 101,288
full amount; sender: collateralDisabled 98,186
full amount; sender: collateralDisabled; transferFrom 101,171
partial amount; sender: collateralDisabled; 98,186
partial amount; sender: collateralDisabled; receiver: ->enableCollateral 139,898
partial amount; sender: collateralDisabled; receiver: ->enableCollateral; transferFrom 142,883
partial amount; sender: collateralDisabled; transferFrom 101,171
partial amount; sender: collateralEnabled; 98,394
partial amount; sender: collateralEnabled; receiver: ->enableCollateral 140,106
partial amount; sender: collateralEnabled; receiver: ->enableCollateral; transferFrom 143,091
partial amount; sender: collateralEnabled; transferFrom 101,379
snapshots/ATokenWithDelegation.transfer.json
full amount; sender: with delegations, ->disableCollateral; receiver: without delegations, ->enableCollateral 159,429
full amount; sender: with delegations, delegatee, ->disableCollateral; receiver: with delegations, delegatee, ->enableCollateral 155,367
full amount; sender: with delegations, not delegatee, ->disableCollateral; receiver: with delegations, not delegatee, ->enableCollateral 155,367
full amount; sender: without delegations, ->disableCollateral; receiver: with delegations, ->enableCollateral 142,329
full amount; sender: without delegations, delegatee, ->disableCollateral; receiver: without delegations, delegatee, ->enableCollateral 146,392
full amount; sender: without delegations, not delegatee, ->disableCollateral; receiver: without delegations, not delegatee, ->enableCollateral 146,392
snapshots/Pool.Getters.json
getEModeCategoryCollateralConfig 7,957
getEModeCategoryData 11,010
getLiquidationGracePeriod 7,804
getReserveData 29,775
getUserAccountData: supplies: 0, borrows: 0 20,349
getUserAccountData: supplies: 0, borrows: 0 with eMode enabled 20,349
getUserAccountData: supplies: 1, borrows: 0 55,014
getUserAccountData: supplies: 1, borrows: 0 with eMode enabled 57,762
getUserAccountData: supplies: 2, borrows: 0 84,020
getUserAccountData: supplies: 2, borrows: 0 with eMode enabled 86,874
getUserAccountData: supplies: 2, borrows: 1 114,906
getUserAccountData: supplies: 2, borrows: 1 with eMode enabled 117,760
snapshots/Pool.Operations.json
borrow: first borrow->borrowingEnabled 244,049
borrow: first borrow->borrowingEnabled; onBehalfOf 253,836
borrow: recurrent borrow 216,250
borrow: recurrent borrow; onBehalfOf 221,237
flashLoan: flash loan for one asset 162,275
flashLoan: flash loan for one asset and borrow 265,661
flashLoan: flash loan for two assets 257,324
flashLoan: flash loan for two assets and borrow 458,805
flashLoanSimple: simple flash loan 138,173
liquidationCall: deficit on liquidated asset 354,596
liquidationCall: deficit on liquidated asset + other asset 443,657
liquidationCall: full liquidation 354,596
liquidationCall: full liquidation and receive ATokens 330,922
liquidationCall: partial liquidation 345,510
liquidationCall: partial liquidation and receive ATokens 321,836
mintToTreasury: one asset with non zero amount 100,055
mintToTreasury: one asset with zero amount 35,733
mintToTreasury: two assets with non zero amount 160,103
mintToTreasury: two assets with zero amount 40,968
repay: full repay 153,298
repay: full repay with ATokens 159,907
repay: partial repay 149,650
repay: partial repay with ATokens 154,063
supply: collateralDisabled 138,786
supply: collateralEnabled 138,786
supply: first supply->collateralEnabled 168,298
withdraw: full withdraw 155,128
withdraw: partial withdraw 171,849
withdraw: partial withdraw with active borrows 220,298
snapshots/Pool.OperationsComposition.json
batchLiquidate: liquidate 2 users 489,594
repayAndWithdraw: borrow disabled, collateral disabled 287,920
supplyAndBorrow: first supply->collateralEnabled, first borrow 370,946
snapshots/Pool.Setters.json
setUserEMode: enter eMode, 1 borrow, 1 supply 135,030
setUserEMode: leave eMode, 1 borrow, 1 supply 107,668
setUserEModeOnBehalfOf: enter eMode, 1 borrow, 1 supply 137,852
setUserEModeOnBehalfOf: leave eMode, 1 borrow, 1 supply 110,490
setUserUseReserveAsCollateral: disableCollateral, 1 supply 46,377
setUserUseReserveAsCollateral: enableCollateral, 1 supply 80,671
setUserUseReserveAsCollateralOnBehalfOf: disableCollateral, 1 supply 49,167
setUserUseReserveAsCollateralOnBehalfOf: enableCollateral, 1 supply 83,461
snapshots/ProtocolDataProvider.json
getATokenTotalSupply 30,085
getFlashLoanEnabled 11,346
getInterestRateStrategyAddress 8,811
getIsVirtualAccActive 463
getLiquidationProtocolFee 11,373
getPaused 11,462
getReserveCaps 11,383
getReserveConfigurationData 11,819
getReserveTokensAddresses 14,934
getSiloedBorrowing 11,399
getTotalDebt 30,085
getUnbackedMintCap 413
getUserReserveData 66,386
getVirtualUnderlyingBalance 11,144
snapshots/StataTokenV2.json
claimRewards 359,537
deposit 274,530
depositATokens 214,183
redeem 196,716
redeemAToken 147,626
snapshots/WrappedTokenGatewayV3.json
borrowETH 235,177
depositETH 194,700
repayETH 170,622
withdrawETH 245,282

@github-actions
Copy link
Contributor

Certora Run Started (Certora Prover Run)

  • Group ID: 84e8df31-02ab-4858-b397-1e5703fe5021
Config Status Link Log File
AToken.conf Submitted link certora/basic/conf/AToken.conf-db56a77f7558.log
EModeConfiguration.conf Submitted link certora/basic/conf/EModeConfiguration.conf-285f065b51b7.log
NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-f85328337dac.log
NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-5a79acd6dff7.log
NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-3284da0d6a5c.log
NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-66eca8d27919.log
NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-e2a1568a6a3a.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-bb2517b8f0cb.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-ecab9a59932f.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-5358638d863d.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount Submitted link certora/basic/conf/NEW-pool-simple-properties.conf-9aab5995c9a7.log
ReserveConfiguration.conf Submitted link certora/basic/conf/ReserveConfiguration.conf-004818c55c36.log
UserConfiguration.conf Submitted link certora/basic/conf/UserConfiguration.conf-9db4d79a56d1.log
VariableDebtToken.conf Submitted link certora/basic/conf/VariableDebtToken.conf-c7e93749a8e6.log
stableRemoved.conf Submitted link certora/basic/conf/stableRemoved.conf-f91b62e194d3.log

Certora Run Summary

  • Started 15 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link
Contributor

Certora Run Started (Certora Prover Run)

  • Group ID: a5b5d467-4e50-49a9-9999-501400b446a4
Config Status Link Log File
verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf Submitted link certora/stata/conf/verifyAToken.conf-1aeb999fcb47.log
verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf Submitted link certora/stata/conf/verifyAToken.conf-c36d309b83bf.log
verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient Submitted link certora/stata/conf/verifyDoubleClaim.conf-defd6fde9044.log
verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient Submitted link certora/stata/conf/verifyDoubleClaim.conf-efc0ac4f203c.log
verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert Submitted link certora/stata/conf/verifyERC4626.conf-46fe95432716.log
verifyERC4626.conf --rule previewRedeemIndependentOfBalance previewMintAmountCheck previewDepositIndependentOfAllowanceApprove previewWithdrawAmountCheck previewWithdrawIndependentOfBalance2 previewWithdrawIndependentOfBalance1 previewRedeemIndependentOfMaxRedeem1 previewRedeemAmountCheck previewRedeemIndependentOfMaxRedeem2 amountConversionRoundedDown withdrawCheck redeemCheck redeemATokensCheck convertToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance Submitted link certora/stata/conf/verifyERC4626.conf-1af0471655f9.log
verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 Submitted link certora/stata/conf/verifyERC4626DepositSummarization.conf-5bfdbf9c846f.log
verifyERC4626Extended.conf --rule previewWithdrawRoundingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant Submitted link certora/stata/conf/verifyERC4626Extended.conf-a98760cfb48a.log
verifyERC4626Extended.conf --rule redeemATokensSum Submitted link certora/stata/conf/verifyERC4626Extended.conf-4df5c4d6572b.log
verifyERC4626Extended.conf --rule redeemSum Submitted link certora/stata/conf/verifyERC4626Extended.conf-86f9ab1facd7.log
verifyERC4626MintDepositSummarization.conf --rule depositCheckIndexGRayAssert2 depositATokensCheckIndexGRayAssert2 depositWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay Submitted link certora/stata/conf/verifyERC4626MintDepositSummarization.conf-284fff6c8ff1.log
verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf Submitted link certora/stata/conf/verifyStataToken.conf-3b0485622f1f.log
verifyStataToken.conf --rule getClaimableRewards_stable Submitted link certora/stata/conf/verifyStataToken.conf-c0bc6650f759.log
verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit Submitted link certora/stata/conf/verifyStataToken.conf-1ff812d64b14.log
verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens Submitted link certora/stata/conf/verifyStataToken.conf-d57fe5517c17.log
verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards Submitted link certora/stata/conf/verifyStataToken.conf-89995b7dd2fb.log
verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist Submitted link certora/stata/conf/verifyStataToken.conf-a238de7ed252.log
verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim Submitted link certora/stata/conf/verifyStataToken.conf-0a6b394abba8.log
verifyStataToken.conf --rule singleAssetAccruedRewards Submitted link certora/stata/conf/verifyStataToken.conf-4d6f9436ac71.log
verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset Submitted link certora/stata/conf/verifyStataToken.conf-2309483aad3f.log
verifyStataToken.conf --rule solvency_total_asset_geq_total_supply Submitted link certora/stata/conf/verifyStataToken.conf-e245b200204c.log
verifyStataToken.conf --rule totalAssets_stable Submitted link certora/stata/conf/verifyStataToken.conf-7f2770d82592.log
verifyStataToken.conf --rule totalClaimableRewards_stable Submitted link certora/stata/conf/verifyStataToken.conf-c50fee268937.log

Certora Run Summary

  • Started 23 jobs
  • 0 jobs failed

Download Logs

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.

3 participants