Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: add initial gas snapshots #91

Merged
merged 3 commits into from
Dec 13, 2024

Conversation

sakulstra
Copy link
Contributor

While the ci continuously checks gas usage via --gas-report, having isolated gas metering has some merit as it allows exact tracking for selected scenarios.

While the ci contnously checks gas usage via --gas-report, having isolated gas metering has some merit.
Copy link

github-actions bot commented Dec 12, 2024

🔮 Coverage report
File Line Coverage Function Coverage Branch Coverage
src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol ${\color{red}63.64\%}$
$21 / 33$
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}80\%}$
$4 / 5$
68
${\color{red}66.67\%}$
$2 / 3$
ReentrancyGuard._initGuard
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/contracts/AccessControl.sol ${\color{orange}95\%}$
$19 / 20$
77
${\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 / 1$
26
${\color{red}0\%}$
$0 / 1$
ERC165.supportsInterface
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/contracts/ERC20.sol ${\color{red}78.05\%}$
$32 / 41$
183, 184, 205, 213, 272 and 4 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\%}$
$8 / 10$
56, 57
${\color{red}80\%}$
$4 / 5$
Ownable.renounceOwnership
${\color{red}75\%}$
$3 / 4$
src/contracts/dependencies/openzeppelin/contracts/SafeERC20.sol ${\color{red}46.15\%}$
$6 / 13$
26, 51, 52, 60, 61 and 2 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\%}$
$5 / 5$
${\color{green}100\%}$
$5 / 5$
${\color{red}62.5\%}$
$5 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/AdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 3$
26, 27, 34
${\color{red}0\%}$
$0 / 2$
AdminUpgradeabilityProxy., AdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/BaseAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 17$
36, 39, 47, 54, 63 and 12 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\%}$
$7 / 7$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/Initializable.sol ${\color{red}0\%}$
$0 / 10$
31, 36, 37, 38, 39 and 5 more
${\color{red}0\%}$
$0 / 2$
Initializable.initializer, Initializable.isConstructor
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
26, 27, 28, 29, 36
${\color{red}0\%}$
$0 / 2$
InitializableAdminUpgradeabilityProxy.initialize, InitializableAdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol ${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$1 / 1$
${\color{red}57.14\%}$
$4 / 7$
src/contracts/dependencies/openzeppelin/upgradeability/Proxy.sol $^{↓-9.1\%}{\color{orange}90.91\%}$
$10 / 11$
26
$^{↓-20\%}{\color{red}80\%}$
$4 / 5$
Proxy.
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/UpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
21, 22, 23, 24, 25
${\color{red}0\%}$
$0 / 1$
UpgradeabilityProxy.
${\color{red}0\%}$
$0 / 5$
src/contracts/dependencies/weth/WETH9.sol $^{↓-5\%}{\color{orange}90\%}$
$18 / 20$
32, 48
$^{↓-14\%}{\color{red}71.43\%}$
$5 / 7$
WETH9., WETH9.totalSupply
${\color{red}57.14\%}$
$4 / 7$
src/contracts/extensions/paraswap-adapters/BaseParaSwapAdapter.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$7 / 7$
${\color{red}60\%}$
$3 / 5$
src/contracts/extensions/paraswap-adapters/BaseParaSwapBuyAdapter.sol ${\color{orange}89.66\%}$
$26 / 29$
92, 99, 100
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/BaseParaSwapSellAdapter.sol ${\color{orange}88.46\%}$
$23 / 26$
90, 97, 98
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/ParaSwapLiquiditySwapAdapter.sol ${\color{green}100\%}$
$35 / 35$
${\color{green}100\%}$
$4 / 4$
${\color{red}63.64\%}$
$7 / 11$
src/contracts/extensions/paraswap-adapters/ParaSwapRepayAdapter.sol ${\color{lightgreen}95.35\%}$
$41 / 43$
144, 209
${\color{green}100\%}$
$5 / 5$
${\color{red}53.85\%}$
$7 / 13$
src/contracts/extensions/paraswap-adapters/ParaSwapWithdrawSwapAdapter.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$3 / 3$
${\color{red}66.67\%}$
$2 / 3$
src/contracts/extensions/stata-token/ERC20AaveLMUpgradeable.sol ${\color{orange}93.68\%}$
$89 / 95$
97, 116, 126, 213, 281 and 1 more
${\color{lightgreen}95.45\%}$
$21 / 22$
ERC20AaveLMUpgradeable.getCurrentRewardsIndex
${\color{red}66.67\%}$
$10 / 15$
src/contracts/extensions/stata-token/ERC4626StataTokenUpgradeable.sol ${\color{lightgreen}96.34\%}$
$79 / 82$
110, 146, 221
${\color{green}100\%}$
$21 / 21$
${\color{orange}81.82\%}$
$9 / 11$
src/contracts/extensions/stata-token/StataTokenFactory.sol ${\color{orange}85.71\%}$
$18 / 21$
58, 80, 88
${\color{red}80\%}$
$4 / 5$
StataTokenFactory.getStataTokens
${\color{red}33.33\%}$
$1 / 3$
src/contracts/extensions/stata-token/StataTokenV2.sol ${\color{orange}90.48\%}$
$19 / 21$
59, 109
${\color{orange}81.82\%}$
$9 / 11$
StataTokenV2.whoCanRescue, StataTokenV2.maxRescue
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/AaveV3ConfigEngine.sol ${\color{green}100\%}$
$33 / 33$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$4 / 8$
src/contracts/extensions/v3-config-engine/AaveV3Payload.sol ${\color{lightgreen}96.77\%}$
$30 / 31$
120
${\color{red}28.57\%}$
$4 / 14$
AaveV3Payload._bpsToRay, AaveV3Payload.newListings, AaveV3Payload.newListingsCustom, AaveV3Payload.capsUpdates, AaveV3Payload.collateralsUpdates and 5 more
${\color{green}100\%}$
$9 / 9$
src/contracts/extensions/v3-config-engine/libraries/BorrowEngine.sol ${\color{green}100\%}$
$16 / 16$
${\color{green}100\%}$
$2 / 2$
${\color{red}80\%}$
$8 / 10$
src/contracts/extensions/v3-config-engine/libraries/CapsEngine.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$2 / 2$
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/libraries/CollateralEngine.sol ${\color{red}67.86\%}$
$19 / 28$
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}91.43\%}$
$32 / 35$
78, 82, 87
${\color{green}100\%}$
$4 / 4$
${\color{red}64.29\%}$
$9 / 14$
src/contracts/extensions/v3-config-engine/libraries/ListingEngine.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$2 / 4$
src/contracts/extensions/v3-config-engine/libraries/PriceFeedEngine.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$3 / 6$
src/contracts/extensions/v3-config-engine/libraries/RateEngine.sol ${\color{red}60.71\%}$
$17 / 28$
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}72.73\%}$
$40 / 55$
45, 46, 49, 50, 62 and 10 more
${\color{red}80\%}$
$16 / 20$
AaveProtocolDataProvider.getAllATokens, AaveProtocolDataProvider.getUnbackedMintCap, AaveProtocolDataProvider.getReserveData, AaveProtocolDataProvider.getVirtualUnderlyingBalance
${\color{red}0\%}$
$0 / 2$
src/contracts/helpers/L2Encoder.sol ${\color{green}100\%}$
$58 / 58$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$0 / 0$
src/contracts/helpers/UiIncentiveDataProviderV3.sol ${\color{red}0\%}$
$0 / 85$
26, 32, 38, 39, 40 and 80 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}1.79\%}$
$2 / 112$
41, 42, 48, 49, 50 and 105 more
${\color{red}16.67\%}$
$1 / 6$
UiPoolDataProviderV3.getReservesList, UiPoolDataProviderV3.getReservesData, UiPoolDataProviderV3.getEModes, UiPoolDataProviderV3.getUserReservesData, UiPoolDataProviderV3.bytes32ToString
${\color{red}0\%}$
$0 / 5$
src/contracts/helpers/WalletBalanceProvider.sol ${\color{red}0\%}$
$0 / 27$
33, 43, 44, 46, 47 and 22 more
${\color{red}0\%}$
$0 / 4$
WalletBalanceProvider., WalletBalanceProvider.balanceOf, WalletBalanceProvider.batchBalanceOf, WalletBalanceProvider.getUserWalletBalances
${\color{red}0\%}$
$0 / 6$
src/contracts/helpers/WrappedTokenGatewayV3.sol ${\color{green}100\%}$
$42 / 42$
${\color{green}100\%}$
$12 / 12$
$^{↑6.7\%}{\color{red}80\%}$
$8 / 10$
src/contracts/instances/ATokenInstance.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/PoolConfiguratorInstance.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$0 / 0$
src/contracts/instances/PoolInstance.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/instances/VariableDebtTokenInstance.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/misc/AaveOracle.sol ${\color{green}100\%}$
$32 / 32$
${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$10 / 10$
src/contracts/misc/DefaultReserveInterestRateStrategyV2.sol ${\color{green}100\%}$
$39 / 39$
${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$17 / 17$
src/contracts/misc/PriceOracleSentinel.sol ${\color{green}100\%}$
$17 / 17$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/aave-upgradeability/BaseImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$7 / 7$
${\color{red}33.33\%}$
$2 / 6$
src/contracts/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/aave-upgradeability/VersionedInitializable.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/flashloan/base/FlashLoanReceiverBase.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/flashloan/base/FlashLoanSimpleReceiverBase.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/configuration/ACLManager.sol ${\color{green}100\%}$
$23 / 23$
${\color{green}100\%}$
$20 / 20$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/configuration/PoolAddressesProvider.sol ${\color{green}100\%}$
$58 / 58$
${\color{green}100\%}$
$23 / 23$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/configuration/PoolAddressesProviderRegistry.sol ${\color{green}100\%}$
$27 / 27$
${\color{green}100\%}$
$8 / 8$
${\color{red}77.78\%}$
$7 / 9$
src/contracts/protocol/libraries/configuration/EModeConfiguration.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$2 / 2$
${\color{red}66.67\%}$
$4 / 6$
src/contracts/protocol/libraries/configuration/ReserveConfiguration.sol ${\color{lightgreen}98.11\%}$
$52 / 53$
309
${\color{lightgreen}97.44\%}$
$38 / 39$
ReserveConfiguration.getBorrowingEnabled
${\color{red}60\%}$
$12 / 20$
src/contracts/protocol/libraries/configuration/UserConfiguration.sol ${\color{green}100\%}$
$42 / 42$
${\color{green}100\%}$
$13 / 13$
${\color{red}72.22\%}$
$13 / 18$
src/contracts/protocol/libraries/logic/BorrowLogic.sol ${\color{green}100\%}$
$41 / 41$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$9 / 9$
src/contracts/protocol/libraries/logic/BridgeLogic.sol ${\color{green}100\%}$
$29 / 29$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/libraries/logic/CalldataLogic.sol ${\color{green}100\%}$
$62 / 62$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/ConfiguratorLogic.sol ${\color{green}100\%}$
$29 / 29$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/libraries/logic/EModeLogic.sol ${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/libraries/logic/FlashLoanLogic.sol ${\color{green}100\%}$
$39 / 39$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$8 / 8$
src/contracts/protocol/libraries/logic/GenericLogic.sol ${\color{orange}91.3\%}$
$42 / 46$
92, 94, 131, 222
${\color{green}100\%}$
$4 / 4$
${\color{red}80\%}$
$8 / 10$
src/contracts/protocol/libraries/logic/IsolationModeLogic.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/LiquidationLogic.sol ${\color{lightgreen}98.7\%}$
$76 / 77$
214
${\color{green}100\%}$
$6 / 6$
${\color{orange}92.86\%}$
$13 / 14$
src/contracts/protocol/libraries/logic/PoolLogic.sol ${\color{green}100\%}$
$37 / 37$
${\color{green}100\%}$
$7 / 7$
${\color{red}72.73\%}$
$8 / 11$
src/contracts/protocol/libraries/logic/ReserveLogic.sol ${\color{green}100\%}$
$62 / 62$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$14 / 14$
src/contracts/protocol/libraries/logic/SupplyLogic.sol ${\color{green}100\%}$
$62 / 62$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$17 / 17$
src/contracts/protocol/libraries/logic/ValidationLogic.sol ${\color{green}100\%}$
$109 / 109$
${\color{green}100\%}$
$15 / 15$
${\color{lightgreen}95.38\%}$
$124 / 130$
src/contracts/protocol/libraries/math/PercentageMath.sol ${\color{red}66.67\%}$
$4 / 6$
34, 55
${\color{green}100\%}$
$2 / 2$
${\color{red}0\%}$
$0 / 2$
src/contracts/protocol/libraries/math/WadRayMath.sol ${\color{red}68.42\%}$
$13 / 19$
33, 51, 69, 87, 105 and 1 more
${\color{green}100\%}$
$6 / 6$
${\color{red}0\%}$
$0 / 6$
src/contracts/protocol/pool/L2Pool.sol ${\color{green}100\%}$
$20 / 20$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/pool/Pool.sol ${\color{lightgreen}98.37\%}$
$121 / 123$
174, 283
${\color{green}100\%}$
$67 / 67$
${\color{red}74.07\%}$
$20 / 27$
src/contracts/protocol/pool/PoolConfigurator.sol ${\color{green}100\%}$
$190 / 190$
${\color{green}100\%}$
$45 / 45$
${\color{lightgreen}95.24\%}$
$60 / 63$
src/contracts/protocol/tokenization/AToken.sol ${\color{green}100\%}$
$37 / 37$
${\color{green}100\%}$
$17 / 17$
${\color{green}100\%}$
$12 / 12$
src/contracts/protocol/tokenization/VariableDebtToken.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/DebtTokenBase.sol ${\color{green}100\%}$
$14 / 14$
$^{↑20\%}{\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/EIP712Base.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$1 / 1$
src/contracts/protocol/tokenization/base/IncentivizedERC20.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$21 / 21$
${\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\%}$
$45 / 45$
${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$8 / 8$
src/contracts/rewards/EmissionManager.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$3 / 6$
src/contracts/rewards/RewardsController.sol ${\color{lightgreen}98.75\%}$
$79 / 80$
201
${\color{green}100\%}$
$24 / 24$
${\color{red}60.71\%}$
$17 / 28$
src/contracts/rewards/RewardsDistributor.sol ${\color{lightgreen}99.18\%}$
$121 / 122$
429
${\color{green}100\%}$
$24 / 24$
${\color{orange}80.95\%}$
$17 / 21$
src/contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol ${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$0 / 0$
src/contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$1 / 2$
src/contracts/rewards/transfer-strategies/TransferStrategyBase.sol ${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$2 / 4$
src/contracts/treasury/Collector.sol ${\color{red}8.11\%}$
$6 / 74$
59, 68, 79, 103, 108 and 63 more
${\color{red}17.65\%}$
$3 / 17$
Collector.onlyFundsAdmin, Collector.onlyAdminOrRecipient, Collector.streamExists, Collector.getFundsAdmin, Collector.getNextStreamId and 9 more
${\color{red}2.86\%}$
$1 / 35$
src/contracts/treasury/RevenueSplitter.sol ${\color{green}100\%}$
$22 / 22$
$^{↓-25\%}{\color{red}75\%}$
$3 / 4$
RevenueSplitter.
${\color{green}100\%}$
$3 / 3$

Copy link

github-actions bot commented Dec 12, 2024

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

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

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

| Contract                                       | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
|------------------------------------------------|------------------|-------------------|--------------------|---------------------|
| ACLManager                                     |            3,493 |             4,107 |             21,083 |              45,045 |
| ATokenInstance                                 |           10,163 |            11,058 |             14,413 |              38,094 |
| ATokenMock                                     |              803 |               967 |             23,773 |              48,185 |
| AaveOracle                                     |            2,662 |             3,867 |             21,914 |              45,285 |
| AaveProtocolDataProvider                       |            9,465 |             9,739 |             15,111 |              39,413 |
| AaveV3BatchOrchestration                       |               44 |                94 |             24,532 |              49,058 |
| AaveV3ConfigEngine                             |            7,573 |             9,165 |             17,003 |              39,987 |
| AaveV3DefaultRateStrategyProcedure             |               21 |                47 |             24,555 |              49,105 |
| AaveV3GettersBatchOne                          |              229 |            32,561 |             24,347 |              16,591 |
| AaveV3GettersBatchTwo                          |              137 |            11,156 |             24,439 |              37,996 |
| AaveV3GettersProcedureOne                      |               21 |                47 |             24,555 |              49,105 |
| AaveV3GettersProcedureTwo                      |               21 |                47 |             24,555 |              49,105 |
| AaveV3HelpersBatchOne                          |              353 |            34,075 |             24,223 |              15,077 |
| AaveV3HelpersBatchTwo                          |              229 |            31,223 |             24,347 |              17,929 |
| AaveV3HelpersProcedureOne                      |               21 |                47 |             24,555 |              49,105 |
| AaveV3HelpersProcedureTwo                      |               21 |                47 |             24,555 |              49,105 |
| AaveV3IncentiveProcedure                       |               21 |                47 |             24,555 |              49,105 |
| AaveV3L2PoolBatch                              |              137 |            43,953 |             24,439 |               5,199 |
| AaveV3L2PoolProcedure                          |               21 |                47 |             24,555 |              49,105 |
| AaveV3LibrariesBatch1                          |              353 |            31,273 |             24,223 |              17,879 |
| AaveV3LibrariesBatch2                          |              353 |            41,668 |             24,223 |               7,484 |
| AaveV3MiscBatch                                |              137 |             6,830 |             24,439 |              42,322 |
| AaveV3MiscProcedure                            |               21 |                47 |             24,555 |              49,105 |
| AaveV3MockAssetEModeUpdate                     |            3,420 |             3,649 |             21,156 |              45,503 |
| AaveV3MockBorrowUpdate                         |            3,300 |             3,491 |             21,276 |              45,661 |
| AaveV3MockBorrowUpdateNoChange                 |            3,330 |             3,521 |             21,246 |              45,631 |
| AaveV3MockCapUpdate                            |            3,244 |             3,435 |             21,332 |              45,717 |
| AaveV3MockCollateralUpdate                     |            3,304 |             3,495 |             21,272 |              45,657 |
| AaveV3MockCollateralUpdateCorrectBonus         |            3,304 |             3,495 |             21,272 |              45,657 |
| AaveV3MockCollateralUpdateNoChange             |            3,331 |             3,522 |             21,245 |              45,630 |
| AaveV3MockCollateralUpdateWrongBonus           |            3,308 |             3,499 |             21,268 |              45,653 |
| AaveV3MockEModeCategoryUpdate                  |            3,159 |             3,297 |             21,417 |              45,855 |
| AaveV3MockEModeCategoryUpdateEdgeBonus         |            3,162 |             3,300 |             21,414 |              45,852 |
| AaveV3MockEModeCategoryUpdateNoChange          |            3,221 |             3,359 |             21,355 |              45,793 |
| AaveV3MockListing                              |            3,598 |             3,827 |             20,978 |              45,325 |
| AaveV3MockListingCustom                        |            3,891 |             4,203 |             20,685 |              44,949 |
| AaveV3MockPriceFeedUpdate                      |            3,269 |             3,498 |             21,307 |              45,654 |
| AaveV3MockRatesUpdate                          |            3,262 |             3,453 |             21,314 |              45,699 |
| AaveV3OracleProcedure                          |               21 |                47 |             24,555 |              49,105 |
| AaveV3ParaswapBatch                            |              189 |            30,420 |             24,387 |              18,732 |
| AaveV3ParaswapProcedure                        |               21 |                47 |             24,555 |              49,105 |
| AaveV3PeripheryBatch                           |              321 |            38,414 |             24,255 |              10,738 |
| AaveV3PoolBatch                                |              137 |            42,706 |             24,439 |               6,446 |
| AaveV3PoolConfigProcedure                      |               21 |                47 |             24,555 |              49,105 |
| AaveV3PoolProcedure                            |               21 |                47 |             24,555 |              49,105 |
| AaveV3SetupBatch                               |           11,678 |            25,007 |             12,898 |              24,145 |
| AaveV3SetupProcedure                           |               21 |                47 |             24,555 |              49,105 |
| AaveV3TestListing                              |            4,977 |            12,409 |             19,599 |              36,743 |
| AaveV3TokensBatch                              |              137 |            20,321 |             24,439 |              28,831 |
| AaveV3TokensProcedure                          |               21 |                47 |             24,555 |              49,105 |
| AaveV3TreasuryProcedure                        |               21 |                47 |             24,555 |              49,105 |
| Address                                        |               44 |                94 |             24,532 |              49,058 |
| AdminUpgradeabilityProxy                       |            1,544 |             2,502 |             23,032 |              46,650 |
| AugustusRegistryMock                           |              162 |               190 |             24,414 |              48,962 |
| BaseAdminUpgradeabilityProxy                   |            1,536 |             1,565 |             23,040 |              47,587 |
| BaseImmutableAdminUpgradeabilityProxy          |            1,302 |             1,469 |             23,274 |              47,683 |
| BaseUpgradeabilityProxy                        |              108 |               135 |             24,468 |              49,017 |
| BorrowEngine                                   |            2,526 |             2,579 |             22,050 |              46,573 |
| BorrowLogic                                    |           12,405 |            12,458 |             12,171 |              36,694 |
| BridgeLogic                                    |            6,711 |             6,764 |             17,865 |              42,388 |
| CalldataLogic                                  |               44 |                94 |             24,532 |              49,058 |
| CapsEngine                                     |            1,179 |             1,232 |             23,397 |              47,920 |
| CollateralEngine                               |            2,723 |             2,776 |             21,853 |              46,376 |
| Collector                                      |            6,815 |             6,852 |             17,761 |              42,300 |
| ConfiguratorInputTypes                         |               44 |                94 |             24,532 |              49,058 |
| ConfiguratorLogic                              |            6,539 |             6,592 |             18,037 |              42,560 |
| Create2Utils                                   |              121 |               172 |             24,455 |              48,980 |
| DataTypes                                      |               44 |                94 |             24,532 |              49,058 |
| DefaultMarketInput                             |               21 |                47 |             24,555 |              49,105 |
| DefaultReserveInterestRateStrategyV2           |            3,997 |             4,291 |             20,579 |              44,861 |
| DeployUtils                                    |              913 |               942 |             23,663 |              48,210 |
| ECDSA                                          |               44 |                94 |             24,532 |              49,058 |
| EIP712SigUtils                                 |            1,563 |             1,616 |             23,013 |              47,536 |
| EModeConfiguration                             |               44 |                94 |             24,532 |              49,058 |
| EModeEngine                                    |            4,485 |             4,538 |             20,091 |              44,614 |
| EModeLogic                                     |            3,756 |             3,809 |             20,820 |              45,343 |
| ERC1967Proxy                                   |              122 |               967 |             24,454 |              48,185 |
| ERC1967Utils                                   |               44 |                94 |             24,532 |              49,058 |
| ERC20                                          |            2,085 |             2,833 |             22,491 |              46,319 |
| EmissionManager                                |            3,455 |             3,916 |             21,121 |              45,236 |
| EngineFlags                                    |               44 |                94 |             24,532 |              49,058 |
| Errors                                         |            4,464 |             4,517 |             20,112 |              44,635 |
| Faucet                                         |            2,064 |             2,596 |             22,512 |              46,556 |
| FlashLoanLogic                                 |            9,520 |             9,573 |             15,056 |              39,579 |
| FlashloanAttacker                              |            2,123 |             2,547 |             22,453 |              46,605 |
| GPv2SafeERC20                                  |               44 |                94 |             24,532 |              49,058 |
| GenericLogic                                   |               44 |                94 |             24,532 |              49,058 |
| Initializable                                  |               21 |                47 |             24,555 |              49,105 |
| InitializableAdminUpgradeabilityProxy          |            2,388 |             2,417 |             22,188 |              46,735 |
| InitializableImmutableAdminUpgradeabilityProxy |            1,853 |             2,020 |             22,723 |              47,132 |
| InitializableUpgradeabilityProxy               |              871 |               900 |             23,705 |              48,252 |
| IsolationModeLogic                             |               44 |                94 |             24,532 |              49,058 |
| L2Encoder                                      |            3,731 |             3,926 |             20,845 |              45,226 |
| L2PoolInstance                                 |           23,266 |            23,515 |              1,310 |              25,637 |
| LiquidationLogic                               |           11,787 |            11,840 |             12,789 |              37,312 |
| ListingEngine                                  |            7,156 |             7,209 |             17,420 |              41,943 |
| MarketReportUtils                              |               44 |                94 |             24,532 |              49,058 |
| Math                                           |               44 |                94 |             24,532 |              49,058 |
| MathUtils                                      |               44 |                94 |             24,532 |              49,058 |
| MathUtilsWrapper                               |              917 |               946 |             23,659 |              48,206 |
| MessageHashUtils                               |               44 |                94 |             24,532 |              49,058 |
| MetadataReporter                               |           12,286 |            12,315 |             12,290 |              36,837 |
| MintableDelegationERC20                        |            2,533 |             3,313 |             22,043 |              45,839 |
| MintableERC20                                  |            3,351 |             4,295 |             21,225 |              44,857 |
| Mock                                           |              182 |               210 |             24,394 |              48,942 |
| MockAToken                                     |           10,165 |            11,062 |             14,411 |              38,090 |
| MockATokenRepayment                            |           10,246 |            11,143 |             14,330 |              38,009 |
| MockAggregator                                 |              134 |               278 |             24,442 |              48,874 |
| MockBadTransferStrategy                        |              998 |             1,187 |             23,578 |              47,965 |
| MockERC20AaveLMUpgradeable                     |            8,401 |             8,626 |             16,175 |              40,526 |
| MockERC4626StataTokenUpgradeable               |            9,890 |            10,246 |             14,686 |              38,906 |
| MockFlashLoanATokenReceiver                    |            2,438 |             2,816 |             22,138 |              46,336 |
| MockFlashLoanReceiver                          |            2,253 |             2,538 |             22,323 |              46,614 |
| MockFlashLoanSimpleReceiver                    |            1,476 |             1,761 |             23,100 |              47,391 |
| MockIncentivesController                       |              132 |               159 |             24,444 |              48,993 |
| MockInitializableFromConstructorImple          |              349 |               639 |             24,227 |              48,513 |
| MockInitializableImple                         |            1,544 |             1,576 |             23,032 |              47,576 |
| MockInitializableImpleV2                       |            1,546 |             1,578 |             23,030 |              47,574 |
| MockInitializableV1                            |              307 |               339 |             24,269 |              48,813 |
| MockInitializableV2                            |              309 |               341 |             24,267 |              48,811 |
| MockL2Pool                                     |           23,293 |            23,542 |              1,283 |              25,610 |
| MockParaSwapAugustus                           |            2,133 |             3,253 |             22,443 |              45,899 |
| MockParaSwapAugustusRegistry                   |              179 |               308 |             24,397 |              48,844 |
| MockParaSwapTokenTransferProxy                 |              905 |               998 |             23,671 |              48,154 |
| MockPeripheryContractV1                        |              309 |               338 |             24,267 |              48,814 |
| MockPeripheryContractV2                        |              290 |               319 |             24,286 |              48,833 |
| MockPoolInherited                              |           22,208 |            22,484 |              2,368 |              26,668 |
| MockReentrantInitializableImple                |              413 |               445 |             24,163 |              48,707 |
| MockReserveConfiguration                       |            2,651 |             2,680 |             21,925 |              46,472 |
| MockReserveInterestRateStrategy                |            3,314 |             3,612 |             21,262 |              45,540 |
| MockScaledTestnetERC20                         |            4,101 |             5,524 |             20,475 |              43,628 |
| MockScaledToken                                |            3,998 |             4,758 |             20,578 |              44,394 |
| MockVariableDebtToken                          |            7,281 |             8,162 |             17,295 |              40,990 |
| Ownable                                        |              629 |               722 |             23,947 |              48,430 |
| ParaSwapLiquiditySwapAdapter                   |            8,733 |             9,850 |             15,843 |              39,302 |
| ParaSwapRepayAdapter                           |            9,320 |            10,527 |             15,256 |              38,625 |
| ParaSwapWithdrawSwapAdapter                    |            7,397 |             8,451 |             17,179 |              40,701 |
| PercentageMath                                 |               44 |                94 |             24,532 |              49,058 |
| PercentageMathWrapper                          |              297 |               326 |             24,279 |              48,826 |
| PoolAddressesProvider                          |            6,697 |             8,049 |             17,879 |              41,103 |
| PoolAddressesProviderRegistry                  |            2,148 |             2,609 |             22,428 |              46,543 |
| PoolConfiguratorInstance                       |           19,780 |            19,812 |              4,796 |              29,340 |
| PoolInstance                                   |           22,019 |            22,268 |              2,557 |              26,884 |
| PoolLogic                                      |            6,823 |             6,876 |             17,753 |              42,276 |
| PoolStorage                                    |               21 |                47 |             24,555 |              49,105 |
| PriceFeedEngine                                |            1,577 |             1,630 |             22,999 |              47,522 |
| PriceOracle                                    |              469 |               498 |             24,107 |              48,654 |
| PriceOracleSentinel                            |            1,668 |             1,884 |             22,908 |              47,268 |
| ProxyAdmin                                     |              990 |             1,235 |             23,586 |              47,917 |
| ProxyHelpers                                   |               44 |                94 |             24,532 |              49,058 |
| PullRewardsTransferStrategy                    |            1,255 |             1,481 |             23,321 |              47,671 |
| RateEngine                                     |            2,348 |             2,401 |             22,228 |              46,751 |
| ReserveConfiguration                           |              128 |               179 |             24,448 |              48,973 |
| ReserveLogic                                   |               44 |                94 |             24,532 |              49,058 |
| RevenueSplitter                                |            1,942 |             2,259 |             22,634 |              46,893 |
| RewardsController                              |           14,226 |            14,420 |             10,350 |              34,732 |
| RewardsDataTypes                               |               44 |                94 |             24,532 |              49,058 |
| SafeCast                                       |               44 |                94 |             24,532 |              49,058 |
| SafeERC20                                      |               44 |                94 |             24,532 |              49,058 |
| SafeMath                                       |               44 |                94 |             24,532 |              49,058 |
| SequencerOracle                                |              865 |             1,326 |             23,711 |              47,826 |
| SigUtils                                       |              492 |               545 |             24,084 |              48,607 |
| SignedMath                                     |               44 |                94 |             24,532 |              49,058 |
| SlotParser                                     |              330 |               383 |             24,246 |              48,769 |
| StakeMock                                      |              355 |               384 |             24,221 |              48,768 |
| StakedTokenTransferStrategy                    |            2,060 |             2,770 |             22,516 |              46,382 |
| StataTokenFactory                              |            3,535 |             4,026 |             21,041 |              45,126 |
| StataTokenV2                                   |           19,991 |            20,693 |              4,585 |              28,459 |
| StorageSlot                                    |               44 |                94 |             24,532 |              49,058 |
| Strings                                        |               44 |                94 |             24,532 |              49,058 |
| SupplyLogic                                    |           11,679 |            11,732 |             12,897 |              37,420 |
| TestnetERC20                                   |            3,981 |             5,396 |             20,595 |              43,756 |
| TransparentProxyFactory                        |            5,341 |             5,370 |             19,235 |              43,782 |
| TransparentUpgradeableProxy                    |            1,088 |             2,274 |             23,488 |              46,878 |
| UiIncentiveDataProviderV3                      |            9,125 |             9,154 |             15,451 |              39,998 |
| UiPoolDataProviderV3                           |            9,917 |            10,128 |             14,659 |              39,024 |
| UpgradeabilityProxy                            |              108 |               855 |             24,468 |              48,297 |
| UserConfiguration                              |               44 |                94 |             24,532 |              49,058 |
| ValidationLogic                                |              189 |               241 |             24,387 |              48,911 |
| VariableDebtTokenHarness                       |            7,297 |             8,178 |             17,279 |              40,974 |
| VariableDebtTokenInstance                      |            7,279 |             8,158 |             17,297 |              40,994 |
| WETH9                                          |            1,885 |             2,354 |             22,691 |              46,798 |
| WETH9Mock                                      |            2,640 |             3,869 |             21,936 |              45,283 |
| WETH9Mocked                                    |            2,191 |             2,660 |             22,385 |              46,492 |
| WadRayMath                                     |               44 |                94 |             24,532 |              49,058 |
| WadRayMathWrapper                              |              816 |               845 |             23,760 |              48,307 |
| WalletBalanceProvider                          |            2,619 |             2,648 |             21,957 |              46,504 |
| WalletMock                                     |               21 |                47 |             24,555 |              49,105 |
| WrappedTokenGatewayV3                          |            5,722 |             6,600 |             18,854 |              42,552 |

Copy link

github-actions bot commented Dec 12, 2024

Gas report

ProxyAdmin

  • size: 1267 / 49152

TransparentUpgradeableProxy

  • size: 2434 / 49152
Method min mean median max calls
fallback() 789 470226 31396 1961825 96

WETH9

  • size: 2354 / 49152
Method min mean median max calls
approve(address,uint256) 29004 46434 46464 46464 ↑2.5%1634
balanceOf(address) 538 939 538 2538 ↑2.5%8225
decimals() 2312 2312 2312 2312 ↑4.6%706

StataTokenFactory

  • size: 4154 / 49152
Method min mean median max calls
createStataTokens(address[]) 1934402 1934402 1934402 1934402 ↑11%21
getStataToken(address) 569 569 569 569 ↑11%21
initialize() 24103 24103 24103 24103 ↑4.5%676

StataTokenV2

  • size: 20757 / 49152
Method min mean median max calls
deposit(uint256,address) 267243 ↑3.8%277433 ↑3.8%277433 ↑7.6%287624 ↑100%2
depositATokens(uint256,address) 161441 ↑0.71%196226 203183 203183 ↑20%6
initialize(address,string,string) 25518 ↑0.15%231137 232108 239108 ↑10%64
redeem(uint256,address,address) 31682 ↑250%110055 ↑250%110055 ↑490%188428 ↑100%2
redeemATokens(uint256,address,address) 136074 136074 136074 136074 1

AaveV3ConfigEngine

  • size: 9645 / 49152
Method min mean median max calls
listAssetsCustom((string,string),((address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address))[]) 1803763 5189567 5194695 5194695 ↑4.5%670

AaveProtocolDataProvider

  • size: 9771 / 49152
Method min mean median max calls
getATokenTotalSupply(address) 12822 13643 12866 25922 ↑4.5%2035
getIsVirtualAccActive(address) 3245 3266 3267 3267 ↑290%66
getPaused(address) 3333 ↓-5.8%3482 3355 5355 ↑170%78
getReserveConfigurationData(address) 3659 ↓-5.8%4112 3681 17181 ↑59%132
getReserveTokensAddresses(address) 9510 ↑1.6%12981 9554 43054 ↑13%510

L2Encoder

  • size: 3958 / 49152

WrappedTokenGatewayV3

  • size: 6696 / 49152

ATokenInstance

  • size: 11090 / 49152
Method min mean median max calls
POOL() 326 326 326 326 ↑6.1%104
RESERVE_TREASURY_ADDRESS() 419 ↓-37%941 ↓-83%419 2419 ↑150%88
UNDERLYING_ASSET_ADDRESS() 441 ↓-25%1635 2441 2441 ↑56%154
approve(address,uint256) 24586 24586 24586 24586 ↑3%34
balanceOf(address) 2749 ↑1%5922 4749 17749 ↑5%252
burn(address,address,uint256,uint256) 904 ↑3.6%42084 45478 63239 ↑11%72
decimals() 356 ↓-46%862 ↓-85%356 2356 ↑140%83
getIncentivesController() 474 ↓-25%534 474 2474 ↑290%66
handleRepayment(address,address,uint256) 594 594 594 594 ↑12%55
initialize(address,address,address,address,uint8,string,string,bytes) 187036 ↑0.33%193556 187036 ↑8.2%299168 ↑6.6%2201
mint(address,address,uint256,uint256) 932 ↓-0.36%60125 64402 72156 ↑22%693
name() 1004 ↓-9.4%2369 3259 3259 ↑32%226
scaledBalanceOf(address) 687 ↑16%2291 2687 2687 ↑96%596
symbol() ↓-19%1069 ↓-9.7%2377 3324 3324 ↑36%208
totalSupply() 407 ↑5.4%2873 2407 10463 ↑8.7%2314
transfer(address,uint256) 576 ↓-0.15%99173 110839 140167 ↑45%32
transferFrom(address,address,uint256) 2998 ↑0.2%105969 ↑0.13%112085 142842 ↑2.5%41
transferOnLiquidation(address,address,uint256) 981 ↑1.4%34883 37477 44277 ↑18%26
transferUnderlyingTo(address,uint256) 796 ↑24%26769 ↑100%33588 33627 ↑80%221

L2PoolInstance

  • size: 23547 / 49152
Method min mean median max calls
repayWithPermit(bytes32,bytes32,bytes32) 209917 209917 209917 209917 1

PoolConfiguratorInstance

  • size: 19812 / 49152
Method min mean median max calls
configureReserveAsCollateral(address,uint256,uint256,uint256) 12220 12549 12264 99552 ↑4.5%2024
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 ↑2.1%4764984 4382378 202584151 ↑4.5%680
initialize(address) 72573 90422 90473 90473 ↑4.3%704
setAssetBorrowableInEMode(address,uint8,bool) 46849 ↑0.15%85500 87622 100849 ↑5.9%18
setAssetCollateralInEMode(address,uint8,bool) 17472 ↑0.25%74613 70555 83781 ↑2%51
setBorrowCap(address,uint256) 11170 11423 11214 44169 ↑4.5%2021
setBorrowableInIsolation(address,bool) 10736 11037 10780 43726 ↑4.5%2022
setDebtCeiling(address,uint256) 17256 44922 41675 98789 ↑4.5%2028
setEModeCategory(uint8,uint16,uint16,uint16,string) 17779 ↑0.31%71276 81448 81448 ↑2.2%47
setLiquidationProtocolFee(address,uint256) 11241 11422 11285 44240 ↑4.5%2017
setReserveBorrowing(address,bool) 10911 11067 10955 41764 ↑4.5%2014
setReserveFactor(address,uint256) 17301 43389 36685 124960 ↑4.5%2013
setReserveFlashLoaning(address,bool) 10910 11049 10954 43918 ↑4.5%2013
setSiloedBorrowing(address,bool) 11281 11488 11325 94206 ↑4.5%2012
setSupplyCap(address,uint256) 11127 12153 11171 44126 ↑4.5%2028
updateFlashloanPremiumToProtocol(uint128) 10115 10224 10181 36981 ↑4.3%705
updateFlashloanPremiumTotal(uint128) 14052 31996 32046 36946 ↑4.3%705

PoolInstance

  • size: 22300 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 284 284 284 284 ↑4.5%2040
FLASHLOAN_PREMIUM_TOTAL() 410 1413 2410 2410 ↑4.7%1286
FLASHLOAN_PREMIUM_TO_PROTOCOL() 459 460 459 2459 ↑4.7%1283
borrow(address,uint256,uint256,uint16,address) 46604 ↑21%238069 ↑7.7%239303 ↑17%304578 ↑89%208
configureEModeCategory(uint8,(uint16,uint16,uint16,string)) 7121 ↑0.14%47065 49246 49246 ↑2.9%35
configureEModeCategoryBorrowableBitmap(uint8,uint128) 4041 ↑0.76%21503 23941 23941 ↑6.7%16
configureEModeCategoryCollateralBitmap(uint8,uint128) 3976 6649 6776 6776 ↑2.7%38
deposit(address,uint256,address,uint16) 32702 ↓-0.52%189652 206817 208433 ↑2.2%46
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 ↓-2.4%46200 48063 87949 ↑19%70
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 31365 ↑6.1%137441 ↑28%120263 322330 12
getConfiguration(address) 745 ↓-0.13%766 745 2745 ↑5.6%19243
getEModeCategoryBorrowableBitmap(uint8) 668 ↑1%1887 2668 2668 ↑2.5%41
getEModeCategoryCollateralBitmap(uint8) 678 ↑0.71%1852 2678 2678 ↑1.6%63
getEModeCategoryCollateralConfig(uint8) 885 ↑0.59%1695 885 2885 ↑0.91%111
getEModeCategoryData(uint8) 8291 8291 8291 8291 ↑33%4
getLiquidationGracePeriod(address) 2656 2656 2656 2656 ↑10%11
getReserveData(address) 5248 ↑0.43%7729 5248 29748 ↑5.3%4844
getReserveNormalizedIncome(address) 867 ↓-2.7%1451 867 5327 ↑25%651
getReserveNormalizedVariableDebt(address) 889 ↓-1.4%1313 889 6475 ↑4.3%144
getReservesList() 3170 ↑4.8%8173 11170 ↑290%52310 ↑3.5%88
getUserAccountData(address) 12141 ↑5.2%24368 ↑1.8%22686 ↑25%46663 ↑17%28
getVirtualUnderlyingBalance(address) 657 ↑2%752 657 2657 ↑0.8%126
initReserve(address,address,address,address) 6564 ↑0.12%165028 161757 207007 ↑7.1%2059
initialize(address) 45378 45469 45378 66895 ↑4.7%645
liquidationCall(address,address,address,uint256,bool) 53082 ↑6.4%253451 323142 ↑3.1%394320 ↑13%35
repay(address,uint256,uint256,address) 33243 ↑4.9%104291 ↑17%112522 164534 ↑9.5%23
repayWithATokens(address,uint256,uint256) 155256 161888 162302 165893 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) ↓-4.7%146811 ↓-4.6%163318 ↓-9.5%154051 189093 3
resetIsolationModeTotalDebt(address) 4265 4278 4265 15265 ↑4.9%1869
setConfiguration(address,(uint256)) 2170 ↑0.89%4437 2170 24325 ↑5.1%20846
setLiquidationGracePeriod(address,uint40) 6386 ↑1.4%12550 ↑1.1%13534 ↑17%17034 16
setUserEMode(uint8) 14165 ↑9.1%46812 41117 ↑20%113854 ↑7.7%28
setUserUseReserveAsCollateral(address,bool) 53552 ↑2.9%74193 71565 ↑32%135389 ↑28%32
supply(address,uint256,address,uint16) 29399 ↓-0.21%191926 ↓-0.78%206840 216210 ↑26%596
syncIndexesState(address) 7211 13931 7211 62577 ↑4.8%1913
syncRatesState(address) 13459 15981 16005 22505 ↑4.8%1913
updateFlashloanPremiums(uint128,uint128) 1720 11657 6520 21620 ↑4.7%1281
withdraw(address,uint256,address) 39154 ↑2.8%103493 87632 177428 ↑6.7%48

VariableDebtTokenInstance

  • size: 8190 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 ↑380%62
balanceOf(address) 675 ↑0.75%4587 4753 10336 ↑4%155
burn(address,uint256,uint256) 19171 ↑0.19%25782 26171 26172 ↑13%54
decimals() 334 334 334 334 ↑380%62
getIncentivesController() 430 430 430 430 ↑380%62
initialize(address,address,address,uint8,string,string,bytes) ↓-0.12%143853 ↑0.53%168187 164290 ↑8.9%276489 ↑6.6%2201
mint(address,address,uint256,uint256) 26353 ↓-1.2%61240 62553 72340 ↑92%204
name() ↓-20%1004 ↓-12%1925 1259 3259 ↑48%152
scaledBalanceOf(address) 687 ↑31%2092 ↑290%2687 2687 ↑86%212
scaledTotalSupply() 417 ↑2%1625 2417 2417 ↑8.5%5269
symbol() ↑25%1280 ↓-11%1930 ↑23%1575 3280 ↑51%145

AaveOracle

  • size: 4123 / 49152
Method min mean median max calls
getAssetPrice(address) 0 ↑10%5446 7865 7865 ↑70%983

DefaultReserveInterestRateStrategyV2

  • size: 4323 / 49152
Method min mean median max calls
calculateInterestRates((uint256,uint256,uint256,uint256,uint256,address,bool,uint256)) 0 ↑5.2%3058 2251 5973 ↑12%3106
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) 28305 29721 29044 36794 11
setInterestRateParams(address,bytes) 28674 33736 37097 37133 30

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
fallback() 0 15791 1354 204024562 45371

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
latestAnswer() 279 ↓-1.8%2061 2279 2279 ↑20%2983

TestnetERC20

  • size: 5652 / 49152
Method min mean median max calls
approve(address,uint256) 26300 46554 46584 46584 ↑2.7%3361
balanceOf(address) 648 ↓-6.6%1125 648 2648 ↑100%862
decimals() 311 ↓-6.7%2081 2311 2311 ↑16%1832
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 76481 76493 76493 76505 2

WadRayMathWrapper

  • size: 845 / 49152
Method min mean median max calls
HALF_WAD() 223 223 223 223 ↓-33%2
WAD() 179 179 179 179 ↓-25%3
wadMul(uint256,uint256) ↓-23%333 ↓-3.2%417 431 431 7

ACLManager

  • size: 4139 / 49152
Method min mean median max calls
DEFAULT_ADMIN_ROLE() 282 282 282 282 ↑4.2%1424
POOL_ADMIN_ROLE() 292 292 292 292 ↑4.3%702
addPoolAdmin(address) 50988 50999 51000 51000 ↑4.4%689
isAssetListingAdmin(address) 809 1828 2809 2809 ↑4.4%1368
isPoolAdmin(address) 752 ↓-0.12%846 752 2752 ↑4.4%23283
isRiskAdmin(address) 742 ↓-0.12%837 742 2742 ↑4.5%20393

PoolAddressesProvider

  • size: 8177 / 49152
Method min mean median max calls
getACLAdmin() 477 ↓-0.54%553 477 2477 ↑4.1%734
getACLManager() 531 ↓-0.16%628 531 2531 ↑4.4%23324
getAddress(bytes32) 543 ↓-0.34%869 543 2543 ↑4.8%5897
getPool() 466 ↓-2.2%1089 466 2466 ↑7.7%5315
getPoolConfigurator() 509 ↓-0.18%569 509 2509 ↑4.8%35410
getPoolDataProvider() 486 1168 486 2486 ↑4.3%2098
getPriceOracle() 574 ↑4.7%2119 2574 2574 ↑22%718
getPriceOracleSentinel() 487 ↑2.7%2370 2487 2487 ↑53%293
owner() 363 363 363 363 ↑4.3%707

PoolAddressesProviderRegistry

  • size: 2641 / 49152
Method min mean median max calls
owner() 329 2323 2329 2329 ↑4.3%704

EmissionManager

  • size: 3948 / 49152
Method min mean median max calls
configureAssets((uint88,uint256,uint32,address,address,address,address)[]) 284134 287766 289908 289908 32

RewardsController

  • size: 14452 / 49152
Method min mean median max calls
EMISSION_MANAGER() 326 326 326 326 ↑4.3%706
claimRewards(address[],uint256,address,address) 952 ↓-15%39537 ↓-9.7%24145 86197 ↓-14%6
getAssetIndex(address,address) 2484 ↑3.5%7508 8974 11392 ↓-10%44
getRewardsByAsset(address) 1768 2999 3046 5768 ↑5.2%122
getUserRewards(address[],address,address) 6793 ↓-0.44%7628 6793 12368 12
handleAction(address,uint256,uint256) 728 2587 2728 38069 ↑28%1217
initialize(address) 26065 45245 45250 53154 ↑4.3%704

Collector

  • size: 6852 / 49152
Method min mean median max calls
initialize(address,uint256) 90680 90680 90680 90680 ↑4.1%729

AaveV3GettersBatchOne

  • size: 32657 / 49152
Method min mean median max calls
getGettersReportOne() 968 968 968 968 ↑4.2%726

AaveV3GettersBatchTwo

  • size: 11284 / 49152
Method min mean median max calls
getGettersReportTwo() 533 533 533 533 ↑4.3%700

AaveV3HelpersBatchOne

  • size: 34331 / 49152
Method min mean median max calls
getConfigEngineReport() 1693 1693 1693 1693 ↑4.5%674

AaveV3HelpersBatchTwo

  • size: 31319 / 49152
Method min mean median max calls
staticATokenReport() 968 968 968 968 ↑4.5%674

AaveV3MiscBatch

  • size: 6958 / 49152
Method min mean median max calls
getMiscReport() 533 533 533 533 ↑4.2%726

AaveV3PeripheryBatch

  • size: 39150 / 49152
Method min mean median max calls
getPeripheryReport() 1512 3509 3512 5512 ↑4.2%726

AaveV3PoolBatch

  • size: 42738 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 ↑4.7%650

AaveV3SetupBatch

  • size: 26831 / 49152
Method min mean median max calls
getInitialReport() 552 552 552 552 ↑4.2%726
setMarketReport((address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address)) 629994 632384 629994 750834 ↑4.5%674
setupAaveV3Market((address,address,address),(address,address,string,uint8,address,address,uint256,uint256,bytes32,address,address,uint128,uint128,address,address,address,uint16),address,address,address,address,address,address) 2168391 2661458 2661559 2687366 ↑4.3%702

AaveV3TokensBatch

  • size: 20353 / 49152
Method min mean median max calls
getTokensReport() 533 533 533 533 ↑4.3%700

MockERC20AaveLMUpgradeable

  • size: 8658 / 49152
Method min mean median max calls
claimRewards(address,address[]) ↓-0.68%58237 ↓-0.68%58237 ↓-0.68%58237 ↓-0.68%58237 1
claimRewardsOnBehalf(address,address,address[]) 34383 ↓-42%52148 ↓-5.9%59165 ↓-64%62897 3
collectAndUpdateRewards(address) 48341 ↓-3%51223 ↓-3%51223 ↓-5.6%54105 2
getClaimableRewards(address,address) ↓-0.35%6181 ↑2.8%7964 6580 26280 ↓-20%16
getTotalClaimableRewards(address) ↓-3.6%10968 ↓-1.1%17811 ↓-1.1%17811 24654 2
getUnclaimedRewards(address,address) 818 818 818 818 ↓-67%2
mint(address,uint256) 53655 ↑0.96%91174 97646 97646 ↓-8.3%11
transfer(address,uint256) ↓-0.66%60204 ↑22%81556 ↑22%81556 ↑41%102909 2

MockScaledTestnetERC20

  • size: 5780 / 49152
Method min mean median max calls
getScaledUserBalanceAndSupply(address) 735 ↑5.7%3735 4735 4735 ↓-20%4
mint(address,uint256) ↑0.28%51476 ↑2%67053 68648 68648 ↓-8.3%11
scaledTotalSupply() 394 ↑5%1848 2394 2394 ↓-8.3%55
transfer(address,uint256) 29803 ↑2.9%45399 46975 46975 ↓-8.3%11

MockERC4626StataTokenUpgradeable

  • size: 10278 / 49152
Method min mean median max calls
approve(address,uint256) ↑0.1%46447 ↑0.14%46465 ↑0.14%46465 ↑0.18%46483 2
depositATokens(uint256,address) ↓-0.2%59664 ↑0.23%198598 210794 ↑2.4%215782 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 75971 ↓-0.36%247507 267242 ↓-0.11%353520 5
mint(uint256,address) 74367 193494 193494 312621 2
redeem(uint256,address,address) ↑0.19%174979 ↑0.19%174979 ↑0.19%174979 ↑0.19%174979 1
redeemATokens(uint256,address,address) ↑0.24%40863 121367 161215 162025 3
withdraw(uint256,address,address) ↑0.66%51491 ↑0.18%114607 ↑0.18%114607 177723 2

VariableDebtTokenHarness

  • size: 8210 / 49152
Method min mean median max calls
burn(address,uint256,uint256) 52039 52045 52045 52051 2
initialize(address,address,address,uint8,string,string,bytes) ↑0.51%30537 ↓-2.1%155097 ↑0.1%179567 224828 8
mint(address,address,uint256,uint256) 86743 88010 86767 91766 4
name() ↓-20%1004 ↓-4.1%1320 1259 1554 15
symbol() 1280 ↑2.7%1354 1280 ↑15%1810 15

AaveV3TestListing

  • size: 13561 / 49152
Method min mean median max calls
USDX_ADDRESS() 293 293 293 293 ↑4.6%666
WBTC_ADDRESS() 249 249 249 249 ↑4.6%666
execute() 5115928 5116791 5116858 5116858 ↑4.5%669

Copy link

github-actions bot commented Dec 12, 2024

forge 0.0.2 (4a81422 2024-12-13T00:27:46.049449800Z)

Copy link

github-actions bot commented Dec 12, 2024

🌈 Test Results
No files changed, compilation skipped

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

Ran 9 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 415625)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 724697)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 429033)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 649988)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 636599)
[PASS] test_transfer_partialAmount() (gas: 429108)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 650048)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 414092)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 635013)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 54.71ms (18.17ms CPU time)

Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 194249)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 194307)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 159653)
[PASS] test_backUnbacked_onlyFee() (gas: 363669)
[PASS] test_backUnbacked_withFee() (gas: 363849)
[PASS] test_backUnbacked_withoutFee() (gas: 341147)
[PASS] test_multiple_backUnbacked() (gas: 644666)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 488647)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 428456)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30598)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 86177)
[PASS] test_unbackedMint_with_cap() (gas: 271296)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 72.56ms (16.62ms CPU time)

Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4574068)
[PASS] test10ConfigEngineDeployment() (gas: 6715374)
[PASS] test11StaticATokenDeployment() (gas: 6451673)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7078209)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6551699)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2130240)
[PASS] test3AaveV3PoolDeployment() (gas: 8646521)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8897295)
[PASS] test5PeripheralsRelease() (gas: 6591583)
[PASS] test6MiscDeployment() (gas: 1360185)
[PASS] test7ParaswapDeployment() (gas: 5544933)
[PASS] test8SetupMarket() (gas: 2717288)
[PASS] test9TokensMarket() (gas: 3901228)
[PASS] testCheckInitCodeSizeBatchs() (gas: 1026216)
Logs:
  AaveV3SetupBatch 25007
  AaveV3L2PoolBatch 43953
  AaveV3PoolBatch 42706
  AaveV3PeripheryBatch 38414
  AaveV3MiscBatch 6830
  AaveV3ParaswapBatch 30420
  AaveV3GettersBatchOne 32561
  AaveV3GettersBatchTwo 11156
  AaveV3TokensBatch 20321
  AaveV3HelpersBatchOne 34075
  AaveV3HelpersBatchTwo 31223
  AaveV3PeripheryBatchTreasuryPartner 38414

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

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

Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 565794)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 654244)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 576417)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 257905)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 579265)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 255080)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 632927)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 44.07ms (10.52ms CPU time)

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

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

Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 274861)
[PASS] test_repay_partialDebt() (gas: 274021)
[PASS] test_revert_repay_withoutFunds() (gas: 180200)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 33.86ms (2.01ms CPU time)

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

Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 203447)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 758300)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 826967)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 930429)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 806970)
[PASS] test_swapAndDeposit() (gas: 908883)
[PASS] test_swapAndDeposit_permit() (gas: 955948)
[PASS] test_swapAndRepay() (gas: 1010691)
[PASS] test_swapAndRepay_flashloan() (gas: 1102073)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1144740)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1060252)
[PASS] test_swapAndRepay_permit() (gas: 1057604)
[PASS] test_swap_liquidity_flashloan() (gas: 1019795)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1062355)
[PASS] test_withdrawAndSwap() (gas: 825895)
[PASS] test_withdrawAndSwap_permit() (gas: 869032)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 533093)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 75.55ms (39.90ms CPU time)

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

Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 570637)
[PASS] test_reverts_borrow_cap() (gas: 303661)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81579)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315078)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 658617)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 401639)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 562764)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 432100)
[PASS] test_reverts_borrow_invalidAmount() (gas: 65058)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 383739)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132958)
[PASS] test_reverts_borrow_reserveInactive() (gas: 150130)
[PASS] test_reverts_borrow_reservePaused() (gas: 103659)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315809)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 718093)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406925)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381356)
[PASS] test_variable_borrow() (gas: 349462)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 102.72ms (26.60ms CPU time)

Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 161976)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 235451)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 162751)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 229402)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81523)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81564)
[PASS] test_atoken_multiple_transfers() (gas: 201155)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 389360, ~: 393082)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 529057)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 398380)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 404648)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.30s (1.27s CPU time)

Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 936997)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1076187)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1096138)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 918632)
[PASS] testEmptySource() (gas: 821590)
[PASS] testGetBaseCurrencyPrice() (gas: 12315)
[PASS] testGetPriceViaFallbackOracle() (gas: 1000288)
[PASS] testUpdateFallbackOracle() (gas: 178617)
[PASS] testUpdateSingleSource() (gas: 127097)
[PASS] testUpdateSourceBaseCurrency() (gas: 138611)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 822968)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24620)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 37.09ms (2.66ms CPU time)

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 54406740)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 62580580)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53883551)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 64407696)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 63087657)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 128.08ms (122.42ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4574089)
[PASS] test10StaticATokenDeployment() (gas: 6451656)
[PASS] test1AaveV3GettersDeployment() (gas: 7880458)
[PASS] test2AaveV3PoolDeployment() (gas: 8646555)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8897349)
[PASS] test4PeripheralsRelease() (gas: 6591560)
[PASS] test5MiscDeployment() (gas: 929135)
[PASS] test6ParaswapRelease() (gas: 5544910)
[PASS] test7SetupMarket() (gas: 2692725)
[PASS] test8TokensMarket() (gas: 3901080)
[PASS] test9ConfigEngineDeployment() (gas: 6715437)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54403056)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 26.30ms (14.69ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524465, ~: 524551)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 463155)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 655919)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 200782)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1102520, ~: 1102605)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296274, ~: 299963)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016683, ~: 1016899)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919654, ~: 919872)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975923, ~: 976123)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 13.33s (13.25s CPU time)

Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 216054)
[PASS] test_flashloan_borrow() (gas: 532124)
[PASS] test_flashloan_multiple() (gas: 329244)
[PASS] test_flashloan_simple() (gas: 180097)
[PASS] test_flashloan_simple_2() (gas: 180097)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212771)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183626)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 156852)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 105545)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 102296)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 167377, ~: 131224)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144646)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 177995)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 208345)
[PASS] test_reverts_flashloans_eoa() (gas: 113203)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 857299)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 889860)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.28s (1.24s CPU time)

