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

test: add more gas snapshots for relevant contracts #92

Merged
merged 4 commits into from
Dec 16, 2024

Conversation

sakulstra
Copy link
Contributor

No description provided.

@sakulstra sakulstra merged commit 50a3206 into aave-dao:main Dec 16, 2024
4 checks passed
@sakulstra sakulstra deleted the feat/more-gas-snapshots branch December 16, 2024 10:27
Copy link

Gas report

WETH9

  • size: 2354 / 49152
Method min mean median max calls
approve(address,uint256) 29004 46431 46464 46464 ↑0.98%1650
balanceOf(address) 538 939 538 2538 ↑0.97%8305
decimals() 2312 2312 2312 2312 ↑2.3%722

StataTokenFactory

  • size: 4154 / 49152
Method min mean median max calls
initialize() 24103 24103 24103 24103 ↑2.4%692

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 5189686 5194695 5194695 ↑2.4%686

AaveProtocolDataProvider

  • size: 9771 / 49152
Method min mean median max calls
getATokenTotalSupply(address) 12822 ↑0.29%13683 12866 ↑120%57882 ↑2.5%2085
getDebtCeiling(address) 3244 ↑83%5944 3244 ↑420%16744 ↑25%5
getFlashLoanEnabled(address) 3217 ↑99%8383 ↑24%5217 ↑220%16717 ↑50%3
getInterestRateStrategyAddress(address) 9534 ↑10%23579 ↑100%19512 43034 ↑11%10
getIsVirtualAccActive(address) 3245 ↑3.7%3386 3267 ↑410%16767 ↑81%112
getLiquidationProtocolFee(address) 3266 ↑7.7%10216 ↑110%11016 16766 ↑11%10
getPaused(address) 3333 ↑1.5%3543 3355 ↑210%16855 ↑68%124
getReserveCaps(address) 3267 ↑2.2%8329 3267 16767 ↑2.1%48
getReserveConfigurationData(address) 3659 ↓-1.2%4076 3681 17181 ↑39%178
getReserveTokensAddresses(address) 9510 ↑2.6%13297 9554 43054 ↑10%557
getSiloedBorrowing(address) 3270 ↑210%10020 ↑210%10020 ↑410%16770 ↑100%2
getUnbackedMintCap(address) 16721 16721 16721 16721 1
getUserReserveData(address,address) 19863 ↑0.35%29685 27941 46863 ↑3.8%27
getVirtualUnderlyingBalance(address) 16533 16533 16533 16533 1

WrappedTokenGatewayV3

  • size: 6696 / 49152
Method min mean median max calls
borrowETH(address,uint256,uint16) ↓-0.98%250143 ↓-0.49%251379 ↓-0.49%251379 252616 ↑100%2
depositETH(address,address,uint16) ↓-7.2%222665 ↓-0.8%238055 239979 239979 ↑13%9
repayETH(address,uint256,address) 180936 ↑1.9%188413 ↑0.72%184149 ↑6.8%205774 ↑20%6
withdrawETH(address,uint256,address) 233365 ↑4.5%248343 ↑1.8%242018 ↑11%269647 ↑50%3

ATokenInstance

  • size: 11090 / 49152
Method min mean median max calls
RESERVE_TREASURY_ADDRESS() 419 ↓-21%764 419 2419 ↑58%133
UNDERLYING_ASSET_ADDRESS() 441 ↓-18%1365 ↓-82%441 2441 ↑33%199
approve(address,uint256) 24586 24586 24586 24586 ↑2.9%35
balanceOf(address) 2749 5921 4749 17749 ↑0.79%254
burn(address,address,uint256,uint256) 904 ↑0.11%42130 45478 63239 ↑1.4%73
decimals() 356 ↓-23%684 356 2356 ↑62%128
getIncentivesController() 474 ↓-5.2%510 474 2474 ↑79%111
handleRepayment(address,address,uint256) 594 594 594 594 ↑1.8%56
initialize(address,address,address,address,uint8,string,string,bytes) ↓-11%166674 ↑1.6%192991 187036 299168 ↑4.4%2294
mint(address,address,uint256,uint256) 932 ↑0.4%60366 64402 72156 ↑7.2%743
name() 1004 ↓-7.9%2211 ↓-52%1554 3259 ↑22%271
scaledBalanceOf(address) 687 ↑3.3%2365 2687 2687 ↑25%740
symbol() 1069 ↓-7.4%2219 ↓-51%1619 3324 ↑24%253
totalSupply() 407 ↑2.3%2940 2407 10463 ↑4.3%2413
transferFrom(address,address,uint256) 2998 ↑0.27%106257 ↑1.6%113932 142842 ↑2.4%42
transferUnderlyingTo(address,uint256) 796 ↑4.6%28009 33588 33627 ↑22%270