Ran 8 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16584)
[PASS] test_getEModeCategoryData() (gas: 22835)
[PASS] test_getLiquidationGracePeriod() (gas: 18184)
[PASS] test_getReserveData() (gas: 47016)
[PASS] test_getUserAccountData() (gas: 33182)
[PASS] test_getUserAccountData_oneSupplies() (gas: 371604)
[PASS] test_getUserAccountData_twoSupplies() (gas: 690729)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1108340)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 50.61ms (9.10ms CPU time)

Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 589852)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 643854)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 619703)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 417378)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 606409, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581738, ~: 573426)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 586671, ~: 578936)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 534663, ~: 526916)
[PASS] test_repay_full_variable_borrow() (gas: 404515)
[PASS] test_revert_repay_full_stable_borrow() (gas: 353370)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51687)
[PASS] test_reverts_borrow_reserveInactive() (gas: 138883)
[PASS] test_reverts_borrow_reservePaused() (gas: 92515)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 327464)
[PASS] test_reverts_repay_no_debt() (gas: 52259)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 15.41s (15.37s CPU time)

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

Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 240984)
[PASS] test_first_supply() (gas: 240985)
[PASS] test_first_supply_on_behalf() (gas: 243032)
[PASS] test_reverts_supply_cap() (gas: 105400)
[PASS] test_reverts_supply_invalidAmount() (gas: 47837)
[PASS] test_reverts_supply_reserveFrozen() (gas: 117686)
[PASS] test_reverts_supply_reserveInactive() (gas: 134837)
[PASS] test_reverts_supply_reservePaused() (gas: 88490)
[PASS] test_reverts_supply_to_aToken() (gas: 50356)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 422689, ~: 422736)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422934, ~: 422944)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 288183, ~: 288185)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.08s (6.05s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549349)
[PASS] test_full_withdraw() (gas: 234895)
[PASS] test_full_withdraw_to() (gas: 240423)
[PASS] test_partial_withdraw() (gas: 231403)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 678632)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247376)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249446)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 214658)
[PASS] test_reverts_withdraw_reservePaused() (gas: 287040)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247232)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248243)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 56.08ms (9.00ms CPU time)

Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 854173, ~: 814596)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 854870, ~: 814811)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789308, ~: 790778)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 886156, ~: 847208)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852024, ~: 814509)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 790126, ~: 791679)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832448, ~: 811133)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 840249)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 651081)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 53159)
[PASS] test_rewardTokens() (gas: 649222)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 863028, ~: 881462)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 821891, ~: 815443)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.07s (22.03s CPU time)

Ran 37 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 108071)
[PASS] test_getBorrowLogic() (gas: 13641)
[PASS] test_getBridgeLogic() (gas: 13683)
[PASS] test_getEModeLogic() (gas: 13596)
[PASS] test_getFlashLoanLogic() (gas: 13620)
[PASS] test_getLiquidationLogic() (gas: 13709)
[PASS] test_getPoolLogic() (gas: 13661)
[PASS] test_getSupplyLogic() (gas: 13596)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253537)
[PASS] test_getters_getUserAccountData() (gas: 598330)
[PASS] test_mintToTreasury() (gas: 701628)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706320)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290816)
[PASS] test_pool_defaultValues() (gas: 4489181)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81890, ~: 82155)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734317)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25452, ~: 25452)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127719, ~: 127719)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501329)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40838, ~: 40838)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22754, ~: 22754)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983235)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600262)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 298982)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 228127)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293842)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71780)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 790145)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36907, ~: 36991)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904381)
[PASS] test_setUserEmode() (gas: 232430)
[PASS] test_setUserEmode_twice() (gas: 377065)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985883)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240420)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277917)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.08s (1.04s CPU time)

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472801)
[PASS] test_getter_getMarketId() (gas: 1435230)
[PASS] test_new_PoolAddressesProvider() (gas: 1444460)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448636)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453813)
[PASS] test_reverts_setters_notOwner() (gas: 1451422)
[PASS] test_setACLManager_changeContract() (gas: 3014312)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248265)
[PASS] test_setAddress() (gas: 1462728)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020462)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132834)
[PASS] test_setAddress_updateAddress() (gas: 1471854)
[PASS] test_setPoolConfiguratorImpl() (gas: 5950177)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10472002)
[PASS] test_setPoolDataProvider() (gas: 1463246)
[PASS] test_setPoolImpl() (gas: 6372591)
[PASS] test_setPoolImpl_upgrade() (gas: 10893985)
[PASS] test_setPriceOracle() (gas: 1463403)
[PASS] test_setPriceOracleSentinel() (gas: 1463274)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472878)
[PASS] test_setPriceOracle_changeContract() (gas: 1473139)
[PASS] test_setter_setMarketId() (gas: 1446381)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 47.01ms (8.92ms CPU time)

Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 3734332)
[PASS] testBorrowUpdatesNoChange() (gas: 2739325)
[PASS] testBorrowsUpdates() (gas: 2802337)
[PASS] testCapsUpdate() (gas: 2743996)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2759611)
[PASS] testCollateralUpdateWrongBonus() (gas: 755115)
[PASS] testCollateralsUpdates() (gas: 2759131)
[PASS] testCollateralsUpdatesNoChange() (gas: 2737466)
[PASS] testEModeCategoryUpdates() (gas: 2827782)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2730805)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 743235)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1726267)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 760192)
[PASS] testListings() (gas: 5931007)
[PASS] testListingsCustom() (gas: 9653632)
[PASS] testPriceFeedsUpdates() (gas: 2819694)
[PASS] testRateStrategiesUpdates() (gas: 2809499)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.37s (22.33s CPU time)

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

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

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

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

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

Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 321716)
[PASS] test_borrow_interests_reach_cap() (gas: 323764)
[PASS] test_borrow_lt_cap() (gas: 299144)
[PASS] test_default_borrowCap_zero() (gas: 27547)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 370192)
[PASS] test_reverts_borrow_gt_cap() (gas: 142685)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48711)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35517)
[PASS] test_setBorrowCap() (gas: 78860)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 319845)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 40.91ms (5.66ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 290190)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 270331)
[PASS] test_configureEmodeCategory() (gas: 118599)
[PASS] test_removeBorrowableFromEmode() (gas: 198772)
[PASS] test_removeCollateralFromEmode() (gas: 247032)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59662)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35793)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34377)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34249)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34162)
[PASS] test_setAssetBorrowableInEMode() (gas: 218684)
[PASS] test_setAssetCollateralInEMode() (gas: 198794)
[PASS] test_updateEModeCategory() (gas: 207378)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 42.00ms (7.57ms CPU time)

Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1343441)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1549216)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1405711)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1431329)
[PASS] test_liquidate_isolated_position() (gas: 1334623)
[PASS] test_liquidate_variable_borrow() (gas: 1443557)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1168423)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1103565)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1272454, ~: 1272454)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1462775, ~: 1470863)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1459053, ~: 1468758)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1477194, ~: 1485746)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1281697)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1229599)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 624205)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 598708)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 319337)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160011)
[PASS] test_reverts_liquidation_reservePaused() (gas: 113797)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 20.25s (20.19s CPU time)