L2PoolInstance

  • size: 23547 / 49152
Method min mean median max calls
repayWithPermit(bytes32,bytes32,bytes32) ↓-9.8%189266 ↓-9.8%189266 ↓-9.8%189266 ↓-9.8%189266 1
setLiquidationGracePeriod(address,uint40) 6364 ↓-8.2%10475 10850 ↓-16%14212 3

PoolConfiguratorInstance

  • size: 19812 / 49152
Method min mean median max calls
configureReserveAsCollateral(address,uint256,uint256,uint256) 12220 12544 12264 99552 ↑2.4%2072
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 ↑2.1%4844697 4382378 ↓-0.11%194102710 ↑2.4%696
initialize(address) 72573 90423 90473 90473 ↑2.3%720
setBorrowCap(address,uint256) 11170 11419 11214 44169 ↑2.4%2069
setBorrowableInIsolation(address,bool) 10736 11032 10780 43726 ↑2.4%2070
setDebtCeiling(address,uint256) 17256 44913 41675 98789 ↑2.4%2076
setLiquidationProtocolFee(address,uint256) 11241 11420 11285 44240 ↑2.4%2065
setReserveBorrowing(address,bool) 10911 11065 10955 41764 ↑2.4%2062
setReserveFactor(address,uint256) 17301 43389 36685 124960 ↑2.4%2061
setReserveFlashLoaning(address,bool) 10910 11048 10954 43918 ↑2.4%2061
setSiloedBorrowing(address,bool) 11281 11485 11325 94206 ↑2.4%2060
setSupplyCap(address,uint256) 11127 12147 11171 44126 ↑2.4%2076
updateFlashloanPremiumToProtocol(uint128) 10115 10223 10181 36981 ↑2.3%721
updateFlashloanPremiumTotal(uint128) 14052 31997 32046 36946 ↑2.3%721

PoolInstance

  • size: 22300 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 284 284 284 284 ↑2.4%2088
FLASHLOAN_PREMIUM_TOTAL() 410 1413 2410 2410 ↑2.5%1318
FLASHLOAN_PREMIUM_TO_PROTOCOL() 459 460 459 2459 ↑2.5%1315
borrow(address,uint256,uint256,uint16,address) 46604 ↑4.2%247997 ↑16%277802 304578 ↑24%257
deposit(address,uint256,address,uint16) 32702 ↓-0.12%189423 206817 208433 ↑2.2%47
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 ↑0.16%46276 48063 87949 ↑1.4%71
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 31365 ↑8.3%140997 ↑38%128904 322330 12
getConfiguration(address) 745 766 745 2745 ↑3.3%19867
getReserveData(address) 5248 ↑0.53%7767 5248 29748 ↑3.2%4993
getReserveNormalizedIncome(address) 867 ↓-2.9%1408 867 5327 ↑8.3%705
getReserveNormalizedVariableDebt(address) 889 ↑0.38%1324 889 6475 ↑1.4%144
getReservesList() 3170 ↑5.4%8579 11170 ↑79%88014 88
getUserConfiguration(address) 703 ↓-0.46%865 703 2703 ↑2.8%37
getVirtualUnderlyingBalance(address) 657 ↑2%767 657 2657 ↑0.79%127
initReserve(address,address,address,address) 6564 ↑0.35%165571 161757 207007 ↑4.7%2152
initialize(address) 45378 45467 45378 66895 ↑2.5%661
repay(address,uint256,uint256,address) 33243 104341 ↓-3.1%109003 164534 ↑4.3%24
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) ↓-13%133401 ↓-4%164252 170262 189093 3
resetIsolationModeTotalDebt(address) 4265 4277 4265 15265 ↑2.6%1917
setConfiguration(address,(uint256)) 2170 ↑0.9%4473 2170 24325 ↑2.8%21419
setUserEMode(uint8) 14165 ↑0.75%47163 41117 113854 28
supply(address,uint256,address,uint16) 29399 ↑0.23%192373 206840 216210 ↑8.2%645
syncIndexesState(address) 7211 13929 7211 62577 ↑2.5%1961
syncRatesState(address) 13459 15982 16005 22505 ↑2.5%1961
updateFlashloanPremiums(uint128,uint128) 1720 11658 6520 21620 ↑2.5%1313
withdraw(address,uint256,address) 39154 103519 87632 177428 ↑2.1%49