Ran 8 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 625679)
[PASS] test_liquidationCall_deficit() (gas: 886494)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1077401)
[PASS] test_liquidationCall_full() (gas: 886604)
[PASS] test_liquidationCall_partial() (gas: 863287)
[PASS] test_repay() (gas: 790345)
[PASS] test_supply() (gas: 1114866)
[PASS] test_withdraw() (gas: 439560)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 64.75ms (26.55ms CPU time)

Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 598376)
[PASS] test_new_EmissionManager() (gas: 758986)
[PASS] test_setClaimer() (gas: 51471)
[PASS] test_setDistributionEnd() (gas: 605645)
[PASS] test_setEmissionAdmin() (gas: 43012)
[PASS] test_setEmissionPerSecond() (gas: 612259)
[PASS] test_setRewardOracle() (gas: 687392)
[PASS] test_setRewardsController() (gas: 19086)
[PASS] test_setTransferStrategy() (gas: 888963)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 37.04ms (1.99ms CPU time)

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597827)
[PASS] test_proxy_upgradeTo() (gas: 619698)
[PASS] test_proxy_upgradeToAndCall() (gas: 625582)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594923)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600810)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598616)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.30ms (1.91ms CPU time)

Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 44982)
[PASS] test_calculate_rates_80_bps_usage() (gas: 45101)
[PASS] test_calculate_rates_80_percent_usage() (gas: 87752)
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 43307)
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 43329)
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 121618, ~: 121727)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114153, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71510, ~: 71769)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39838, ~: 39838)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64081, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64321, ~: 65038)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 29922, ~: 29922)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 12.73s (12.70s CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48199, ~: 48199)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21930, ~: 21930)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25547, ~: 25547)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22855, ~: 22855)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.25s (3.21s CPU time)