VariableDebtTokenInstance

  • size: 8190 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 ↑84%107
approveDelegation(address,uint256) 27009 27009 27009 27009 ↑100%2
balanceOf(address) 675 4585 4753 10336 ↑2%156
burn(address,uint256,uint256) 19171 25789 26171 26172 ↑1.9%55
decimals() 334 334 334 334 ↑84%107
getIncentivesController() 430 430 430 430 ↑84%107
initialize(address,address,address,uint8,string,string,bytes) ↓-12%143853 ↓-1.3%166130 164290 276648 ↑4.4%2294
mint(address,address,uint256,uint256) 26353 ↑0.37%61465 62553 72340 ↑24%253
name() ↓-20%1004 ↓-8.1%1798 ↓-19%1259 3259 ↑33%197
scaledBalanceOf(address) 687 ↑5%2192 2687 2687 ↑23%259
scaledTotalSupply() 417 ↑0.68%1636 2417 2417 ↑3.7%5464
symbol() ↓-20%1025 ↓-8.5%1787 ↓-19%1280 3280 ↑35%190

AaveOracle

  • size: 4123 / 49152
Method min mean median max calls
getAssetPrice(address) 0 ↑2.4%5566 7865 7865 ↑20%1173

DefaultReserveInterestRateStrategyV2

  • size: 4323 / 49152
Method min mean median max calls
calculateInterestRates((uint256,uint256,uint256,uint256,uint256,address,bool,uint256)) 0 ↑1.6%3106 2251 5973 ↑4.8%3255
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) 28329 29717 ↓-0.14%29040 36794 11
setInterestRateParams(address,bytes) 28662 33749 37121 37133 30

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
fallback() 0 ↑10%17077 1354 ↑0.76%196829555 ↑4.7%47413

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
latestAnswer() 279 ↓-0.68%2047 2279 2279 ↑8.1%3221

TestnetERC20

  • size: 5652 / 49152
Method min mean median max calls
approve(address,uint256) 26300 46550 46584 46584 ↑0.98%3394
balanceOf(address) 648 ↓-1.4%1105 648 2648 ↑19%1027
decimals() 311 ↓-5.7%1973 2311 2311 ↑13%2044
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) ↓-0.11%76469 ↓-0.13%76505 ↓-0.13%76505 ↓-0.16%76541 2

PercentageMathWrapper

  • size: 326 / 49152
Method min mean median max calls
HALF_PERCENTAGE_FACTOR() 146 146 146 146 ↓-33%2
PERCENTAGE_FACTOR() 223 223 223 223 ↓-25%3
percentMul(uint256,uint256) ↓-23%333 ↓-5.8%406 431 431 4

ACLManager

  • size: 4139 / 49152
Method min mean median max calls
DEFAULT_ADMIN_ROLE() 282 282 282 282 ↑2.2%1456
POOL_ADMIN_ROLE() 292 292 292 292 ↑2.3%718
addPoolAdmin(address) 50988 50999 51000 51000 ↑2.3%705
isAssetListingAdmin(address) 809 1827 2809 2809 ↑2.3%1400
isPoolAdmin(address) 752 ↓-0.12%845 752 2752 ↑2.3%23827
isRiskAdmin(address) 742 ↓-0.12%836 742 2742 ↑2.4%20873

PoolAddressesProvider

  • size: 8177 / 49152
Method min mean median max calls
getACLAdmin() 477 ↓-0.36%551 477 2477 ↑2.2%750
getACLManager() 531 ↓-0.16%627 531 2531 ↑2.3%23868
getAddress(bytes32) 543 ↓-0.12%868 543 2543 ↑2.9%6062
getPool() 466 ↓-1.6%1074 466 2466 ↑5.8%5608
getPoolConfigurator() 509 569 509 2509 ↑2.7%36359
getPoolDataProvider() 486 1168 486 2486 ↑2.3%2146
getPriceOracle() 574 ↑1.3%2146 2574 2574 ↑7.1%767
getPriceOracleSentinel() 487 ↑0.72%2387 2487 2487 ↑17%340
owner() 363 363 363 363 ↑2.3%723

PoolAddressesProviderRegistry

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

EmissionManager

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

RewardsController

  • size: 14452 / 49152
Method min mean median max calls
EMISSION_MANAGER() 326 326 326 326 ↑2.3%722
claimRewards(address[],uint256,address,address) 952 ↓-4%58001 84890 ↓-12%86197 ↑25%10
getAssetIndex(address,address) 2484 7226 8974 11392 49
getUserRewards(address[],address,address) 6793 7662 6793 12368 12
handleAction(address,uint256,uint256) 728 ↑0.31%2595 2728 38069 ↑8.5%1320
initialize(address) 26065 45245 45250 53154 ↑2.3%720

Collector

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

AaveV3GettersBatchOne

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

AaveV3GettersBatchTwo

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

AaveV3HelpersBatchOne

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

AaveV3HelpersBatchTwo

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

AaveV3L2PoolBatch

  • size: 43985 / 49152

AaveV3MiscBatch

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

AaveV3PeripheryBatch

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

AaveV3PoolBatch

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

AaveV3SetupBatch

  • size: 26831 / 49152
Method min mean median max calls
getInitialReport() 552 552 552 552 ↑2.2%742
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 632329 629994 750834 ↑2.4%690
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 2661460 2661559 2687366 ↑2.3%718

AaveV3TokensBatch

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

MockERC20AaveLMUpgradeable

  • size: 8658 / 49152
Method min mean median max calls
claimRewards(address,address[]) 173373 173373 173373 173373 1
claimRewardsOnBehalf(address,address,address[]) 34383 ↑150%128642 ↑200%173902 ↑180%177643 3
collectAndUpdateRewards(address) 48341 ↓-41%52827 ↓-41%52827 ↓-56%57313 2
getClaimableRewards(address,address) ↑0.36%6203 7694 ↓-0.14%6580 26280 20
getTotalClaimableRewards(address) 11376 18015 18015 24654 2
mint(address,uint256) 53655 ↑1.9%91986 97646 ↑3.3%100845 12
transfer(address,uint256) ↓-17%60603 ↑0.19%76829 ↑0.19%76829 ↑16%93055 2

MockScaledTestnetERC20

  • size: 5780 / 49152
Method min mean median max calls
getScaledUserBalanceAndSupply(address) 735 ↓-4.9%3235 ↓-27%2735 4735 ↑33%8
mint(address,uint256) ↑0.28%51476 65767 68648 68648 12
transfer(address,uint256) 29803 44112 46975 46975 12

MockERC4626StataTokenUpgradeable

  • size: 10278 / 49152