Ran 47 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 107965)
[PASS] test_getBorrowLogic() (gas: 13620)
[PASS] test_getBridgeLogic() (gas: 13684)
[PASS] test_getEModeLogic() (gas: 13686)
[PASS] test_getFlashLoanLogic() (gas: 13685)
[PASS] test_getLiquidationLogic() (gas: 13707)
[PASS] test_getPoolLogic() (gas: 13684)
[PASS] test_getSupplyLogic() (gas: 13705)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253510)
[PASS] test_getters_getUserAccountData() (gas: 598198)
[PASS] test_l2_borrow() (gas: 436322)
[PASS] test_l2_liquidationCall() (gas: 1120713)
[PASS] test_l2_partial_withdraw() (gas: 310853)
[PASS] test_l2_repay() (gas: 465666)
[PASS] test_l2_repay_atokens() (gas: 472797)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 641967, ~: 652818)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428617, ~: 428620)
[PASS] test_l2_withdraw() (gas: 246075)
[PASS] test_mintToTreasury() (gas: 701740)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706366)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290883)
[PASS] test_pool_defaultValues() (gas: 4489170)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81913, ~: 82198)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734652)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25537, ~: 25537)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127785, ~: 127785)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501351)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40728, ~: 40728)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983215)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600219)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 298985)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 227975)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293845)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71847)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 789929)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36830, ~: 36903)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904358)
[PASS] test_setUserEmode() (gas: 232521)
[PASS] test_setUserEmode_twice() (gas: 377047)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985820)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240399)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277962)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 7.08s (7.05s CPU time)

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

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

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

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

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 47597, ~: 47597)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21313, ~: 21313)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 24938, ~: 24938)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22246, ~: 22246)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.15s (3.12s CPU time)

Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 554904)
[PASS] test_deposit_shouldRevert() (gas: 482676)
[PASS] test_mint_shouldRevert() (gas: 486659)
[PASS] test_redeem_shouldRevert() (gas: 574341)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 552814)
[PASS] test_withdraw_shouldRevert() (gas: 570119)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 193.15ms (159.51ms CPU time)

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

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 780477, ~: 780483)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 197242)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 224934)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 451816)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.92s (2.89s CPU time)

Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36071, ~: 36071)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36997, ~: 36997)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34506, ~: 34506)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48170, ~: 48170)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 45375, ~: 45375)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21956, ~: 21956)
[PASS] test_overflow_liquidity_rates() (gas: 59538)
[PASS] test_overflow_variable_rates() (gas: 545863)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 6.00s (5.96s CPU time)