Method min mean median max calls
approve(address,uint256) 46363 ↑0.12%46429 ↑0.12%46429 ↑0.23%46495 2
depositATokens(uint256,address) ↑0.12%59724 ↑0.22%198557 210716 ↑2.3%215650 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 75887 ↓-1.3%245365 267278 ↓-4.4%338412 5
mint(uint256,address) ↓-0.37%74367 193542 193542 312717 2
redeem(uint256,address,address) 174847 174847 174847 174847 1
redeemATokens(uint256,address,address) 40743 121299 161083 162073 3
withdraw(uint256,address,address) ↓-0.19%51395 ↓-0.13%114391 ↓-0.13%114391 ↓-0.11%177387 2

VariableDebtTokenHarness

  • size: 8210 / 49152
Method min mean median max calls
approveDelegation(address,uint256) 48605 48605 48605 48605 1
burn(address,uint256,uint256) 52015 52027 52027 52039 2
initialize(address,address,address,uint8,string,string,bytes) ↑1.3%30753 ↑12%161441 ↑15%179432 247668 8
mint(address,address,uint256,uint256) 86743 88001 86773 91718 4
name() ↑25%1259 ↑2.5%1333 1259 ↑15%1789 15
symbol() 1280 ↑3.2%1378 1280 ↓-13%1575 15

AaveV3TestListing

  • size: 13561 / 49152
Method min mean median max calls
USDX_ADDRESS() 293 293 293 293 ↑2.4%682
WBTC_ADDRESS() 249 249 249 249 ↑2.4%682
execute() 5115928 5116792 5116858 5116858 ↑2.4%685

Copy link

forge 0.0.2 (68fcb7d 2024-12-16T00:28:37.180046384Z)

Copy link

🔧 Build logs
Compiling 404 files with Solc 0.8.20
Solc 0.8.20 finished in 111.91s
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

🔮 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 ${\color{orange}90.91\%}$
$10 / 11$
26
${\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 ${\color{orange}90\%}$
$18 / 20$
32, 48
${\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 $^{↑5\%}{\color{red}76.36\%}$
$42 / 55$
45, 46, 49, 50, 62 and 8 more
$^{↑12\%}{\color{orange}90\%}$
$18 / 20$
AaveProtocolDataProvider.getAllATokens, AaveProtocolDataProvider.getReserveData
${\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$
${\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$
${\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$
${\color{red}75\%}$
$3 / 4$
RevenueSplitter.
${\color{green}100\%}$
$3 / 3$

Copy link

🌈 Test Results
No files changed, compilation skipped

Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 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.34ms (2.91ms 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 54.72ms (14.14ms 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 55.87ms (5.58ms 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 65.19ms (19.77ms 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 19.99ms (8.55ms 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 76.62ms (40.88ms 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 42.27ms (3.60ms 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 47.20ms (11.21ms 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, μ: 10585, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10665, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 96.45ms (95.33ms 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 36.35ms (277.64µs 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 59.09ms (23.74ms 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 43.95ms (7.03ms 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 34.41ms (1.86ms 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 35.91ms (617.21µs 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, μ: 389005, ~: 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.16s (1.13s 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 36.56ms (2.67ms 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 136.86ms (131.35ms 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.09ms (14.46ms 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, μ: 422717, ~: 422736)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422944, ~: 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.23s (6.19s 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 44.38ms (8.33ms 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, μ: 81882, ~: 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, μ: 36915, ~: 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.17s (1.13s 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 43.98ms (9.92ms 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, μ: 1049399, ~: 1049472)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 4.22s (4.19s 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.61ms (6.01ms 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 41.99ms (7.83ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524468, ~: 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, μ: 1102513, ~: 1102605)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296152, ~: 299963)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016679, ~: 1016899)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919673, ~: 919872)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975923, ~: 976123)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 12.91s (12.87s 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, μ: 172083, ~: 133842)
[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.45s (1.38s 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 46.54ms (8.61ms 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, μ: 852990, ~: 814596)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 851668, ~: 814810)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789260, ~: 790754)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 884364, ~: 847207)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 853118, ~: 814509)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789920, ~: 791679)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 831835, ~: 811131)
[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, μ: 864407, ~: 881462)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 822137, ~: 815444)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.89s (22.85s 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 23.07s (23.03s 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 46.64ms (40.95ms 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 39.25ms (2.04ms 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 36.61ms (518.79µs 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, μ: 1462646, ~: 1470863)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1460188, ~: 1468758)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1475878, ~: 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.62s (20.59s 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.14ms (26.70ms 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, μ: 114213, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71530, ~: 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, μ: 64202, ~: 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.29s (12.25s 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.35s (3.31s 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.33s (3.29s 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.11s (6.07s 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, μ: 606413, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581474, ~: 573426)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 587503, ~: 578936)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 535155, ~: 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 14.64s (14.61s 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.11ms (2.13ms 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.88ms 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, μ: 462812, ~: 464189)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461048, ~: 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, μ: 100406, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.15s (4.15s 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 49.99ms (13.72ms 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 32.36ms (227.71µ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 32.88ms (1.18ms 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.65ms (3.76ms 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, μ: 531291, ~: 531656)
[PASS] test_depositATokens_self() (gas: 531763)
Logs:
  Bound result 1000000000000000000
  Bound result 1000000000000000000

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566144, ~: 566662)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537913, ~: 538465)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476823, ~: 476696)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403967, ~: 403872)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498084, ~: 497958)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394839, ~: 394741)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42165, ~: 42197)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114985, ~: 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, μ: 990468, ~: 990604)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556771, ~: 556681)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526812, ~: 526713)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467237, ~: 467070)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258188, ~: 258032)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586540, ~: 586380)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593634, ~: 593468)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614145, ~: 613959)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545736, ~: 546335)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26024)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 590328, ~: 590160)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 530989, ~: 530830)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 31.32s (31.28s 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 43.12ms (371.65µs CPU time)

Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 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 186.39ms (152.86ms 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 34.64ms (1.82ms 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.30ms (196.15µs 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 39.93ms (6.32ms 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 39.69ms (5.14ms 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 35.91ms (747.31µ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 37.78ms (1.07ms CPU time)

Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 68215)
[PASS] test_getDebtCeiling() (gas: 27099)
[PASS] test_getFlashLoanEnabled() (gas: 27177)
[PASS] test_getInterestRateStrategyAddress() (gas: 53485)
[PASS] test_getIsVirtualAccActive() (gas: 27184)
[PASS] test_getLiquidationProtocolFee() (gas: 27158)
[PASS] test_getPaused() (gas: 27250)
[PASS] test_getReserveCaps() (gas: 27176)
[PASS] test_getReserveConfigurationData() (gas: 28077)
[PASS] test_getReserveTokensAddresses() (gas: 53734)
[PASS] test_getSiloedBorrowing() (gas: 27232)
[PASS] test_getTotalDebt() (gas: 68237)
[PASS] test_getUnbackedMintCap() (gas: 27097)
[PASS] test_getUserReserveData() (gas: 373347)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 40.15ms (2.86ms 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 1.00s (967.93ms 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, μ: 641592, ~: 649183)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428615, ~: 428617)
[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, μ: 81934, ~: 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 6.98s (6.94s CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 780478, ~: 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.93s (2.90s 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, μ: 13327, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10522, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10778, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12137, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 223.21ms (222.00ms 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 41.54ms (11.19ms CPU time)

Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 638254)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 40.13ms (2.43ms 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, μ: 2626482, ~: 2625909)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2615107, ~: 2616760)
[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, μ: 2868019, ~: 2867832)
[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, μ: 2604811, ~: 2603611)
[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, μ: 137401, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138278, ~: 138598)
[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 4.65s (7.33s 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, μ: 2738429, ~: 2738844)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2810983, ~: 2811011)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2826242, ~: 2825230)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2826868, ~: 2825339)
[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, μ: 2626088, ~: 2626216)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3676889, ~: 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, μ: 2826922, ~: 2825254)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 4.48s (6.10s 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, μ: 1052205, ~: 1052206)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 91720351, ~: 54364255)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 383695046, ~: 346902441)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 128.71s (146.36s 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 26.04ms (1.20ms CPU time)

Ran 67 test suites in 140.58s (319.93s CPU time): 778 tests passed, 0 failed, 0 skipped (778 total tests)

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