Ran 18 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 241853)
[PASS] test_cancel_delegationWithSig() (gas: 101800)
[PASS] test_delegationWithSig() (gas: 95276)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2737836, ~: 2738673)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2811152, ~: 2811011)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827406, ~: 2825230)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2825783, ~: 2825332)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34223)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111067)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2626053, ~: 2626137)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3677095, ~: 3676414)
[PASS] test_reverts_operation_not_supported() (gas: 1591579)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33532)
[PASS] test_scaledBalanceOf() (gas: 321292)
[PASS] test_totalScaledSupply() (gas: 360001)
[PASS] test_totalSupply() (gas: 359930)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827342, ~: 2825254)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.07s (6.03s CPU time)

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

Ran 14 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 478193)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 814411)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 810962)
[PASS] test_depositNativeEthInPool() (gas: 255609)
[PASS] test_fallback_revert() (gas: 10039)
[PASS] test_getWETHAddress() (gas: 10547)
[PASS] test_ownerCanRescueEth() (gas: 25250)
[PASS] test_ownerCanRescueTokens() (gas: 96925)
[PASS] test_sendEthFallback_revert() (gas: 16705)
[PASS] test_sendEth_revert() (gas: 16582)
[PASS] test_withdrawEth_full() (gas: 391279)
[PASS] test_withdrawEth_partial() (gas: 412854)
[PASS] test_withdrawEth_permit() (gas: 447226)
[PASS] test_withdrawEth_permit_full() (gas: 421927)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 42.66ms (11.22ms CPU time)

Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 425061)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 385934)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 384852)
[PASS] test_splitFunds_fixed() (gas: 462014)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 462726, ~: 464193)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461438, ~: 462656)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100443, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.03s (4.03s CPU time)

Ran 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 931612)
[PASS] test_claimAllRewards() (gas: 887351)
[PASS] test_claimAllRewardsOnBehalf() (gas: 921056)
[PASS] test_claimAllRewardsToSelf() (gas: 886978)
[PASS] test_claimRewards() (gas: 884127)
[PASS] test_claimRewardsOnBehalf() (gas: 922646)
[PASS] test_claimRewardsToSelf() (gas: 883809)
[PASS] test_claimRewards_partial() (gas: 884397)
[PASS] test_claimRewards_zero() (gas: 636639)
[PASS] test_claimRewards_zero_with_rewards() (gas: 643452)
[PASS] test_configureAssets() (gas: 617691)
[PASS] test_initialize_no_op() (gas: 3668534)
[PASS] test_new_RewardsController() (gas: 3644884)
[PASS] test_reverts_initialize_twice() (gas: 3670113)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633550)
[PASS] test_setEmissionPerSecond() (gas: 637684)
[PASS] test_setRewardOracle() (gas: 711308)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913786)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 48.42ms (13.37ms CPU time)

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

Ran 6 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 1837548)
[PASS] test_setReserveInterestRateData() (gas: 156713)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1015246)
[PASS] test_updateAToken() (gas: 2312009)
[PASS] test_updateVariableDebtToken() (gas: 1709196)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 40.33ms (4.70ms CPU time)

Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 371747)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477646)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 124848)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 78895)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 319107)
[PASS] test_supply_eq_cap() (gas: 300294)
[PASS] test_supply_interests_reach_cap() (gas: 438973)
[PASS] test_supply_lt_cap() (gas: 300295)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 40.80ms (6.31ms CPU time)

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

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

Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 107849)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 143962, ~: 143962)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109245)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 994.33ms (960.72ms CPU time)

Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 137081)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 101346)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 130770)
[PASS] test_bridgeProtocolFee() (gas: 72994)
[PASS] test_disableLiquidationGracePeriod() (gas: 80452)
[PASS] test_dropReserve() (gas: 149902)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2627635, ~: 2626052)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2617448, ~: 2616831)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30151)
[PASS] test_reverts_dropReserve_notListed() (gas: 53404)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 300324)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 459401)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47308)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2871666, ~: 2867950)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 296578)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35632)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 291447)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35651)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 417360)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30267)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30287)
[PASS] test_setBorrowableInIsolation_false() (gas: 65034)
[PASS] test_setBorrowableInIsolation_true() (gas: 67851)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2605137, ~: 2603620)
[PASS] test_setDebtCeiling() (gas: 124864)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 299836)
[PASS] test_setDebtCeiling_to_zero() (gas: 149723)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 108173)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34809, ~: 34809)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 137615, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138264, ~: 138194)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74859)
[PASS] test_setPoolPause() (gas: 139170)
[PASS] test_setPoolPause_unpause() (gas: 197367)
[PASS] test_setReserveActive_false() (gas: 122131)
[PASS] test_setReserveActive_true() (gas: 69283)
[PASS] test_setReserveFactor() (gas: 976606)
[PASS] test_setReserveFreeze_false() (gas: 100868)
[PASS] test_setReservePause_false() (gas: 68656)
[PASS] test_setReservePause_true() (gas: 71411)
[PASS] test_setSiloedBorrowing() (gas: 120382)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58261)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58175)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 81.12s (7.18s CPU time)

Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.initReserves.t.sol:PoolConfiguratorInitReservesTest
[PASS] test_initReserves_notEnoughDecimal((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 1052210, ~: 1052206)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 93523261, ~: 53398923)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 379265909, ~: 337445017)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 107.41s (137.12s CPU time)

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

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566067, ~: 566662)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537993, ~: 538465)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476828, ~: 476696)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403969, ~: 403872)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498094, ~: 497958)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394829, ~: 394741)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42172, ~: 42197)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114978, ~: 115294)
[PASS] test_maxDeposit_freeze() (gas: 121657)
[PASS] test_maxDeposit_noCap() (gas: 103956)
[PASS] test_maxDeposit_paused() (gas: 94931)
[PASS] test_maxRedeem_inSufficientAvailableLiquidity(uint256) (runs: 1000, μ: 990487, ~: 990613)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556781, ~: 556681)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526804, ~: 526713)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467245, ~: 467070)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258189, ~: 258032)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586554, ~: 586380)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593633, ~: 593468)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614159, ~: 613959)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545757, ~: 546337)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26024)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 590310, ~: 590160)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 530985, ~: 530830)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 111.50s (31.35s CPU time)

Ran 65 test suites in 133.66s (455.13s CPU time): 762 tests passed, 0 failed, 0 skipped (762 total tests)

@sakulstra sakulstra merged commit 3f70474 into aave-dao:main Dec 13, 2024
4 checks passed
@sakulstra sakulstra deleted the feat/gas-snapshots branch December 13, 2024 09:09
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.

2 participants