Skip to content

Conversation

@sakulstra
Copy link
Contributor

@sakulstra sakulstra commented Jan 25, 2025

  • upgrades the repo to oz v5.1 dependency. Most notably this changes TransparentProxy to deploy a new ProxyAdmin per instance.
  • upgrades usage of custom safecast with the oz 5.1 version. They are feature equivalent but have slightly smaller codesize & gas usage due to Error vs String errors.
  • removes deployment of proxy-admin, as it's no longer needed

@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2025

Gas report

MockERC20

  • size: 3614 / 49152
Method min mean median max calls
balanceOf(address) 579 1353 579 2579 111
initialize(string,string,uint8) 157660 157660 157660 157660 30

ProxyAdmin

  • size: 1267 / 49152
Method min mean median max calls
owner() 288 288 288 288 2

TransparentUpgradeableProxy

  • size: 3742 / 49152
Method min mean median max calls
fallback() 789 651758 31396 2792180 96

WETH9

  • size: 2357 / 49152
Method min mean median max calls
allowance(address,address) 800 1500 800 2800 20
approve(address,uint256) 29004 46431 46464 46464 1650
balanceOf(address) 538 939 538 2538 8305
decimals() 2312 2312 2312 2312 722
symbol() 1209 2246 3209 3209 27

ParaSwapLiquiditySwapAdapter

  • size: 9946 / 49152
Method min mean median max calls
owner() 384 384 384 384 2
swapAndDeposit(address,address,uint256,uint256,uint256,bytes,address,(uint256,uint256,uint8,bytes32,bytes32)) 354784 445579 477520 504434 3

ParaSwapRepayAdapter

  • size: 10623 / 49152
Method min mean median max calls
owner() 406 406 406 406 2
rescueTokens(address) 36115 36115 36115 36115 1
swapAndRepay(address,address,uint256,uint256,uint256,uint256,bytes,(uint256,uint256,uint8,bytes32,bytes32)) 404190 512323 538923 567258 4

ParaSwapWithdrawSwapAdapter

  • size: 8547 / 49152
Method min mean median max calls
owner() 406 406 406 406 2
withdrawAndSwap(address,address,uint256,uint256,uint256,bytes,address,(uint256,uint256,uint8,bytes32,bytes32)) 354732 380661 373324 413928 3

StataTokenFactory

  • size: 3890 / 49152
Method min mean median max calls
STATA_TOKEN_IMPL() 270 270 270 270 1
createStataTokens(address[]) 2764757 2764757 2764757 2764757 21
getStataToken(address) 594 594 594 594 21
initialize() 24089 24089 24089 24089 692

StataTokenV2

  • size: 19695 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 6525 6525 6525 6525 3
INCENTIVES_CONTROLLER() 350 350 350 350 1
aToken() 2535 2535 2535 2535 1
allowance(address,address) 806 806 806 806 1
asset() 2449 2449 2449 2449 1
balanceOf(address) 653 653 653 653 1
canPause(address) 11610 11610 11610 11610 2
claimRewardsToSelf(address[]) 3168 3168 3168 3168 1
decimals() 618 618 618 618 1
deposit(uint256,address) 266329 276519 276519 286710 2
depositATokens(uint256,address) 160528 195313 202270 202270 6
emergencyTokenTransfer(address,address,uint256) 6009 81500 85466 149058 4
getReferenceAsset() 2491 2491 2491 2491 1
initialize(address,string,string) 25518 230378 231337 238337 64
maxRedeem(address) 7543 7543 7543 7543 2
maxWithdraw(address) 10280 10280 10280 10280 1
mint(uint256,address) 266423 266423 266423 266423 1
name() 3377 3377 3377 3377 1
nonces(address) 2776 2776 2776 2776 3
paused() 469 1469 1469 2469 2
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 776 30653 33460 57725 3
previewDeposit(uint256) 16030 16030 16030 16030 1
redeem(uint256,address,address) 31824 110197 110197 188570 2
redeemATokens(uint256,address,address) 135228 135228 135228 135228 1
setPaused(bool) 11592 32070 34996 34996 8
symbol() 3389 3389 3389 3389 1
transfer(address,uint256) 2763 2763 2763 2763 1
withdraw(uint256,address,address) 34562 34562 34562 34562 1

AaveV3ConfigEngine

  • size: 9468 / 49152
Method min mean median max calls
DEFAULT_INTEREST_RATE_STRATEGY() 270 270 270 270 5
listAssets((string,string),(address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[]) 1803020 1803020 1803020 1803020 1
listAssetsCustom((string,string),((address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address))[]) 1802422 5187364 5192371 5192371 686
updateAssetsEMode((address,uint8,uint256,uint256)[]) 189979 189979 189979 189979 1
updateBorrowSide((address,uint256,uint256,uint256,uint256,uint256)[]) 19879 76035 76035 132191 2
updateCaps((address,uint256,uint256)[]) 59508 59508 59508 59508 1
updateCollateralSide((address,uint256,uint256,uint256,uint256,uint256)[]) 8653 30267 8692 62649 5
updateEModeCategories((uint8,uint256,uint256,uint256,string)[]) 10403 50284 28304 101157 5
updatePriceFeeds((address,address)[]) 39016 39016 39016 39016 1
updateRateStrategies((address,(uint256,uint256,uint256,uint256))[]) 124677 124677 124677 124677 1

AaveProtocolDataProvider

  • size: 9716 / 49152
Method min mean median max calls
getATokenTotalSupply(address) 12822 13683 12866 57882 2085
getAllReservesTokens() 15742 28228 39242 39242 27
getDebtCeiling(address) 3244 5944 3244 16744 5
getDebtCeilingDecimals() 214 214 214 214 1
getFlashLoanEnabled(address) 3217 8383 5217 16717 3
getInterestRateStrategyAddress(address) 9534 23579 19512 43034 10
getIsVirtualAccActive(address) 3245 4488 3267 16767 11
getLiquidationProtocolFee(address) 3266 10216 11016 16766 10
getPaused(address) 3333 4373 3355 16855 23
getReserveCaps(address) 3267 8329 3267 16767 48
getReserveConfigurationData(address) 3659 4595 3681 17181 77
getReserveTokensAddresses(address) 9510 12797 9554 43054 456
getSiloedBorrowing(address) 3270 10020 10020 16770 2
getTotalDebt(address) 54903 54903 54903 54903 3
getUnbackedMintCap(address) 16721 16721 16721 16721 1
getUserReserveData(address,address) 19863 29759 27941 46863 27
getVirtualUnderlyingBalance(address) 16533 16533 16533 16533 1

L2Encoder

  • size: 3958 / 49152
Method min mean median max calls
encodeBorrowParams(address,uint256,uint256,uint16) 8851 8851 8851 8851 3
encodeLiquidationCall(address,address,address,uint256,bool) 23237 23237 23237 23237 1
encodeRepayParams(address,uint256,uint256) 8734 8734 8734 8734 1
encodeRepayWithATokensParams(address,uint256,uint256) 8761 8761 8761 8761 1
encodeRepayWithPermitParams(address,uint256,uint256,uint256,uint8,bytes32,bytes32) 13218 13218 13218 13218 1
encodeSetUserUseReserveAsCollateral(address,bool) 8676 8676 8676 8676 1
encodeSupplyParams(address,uint256,uint16) 40279 40279 40279 40279 7
encodeSupplyWithPermitParams(address,uint256,uint16,uint256,uint8,bytes32,bytes32) 40633 40633 40633 40633 1
encodeWithdrawParams(address,uint256) 8620 8653 8653 8687 2

WrappedTokenGatewayV3

  • size: 6696 / 49152
Method min mean median max calls
borrowETH(address,uint256,uint16) 250143 251379 251379 252616 2
depositETH(address,address,uint16) 222665 238055 239979 239979 9
emergencyEtherTransfer(address,uint256) 33792 33792 33792 33792 1
emergencyTokenTransfer(address,address,uint256) 52863 52863 52863 52863 1
getWETHAddress() 200 200 200 200 1
owner() 373 373 373 373 2
receive() 21206 21206 21206 21206 1
repayETH(address,uint256,address) 180936 188413 184149 205774 6
withdrawETH(address,uint256,address) 233365 248343 242018 269647 3
withdrawETHWithPermit(address,uint256,address,uint256,uint8,bytes32,bytes32) 278174 281068 281068 283962 2

ATokenInstance

  • size: 11091 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 455 2271 2455 3539 5
POOL() 326 326 326 326 104
RESERVE_TREASURY_ADDRESS() 419 1856 2419 2419 32
UNDERLYING_ASSET_ADDRESS() 441 2318 2441 2441 98
allowance(address,address) 782 1551 782 2782 26
approve(address,uint256) 24586 24586 24586 24586 35
balanceOf(address) 2749 5923 4749 17749 254
burn(address,address,uint256,uint256) 904 42130 45478 63239 73
decimals() 356 1911 2356 2356 27
decreaseAllowance(address,uint256) 7705 7705 7705 7705 1
getIncentivesController() 474 874 474 2474 10
getPreviousIndex(address) 651 651 651 651 39
getScaledUserBalanceAndSupply(address) 826 2730 2826 4826 21
handleRepayment(address,address,uint256) 594 594 594 594 56
increaseAllowance(address,uint256) 7772 20597 24872 24872 4
initialize(address,address,address,address,uint8,string,string,bytes) 187036 189826 187036 276555 2193
mint(address,address,uint256,uint256) 932 60366 64402 72156 743
mintToTreasury(uint256,uint256) 442 43917 49192 66292 6
name() 1259 2689 3259 3259 170
nonces(address) 652 1985 2652 2652 9
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 1108 30882 33588 53488 18
rescueTokens(address,address,uint256) 12022 24398 14240 46933 3
scaledBalanceOf(address) 687 2366 2687 2687 742
scaledTotalSupply() 373 2251 2373 2373 33
setIncentivesController(address) 11924 14301 14301 16678 2
symbol() 1324 2709 3324 3324 152
totalSupply() 407 2940 2407 10463 2413
transfer(address,uint256) 576 98319 110564 140167 32
transferFrom(address,address,uint256) 2998 106257 113932 142842 42
transferOnLiquidation(address,address,uint256) 981 34883 37477 44277 26
transferUnderlyingTo(address,uint256) 796 28009 33588 33627 270

L2PoolInstance

  • size: 23538 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 351 351 351 351 177
FLASHLOAN_PREMIUM_TOTAL() 388 1388 1388 2388 126
FLASHLOAN_PREMIUM_TO_PROTOCOL() 437 437 437 437 126
borrow(address,uint256,uint256,uint16,address) 203159 224510 222214 238218 11
borrow(bytes32) 203157 203157 203157 203157 3
configureEModeCategory(uint8,(uint16,uint16,uint16,string)) 7099 43206 49224 49224 7
configureEModeCategoryBorrowableBitmap(uint8,uint128) 23963 23963 23963 23963 2
configureEModeCategoryCollateralBitmap(uint8,uint128) 6843 6843 6843 6843 12
dropReserve(address) 6304 44281 44281 82259 2
getBorrowLogic() 281 281 281 281 1
getBridgeLogic() 345 345 345 345 1
getConfiguration(address) 723 733 723 2723 1462
getEModeCategoryBorrowableBitmap(uint8) 2646 2646 2646 2646 2
getEModeCategoryCollateralBitmap(uint8) 2656 2656 2656 2656 12
getEModeLogic() 345 345 345 345 1
getFlashLoanLogic() 347 347 347 347 1
getLiquidationGracePeriod(address) 2634 2634 2634 2634 1
getLiquidationLogic() 325 325 325 325 1
getPoolLogic() 324 324 324 324 1
getReserveData(address) 5204 8323 7204 29704 343
getReserveNormalizedIncome(address) 823 835 823 1283 37
getReserveNormalizedVariableDebt(address) 845 1419 845 2845 9
getReservesList() 10925 10925 10925 10925 3
getSupplyLogic() 345 345 345 345 1
getUserAccountData(address) 22290 22290 22290 22290 1
getVirtualUnderlyingBalance(address) 724 724 724 724 4
initReserve(address,address,address,address) 6628 161390 161649 167597 146
initialize(address) 45443 45443 45443 45443 63
liquidationCall(bytes32,bytes32) 375920 375920 375920 375920 1
mintToTreasury(address[]) 77197 78556 78556 79916 2
repay(address,uint256,uint256,address) 164468 164468 164468 164468 2
repay(bytes32) 135484 135484 135484 135484 1
repayWithATokens(bytes32) 138509 138509 138509 138509 1
repayWithPermit(bytes32,bytes32,bytes32) 209916 209916 209916 209916 1
rescueTokens(address,address,uint256) 48214 48214 48214 48214 1
resetIsolationModeTotalDebt(address) 4353 4491 4353 15353 147
setConfiguration(address,(uint256)) 2148 4227 2148 24303 1593
setLiquidationGracePeriod(address,uint40) 6364 11408 10850 17012 3
setReserveInterestRateStrategyAddress(address,address) 6384 9907 8731 15782 4
setUserEMode(uint8) 22122 42635 41183 87512 7
setUserUseReserveAsCollateral(address,bool) 53575 69534 71588 102788 17
setUserUseReserveAsCollateral(bytes32) 73756 73756 73756 73756 1
supply(address,uint256,address,uint16) 157134 199041 208434 208434 29
supply(bytes32) 210512 210512 210512 210512 7
supplyWithPermit(bytes32,bytes32,bytes32) 259775 259775 259775 259775 1
syncIndexesState(address) 7299 13932 7299 27199 144
syncRatesState(address) 16005 16005 16005 16005 144
updateBridgeProtocolFee(uint256) 6230 6230 6230 6230 1
updateFlashloanPremiums(uint128,uint128) 1698 11606 6367 21598 127
withdraw(bytes32) 126426 128867 128867 131308 2

PoolConfiguratorInstance

  • size: 19760 / 49152
Method min mean median max calls
MAX_GRACE_PERIOD() 260 260 260 260 7
configureReserveAsCollateral(address,uint256,uint256,uint256) 12220 12544 12264 99552 2072
disableLiquidationGracePeriod(address) 17214 32094 39535 39535 3
dropReserve(address) 14074 51441 43883 104832 6
getConfiguratorLogic() 283 283 283 283 1
getPendingLtv(address) 640 640 640 640 6
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 4613122 4381913 190533824 696
initialize(address) 72573 90423 90473 90473 720
setAssetBorrowableInEMode(address,uint8,bool) 46648 85455 87622 100648 18
setAssetCollateralInEMode(address,uint8,bool) 17472 74526 70555 83580 51
setBorrowCap(address,uint256) 11170 11419 11214 44169 2069
setBorrowableInIsolation(address,bool) 10736 11032 10780 43726 2070
setDebtCeiling(address,uint256) 17256 44913 41675 98789 2076
setEModeCategory(uint8,uint16,uint16,uint16,string) 17779 71276 81448 81448 47
setLiquidationProtocolFee(address,uint256) 11241 11420 11285 44240 2065
setPoolPause(bool) 17202 60526 89383 89461 5
setPoolPause(bool,uint40) 17314 62314 62314 107314 2
setReserveActive(address,bool) 14185 82054 93141 95296 12
setReserveBorrowing(address,bool) 10911 11065 10955 41764 2062
setReserveFactor(address,uint256) 17301 43389 36685 124960 2061
setReserveFlashLoaning(address,bool) 10910 11048 10954 43918 2061
setReserveFreeze(address,bool) 20551 59164 67818 73139 17
setReserveInterestRateData(address,bytes) 17558 76842 106484 106484 3
setReserveInterestRateStrategyAddress(address,address,bytes) 17579 131852 133735 165156 45
setReservePause(address,bool) 17347 34577 43192 43192 3
setReservePause(address,bool,uint40) 14424 39754 40844 49360 24
setSiloedBorrowing(address,bool) 11281 11485 11325 94206 2060
setSupplyCap(address,uint256) 11127 12147 11171 44126 2076
setUnbackedMintCap(address,uint256) 44161 44161 44161 44161 7
updateAToken((address,address,address,string,string,address,bytes)) 14035 77281 77281 140527 2
updateBridgeProtocolFee(uint256) 14102 49291 51998 51998 14
updateFlashloanPremiumToProtocol(uint128) 10115 10223 10181 36981 721
updateFlashloanPremiumTotal(uint128) 14052 31997 32046 36946 721
updateVariableDebtToken((address,address,string,string,address,bytes)) 14036 74205 74205 134374 2

PoolInstance

  • size: 22291 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 284 284 284 284 2088
BRIDGE_PROTOCOL_FEE() 349 2109 2349 2349 25
FLASHLOAN_PREMIUM_TOTAL() 410 1413 2410 2410 1318
FLASHLOAN_PREMIUM_TO_PROTOCOL() 459 460 459 2459 1315
MAX_NUMBER_RESERVES() 286 286 286 286 4
backUnbacked(address,uint256,uint256) 98313 114497 111899 132885 9
borrow(address,uint256,uint256,uint16,address) 46604 247997 277802 304578 257
configureEModeCategory(uint8,(uint16,uint16,uint16,string)) 7121 47065 49246 49246 35
configureEModeCategoryBorrowableBitmap(uint8,uint128) 4041 21503 23941 23941 16
configureEModeCategoryCollateralBitmap(uint8,uint128) 3976 6649 6776 6776 38
deposit(address,uint256,address,uint16) 32702 189423 206817 208433 47
dropReserve(address) 6326 37538 28245 82325 7
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 45891 48063 87949 71
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 31368 130841 93485 322073 12
flashLoanSimple(address,address,uint256,bytes,uint16) 23396 345141 191517 760848 11
getBorrowLogic() 325 325 325 325 1
getBridgeLogic() 345 345 345 345 1
getConfiguration(address) 745 767 745 2745 19564
getEModeCategoryBorrowableBitmap(uint8) 668 1887 2668 2668 41
getEModeCategoryCollateralBitmap(uint8) 678 1852 2678 2678 63
getEModeCategoryCollateralConfig(uint8) 885 1695 885 2885 111
getEModeCategoryData(uint8) 8291 8291 8291 8291 4
getEModeCategoryLabel(uint8) 1328 1642 1583 3328 25
getEModeLogic() 278 278 278 278 1
getFlashLoanLogic() 302 302 302 302 1
getLiquidationGracePeriod(address) 2656 2656 2656 2656 11
getLiquidationLogic() 347 347 347 347 1
getPoolLogic() 279 279 279 279 1
getReserveAddressById(uint16) 662 662 662 662 1
getReserveData(address) 5248 7695 5248 29748 4892
getReserveDataExtended(address) 3476 4142 3476 5476 6
getReserveNormalizedIncome(address) 867 1409 867 5327 705
getReserveNormalizedVariableDebt(address) 889 1318 889 6475 146
getReservesCount() 392 392 392 392 2
getReservesList() 2969 7462 10969 10969 88
getSupplyLogic() 281 281 281 281 1
getUserAccountData(address) 12141 24368 22686 46663 28
getUserConfiguration(address) 703 919 703 2703 37
getUserEMode(address) 634 634 634 634 21
getVirtualUnderlyingBalance(address) 657 767 657 2657 127
initReserve(address,address,address,address) 6564 164314 161585 196085 2051
initialize(address) 45378 45467 45378 66895 661
liquidationCall(address,address,address,uint256,bool) 53082 253451 323142 394320 35
mintToTreasury(address[]) 77197 78556 78556 79916 2
mintUnbacked(address,uint256,address,uint16) 12183 118303 103419 165752 17
repay(address,uint256,uint256,address) 33243 104341 109003 164534 24
repayWithATokens(address,uint256,uint256) 155256 161888 162302 165893 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) 149611 163318 151251 189093 3
rescueTokens(address,address,uint256) 48149 48149 48149 48149 1
resetIsolationModeTotalDebt(address) 4265 4277 4265 15265 1917
setConfiguration(address,(uint256)) 2170 4379 2170 24325 21318
setLiquidationGracePeriod(address,uint40) 6386 12550 13534 17034 16
setReserveInterestRateStrategyAddress(address,address) 6406 7522 7304 15804 48
setUserEMode(uint8) 14165 47163 41117 113854 28
setUserUseReserveAsCollateral(address,bool) 53552 74193 71565 135389 32
supply(address,uint256,address,uint16) 29399 192373 206840 216210 645
supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32) 113713 196479 218122 257604 3
syncIndexesState(address) 7211 13929 7211 62577 1961
syncRatesState(address) 13459 15982 16005 22505 1961
updateBridgeProtocolFee(uint256) 6185 22141 23369 23369 14
updateFlashloanPremiums(uint128,uint128) 1720 11658 6520 21620 1313
withdraw(address,uint256,address) 39154 103519 87632 177428 49

VariableDebtTokenInstance

  • size: 8191 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 6
approveDelegation(address,uint256) 27009 27009 27009 27009 2
balanceOf(address) 675 4587 4753 10336 158
borrowAllowance(address,address) 828 828 828 828 5
burn(address,uint256,uint256) 19171 25789 26171 26171 55
decimals() 334 334 334 334 6
delegationWithSig(address,address,uint256,uint256,uint8,bytes32,bytes32) 1043 28679 21652 55852 7
getIncentivesController() 430 430 430 430 6
initialize(address,address,address,uint8,string,string,bytes) 164288 164410 164288 209239 2193
mint(address,address,uint256,uint256) 26353 61465 62553 72340 253
name() 1259 2244 1554 3259 96
nonces(address) 574 574 574 574 1
scaledBalanceOf(address) 687 2196 2687 2687 261
scaledTotalSupply() 417 1636 2417 2417 5466
symbol() 1280 2230 1280 3280 89
totalSupply() 4052 7563 6466 19052 15

AaveOracle

  • size: 4023 / 49152
Method min mean median max calls
BASE_CURRENCY() 292 292 292 292 3
BASE_CURRENCY_UNIT() 261 261 261 261 1
getAssetPrice(address) 0 5574 7865 7865 1177
getAssetsPrices(address[]) 2219 3347 2219 5605 3
getFallbackOracle() 364 1030 364 2364 3
getSourceOfAsset(address) 550 1339 550 2550 119
setAssetSources(address[],address[]) 37323 52816 61851 62091 9
setFallbackOracle(address) 59524 59524 59524 59524 4

DefaultReserveInterestRateStrategyV2

  • size: 4325 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 228 228 228 228 5
MAX_BORROW_RATE() 239 239 239 239 27
MAX_OPTIMAL_POINT() 261 261 261 261 33
MIN_OPTIMAL_POINT() 260 260 260 260 33
calculateInterestRates((uint256,uint256,uint256,uint256,uint256,address,bool,uint256)) 0 3106 2251 5973 3255
getBaseVariableBorrowRate(address) 744 1559 744 2744 103
getInterestRateData(address) 1788 1788 1788 1788 1
getInterestRateDataBps(address) 983 983 983 983 1
getMaxVariableBorrowRate(address) 968 968 968 968 89
getOptimalUsageRatio(address) 734 754 734 2734 96
getVariableRateSlope1(address) 774 774 774 774 100
getVariableRateSlope2(address) 795 795 795 795 93
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) 28329 29717 29044 36794 11
setInterestRateParams(address,bytes) 28638 33740 37109 37133 30

PriceOracleSentinel

  • size: 1981 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 205 205 205 205 1
getGracePeriod() 301 301 301 301 1
getSequencerOracle() 341 341 341 341 1
isBorrowAllowed() 3808 5978 5985 10308 5
isLiquidationAllowed() 3763 5933 5940 10263 5
setGracePeriod(uint256) 36148 39043 39043 41938 2
setSequencerOracle(address) 33011 33527 33527 34043 2

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
admin() 21388 21388 21388 21388 8
fallback() 0 14107 1354 191857538 45905
upgradeTo(address) 26845 28735 28735 30625 2
upgradeToAndCall(address,bytes) 28747 152619 187392 187392 8

MockFlashLoanReceiver

  • size: 2533 / 49152
Method min mean median max calls
setFailExecutionTransfer(bool) 43635 43635 43635 43635 1
setSimulateEOA(bool) 43679 43679 43679 43679 1

MockFlashLoanSimpleReceiver

  • size: 1793 / 49152
Method min mean median max calls
setFailExecutionTransfer(bool) 43657 43657 43657 43657 1
setSimulateEOA(bool) 43679 43679 43679 43679 1

MockPoolInherited

  • size: 22507 / 49152
Method min mean median max calls
initialize(address) 28391 28391 28391 28391 2

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
_latestAnswer() 315 315 315 315 76
decimals() 143 143 143 143 83
description() 168 168 168 168 83
latestAnswer() 279 2047 2279 2279 3225
name() 168 168 168 168 83

PriceOracle

  • size: 498 / 49152
Method min mean median max calls
getAssetPrice(address) 547 547 547 547 3
setAssetPrice(address,uint256) 25768 39062 45704 45716 3

SequencerOracle

  • size: 1358 / 49152
Method min mean median max calls
latestRoundData() 724 1527 729 4729 10
setAnswer(bool,uint256) 26203 27465 26203 46115 72

MockParaSwapAugustus

  • size: 3253 / 49152
Method min mean median max calls
expectBuy(address,address,uint256,uint256,uint256) 133433 133433 133433 133433 6
expectSwap(address,address,uint256,uint256,uint256) 133501 133514 133525 133525 9
getTokenTransferProxy() 238 238 238 238 15

MockParaSwapAugustusRegistry

  • size: 340 / 49152
Method min mean median max calls
isValidAugustus(address) 321 321 321 321 66

TestnetERC20

  • size: 5657 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 2339 2339 2339 2339 1
allowance(address,address) 833 1944 2833 2833 9
approve(address,uint256) 26300 46551 46584 46584 3394
balanceOf(address) 648 1113 648 2648 1027
decimals() 311 2259 2311 2311 1640
mint(address,uint256) 36475 59093 53587 70795 3273
name() 3236 3236 3236 3236 8
nonces(address) 2601 2601 2601 2601 1
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 76457 76469 76469 76481 2
symbol() 1323 2323 2323 3323 56
totalSupply() 348 748 348 2348 60
transfer(address,uint256) 46925 51017 51701 51701 7
transferOwnership(address) 28797 28797 28797 28797 31

MathUtilsWrapper

  • size: 946 / 49152
Method min mean median max calls
SECONDS_PER_YEAR() 223 223 223 223 1
calculateCompoundedInterest(uint256,uint40) 1837 1837 1837 1837 1
calculateCompoundedInterest(uint256,uint40,uint256) 577 1183 1183 1789 2
calculateLinearInterest(uint256,uint40) 666 666 666 666 1

PercentageMathWrapper

  • size: 326 / 49152
Method min mean median max calls
HALF_PERCENTAGE_FACTOR() 146 146 146 146 2
PERCENTAGE_FACTOR() 223 223 223 223 3
percentDiv(uint256,uint256) 428 428 428 428 4
percentMul(uint256,uint256) 333 406 431 431 4

WadRayMathWrapper

  • size: 845 / 49152
Method min mean median max calls
HALF_RAY() 246 246 246 246 1
HALF_WAD() 223 223 223 223 2
RAY() 224 224 224 224 1
WAD() 179 179 179 179 3
WAD_RAY_RATIO() 268 268 268 268 7
rayDiv(uint256,uint256) 494 494 494 494 4
rayMul(uint256,uint256) 497 497 497 497 3
rayToWad(uint256) 384 384 384 384 5
wadDiv(uint256,uint256) 538 538 538 538 5
wadMul(uint256,uint256) 333 417 431 431 7
wadToRay(uint256) 357 357 357 357 5

MockATokenRepayment

  • size: 11176 / 49152
Method min mean median max calls
RESERVE_TREASURY_ADDRESS() 419 419 419 419 1
getIncentivesController() 474 474 474 474 1
initialize(address,address,address,address,uint8,string,string,bytes) 61739 61739 61739 61739 1
name() 1259 1259 1259 1259 1
symbol() 1324 1324 1324 1324 1

MockVariableDebtToken

  • size: 8195 / 49152
Method min mean median max calls
getIncentivesController() 430 430 430 430 1
initialize(address,address,address,uint8,string,string,bytes) 56091 56091 56091 56091 1
name() 1259 1259 1259 1259 1
symbol() 1280 1280 1280 1280 1

MockScaledToken

  • size: 4793 / 49152
Method min mean median max calls
balanceOf(address) 584 584 584 584 4
setStorage(address,address,uint256,uint256,uint256) 67846 67846 67846 67846 1
transferWithIndex(address,address,uint256,uint256) 48893 48893 48893 48893 1

MockInitializableImple

  • size: 1576 / 49152
Method min mean median max calls
REVISION() 260 260 260 260 6
initialize(uint256,string,uint256[]) 157387 157387 157387 157387 6
setValue(uint256) 5255 5255 5255 5255 1
text() 1166 1166 1166 1166 6
upgradeTo(address) 169 169 169 169 1
upgradeToAndCall(address,bytes) 169 169 169 169 1
value() 317 317 317 317 7
values(uint256) 594 594 594 594 12

MockInitializableImpleV2

  • size: 1578 / 49152
Method min mean median max calls
REVISION() 260 260 260 260 2
initialize(uint256,string,uint256[]) 51990 51990 51990 51990 1
setValue(uint256) 5255 5255 5255 5255 2
text() 1166 1166 1166 1166 2
value() 317 317 317 317 4
values(uint256) 594 594 594 594 4

MockInitializableV1

  • size: 339 / 49152
Method min mean median max calls
initialize(address) 45128 45128 45128 45128 2

MockInitializableV2

  • size: 341 / 49152
Method min mean median max calls
initialize(address) 28031 28031 28031 28031 1

ACLManager

  • size: 4140 / 49152
Method min mean median max calls
DEFAULT_ADMIN_ROLE() 282 282 282 282 1456
FLASH_BORROWER_ROLE() 315 315 315 315 20
POOL_ADMIN_ROLE() 292 292 292 292 718
addAssetListingAdmin(address) 50955 50955 50955 50955 3
addBridge(address) 51021 51021 51021 51021 14
addEmergencyAdmin(address) 50956 50956 50956 50956 3
addFlashBorrower(address) 50977 52114 50977 55528 4
addPoolAdmin(address) 50988 50999 51000 51000 705
addRiskAdmin(address) 51021 51021 51021 51021 14
grantRole(bytes32,address) 51474 52044 51474 56036 8
hasRole(bytes32,address) 737 2526 2737 2737 19
isAssetListingAdmin(address) 809 1827 2809 2809 1400
isBridge(address) 2786 2786 2786 2786 26
isEmergencyAdmin(address) 742 2608 2742 2742 30
isFlashBorrower(address) 2828 2828 2828 2828 13
isPoolAdmin(address) 752 845 752 2752 23827
isRiskAdmin(address) 742 836 742 2742 20873
removeAssetListingAdmin(address) 29047 29047 29047 29047 2
removeBridge(address) 29016 29016 29016 29016 1
removeEmergencyAdmin(address) 28992 28992 28992 28992 1
removeFlashBorrower(address) 29015 42272 42272 55529 2
removePoolAdmin(address) 29045 29045 29045 29045 1
removeRiskAdmin(address) 28992 28992 28992 28992 1
setRoleAdmin(bytes32,bytes32) 48883 49717 48883 53887 6

PoolAddressesProvider

  • size: 8178 / 49152
Method min mean median max calls
getACLAdmin() 477 551 477 2477 750
getACLManager() 531 627 531 2531 23868
getAddress(bytes32) 543 874 543 2543 5961
getMarketId() 1346 1346 1346 1346 6
getPool() 466 1121 466 2466 5204
getPoolConfigurator() 509 569 509 2509 36058
getPoolDataProvider() 486 1168 486 2486 2146
getPriceOracle() 574 2147 2574 2574 769
getPriceOracleSentinel() 487 2387 2487 2487 342
owner() 363 363 363 363 723
setACLAdmin(address) 24013 45794 47617 47617 24
setACLManager(address) 24056 37484 39110 47660 4
setAddress(bytes32,address) 24622 35608 31536 48636 5
setAddressAsProxy(bytes32,address) 24328 224316 57038 507830 5
setMarketId(string) 24420 28552 28552 32684 2
setPoolConfiguratorImpl(address) 24012 287005 295057 533894 4
setPoolDataProvider(address) 24101 37529 39155 47705 4
setPoolImpl(address) 24057 273450 281500 506744 4
setPriceOracle(address) 24080 37508 39134 47684 4
setPriceOracleSentinel(address) 24123 40943 47727 47727 6

PoolAddressesProviderRegistry

  • size: 2642 / 49152
Method min mean median max calls
getAddressesProviderAddressById(uint256) 519 519 519 519 4
getAddressesProviderIdByAddress(address) 556 1222 556 2556 6
getAddressesProvidersList() 671 3400 3288 5014 5
owner() 329 2323 2329 2329 720
registerAddressesProvider(address,uint256) 24438 104006 119920 119920 6
unregisterAddressesProvider(address) 26441 39021 39997 49652 4

EmissionManager

  • size: 3891 / 49152
Method min mean median max calls
configureAssets((uint88,uint256,uint32,address,address,address,address)[]) 283942 287570 289716 289716 32
getEmissionAdmin(address) 547 547 547 547 6
getRewardsController() 385 1385 1385 2385 2
owner() 384 384 384 384 2
setClaimer(address,address) 58795 58795 58795 58795 5
setDistributionEnd(address,address,uint32) 43712 43712 43712 43712 2
setEmissionAdmin(address,address) 48602 48609 48614 48614 42
setEmissionPerSecond(address,address[],uint88[]) 60862 60862 60862 60862 2
setRewardOracle(address,address) 46875 46875 46875 46875 2
setRewardsController(address) 28729 28729 28729 28729 1
setTransferStrategy(address,address) 44422 44422 44422 44422 2

RewardsController

  • size: 14293 / 49152
Method min mean median max calls
EMISSION_MANAGER() 326 326 326 326 722
claimAllRewards(address[],address) 91925 91925 91925 91925 1
claimAllRewardsOnBehalf(address[],address,address) 94224 94224 94224 94224 1
claimAllRewardsToSelf(address[]) 91724 91724 91724 91724 1
claimRewards(address[],uint256,address,address) 952 39916 25548 86063 6
claimRewardsOnBehalf(address[],uint256,address,address,address) 88162 88162 88162 88162 1
claimRewardsToSelf(address[],uint256,address) 85665 85665 85665 85665 1
configureAssets((uint88,uint256,uint32,address,address,address,address)[]) 246405 249976 252119 252119 32
getAllUserRewards(address[],address) 8366 8366 8366 8366 1
getAssetDecimals(address) 656 656 656 656 2
getAssetIndex(address,address) 2484 7555 8974 11392 44
getClaimer(address) 625 1625 1625 2625 4
getDistributionEnd(address,address) 789 789 789 789 1
getEmissionManager() 258 258 258 258 5
getRewardOracle(address) 649 649 649 649 1
getRewardsByAsset(address) 1670 2965 3046 5670 122
getRewardsData(address,address) 976 976 976 976 3
getRewardsList() 1111 1111 1111 1111 30
getTransferStrategy(address) 648 648 648 648 1
getUserAccruedRewards(address,address) 1574 1574 1574 1574 1
getUserAssetIndex(address,address,address) 1005 1005 1005 1005 1
getUserRewards(address[],address,address) 6659 7528 6659 12234 12
handleAction(address,uint256,uint256) 728 2595 2728 38069 1320
initialize(address) 26065 45245 45250 53154 720
setClaimer(address,address) 24279 24279 24279 24279 5
setDistributionEnd(address,address,uint32) 8884 8884 8884 8884 2
setEmissionPerSecond(address,address[],uint88[]) 24245 24245 24245 24245 2
setRewardOracle(address,address) 12318 12318 12318 12318 2
setTransferStrategy(address,address) 9855 9855 9855 9855 2

PullRewardsTransferStrategy

  • size: 1577 / 49152
Method min mean median max calls
getRewardsVault() 278 278 278 278 1

StakedTokenTransferStrategy

  • size: 2866 / 49152
Method min mean median max calls
dropApproval() 25881 25881 25881 25881 1
emergencyWithdrawal(address,address,uint256) 52967 52967 52967 52967 1
getIncentivesController() 246 246 246 246 1
getRewardsAdmin() 234 234 234 234 1
getStakeContract() 256 256 256 256 1
getUnderlyingToken() 278 278 278 278 1
performTransfer(address,address,uint256) 27084 27084 27084 27084 1
renewApproval() 27973 27973 27973 27973 1

Collector

  • size: 6862 / 49152
Method min mean median max calls
initialize(address,uint256) 112798 112798 112798 112798 745

RevenueSplitter

  • size: 2355 / 49152
Method min mean median max calls
RECIPIENT_A() 237 237 237 237 3
RECIPIENT_B() 281 281 281 281 3
SPLIT_PERCENTAGE_RECIPIENT_A() 170 170 170 170 18
receive() 0 0 0 0 3
splitNativeRevenue() 23633 69147 80156 92645 4
splitRevenue(address[]) 24246 76565 58340 135765 8

AaveV3GettersBatchOne

  • size: 32403 / 49152
Method min mean median max calls
getGettersReportOne() 968 968 968 968 742

AaveV3GettersBatchTwo

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

AaveV3HelpersBatchOne

  • size: 33652 / 49152
Method min mean median max calls
getConfigEngineReport() 1693 1693 1693 1693 690

AaveV3HelpersBatchTwo

  • size: 31483 / 49152
Method min mean median max calls
staticATokenReport() 968 968 968 968 690

AaveV3L2PoolBatch

  • size: 43924 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 76

AaveV3MiscBatch

  • size: 6961 / 49152
Method min mean median max calls
getMiscReport() 533 533 533 533 742

AaveV3ParaswapBatch

  • size: 31070 / 49152
Method min mean median max calls
getParaswapReport() 757 757 757 757 34

AaveV3PeripheryBatch

  • size: 38646 / 49152
Method min mean median max calls
getPeripheryReport() 1330 3327 3330 5330 742

AaveV3PoolBatch

  • size: 42677 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 666

AaveV3SetupBatch

  • size: 26659 / 49152
Method min mean median max calls
getInitialReport() 586 586 586 586 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)) 607299 609634 607299 728151 690
setupAaveV3Market((address,address,address),(address,address,string,uint8,address,address,uint256,uint256,bytes32,address,uint128,uint128,address,address,address,uint16),address,address,address,address,address,address) 2168120 2661189 2661288 2687083 718

AaveV3TokensBatch

  • size: 20355 / 49152
Method min mean median max calls
getTokensReport() 533 533 533 533 716

MockERC20AaveLMUpgradeable

  • size: 8182 / 49152
Method min mean median max calls
claimRewards(address,address[]) 58570 58570 58570 58570 1
claimRewardsOnBehalf(address,address,address[]) 34384 52104 59108 62822 3
claimRewardsToSelf(address[]) 58089 58089 58089 58089 1
collectAndUpdateRewards(address) 48140 52626 52626 57112 2
getClaimableRewards(address,address) 6181 8042 6589 26280 16
getReferenceAsset() 2495 2495 2495 2495 1
getTotalClaimableRewards(address) 11242 17881 17881 24520 2
getUnclaimedRewards(address,address) 818 818 818 818 2
isRegisteredRewardToken(address) 575 1241 575 2575 3
mint(address,uint256) 53655 91123 97576 97576 11
mockInit(address) 79952 79952 79952 79952 17
refreshRewardTokens() 116384 116425 116392 116810 12
rewardTokens() 1012 1012 1012 1012 1
transfer(address,uint256) 80442 91675 91675 102908 2

MockScaledTestnetERC20

  • size: 5785 / 49152
Method min mean median max calls
decimals() 2333 2333 2333 2333 12
getScaledUserBalanceAndSupply(address) 735 3735 4735 4735 4
mint(address,uint256) 51476 67058 68648 68648 11
scaledTotalSupply() 394 1848 2394 2394 55
transfer(address,uint256) 29803 45405 46975 46975 11

MockERC4626StataTokenUpgradeable

  • size: 9888 / 49152
Method min mean median max calls
approve(address,uint256) 46375 46381 46381 46387 2
balanceOf(address) 607 607 607 607 11
convertToAssets(uint256) 3008 3008 3008 3008 1
convertToShares(uint256) 16009 16009 16009 16009 1
decimals() 540 540 540 540 1
depositATokens(uint256,address) 59116 197691 209809 214773 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 75334 244647 266396 337710 5
latestAnswer() 19836 19836 19836 19836 2
maxDeposit(address) 28852 32414 29121 42564 4
maxMint(address) 9466 9466 9466 9466 1
maxRedeem(address) 2593 5871 7505 7515 3
mint(uint256,address) 73932 192723 192723 311515 2
mockInit(address) 133484 133484 133484 133484 28
previewDeposit(uint256) 3052 11718 16052 16052 3
previewMint(uint256) 3048 3048 3048 3048 1
previewRedeem(uint256) 2984 2984 2984 2984 2
previewWithdraw(uint256) 3030 3030 3030 3030 1
redeem(uint256,address,address) 174785 174785 174785 174785 1
redeemATokens(uint256,address,address) 40814 120775 160381 161131 3
totalAssets() 3001 8001 3001 18001 3
withdraw(uint256,address,address) 51633 114730 114730 177828 2

AaveV3MockAssetEModeUpdate

  • size: 3634 / 49152
Method min mean median max calls
execute() 216991 216991 216991 216991 1

AaveV3MockBorrowUpdate

  • size: 3444 / 49152
Method min mean median max calls
execute() 158842 158842 158842 158842 1

AaveV3MockBorrowUpdateNoChange

  • size: 3474 / 49152
Method min mean median max calls
execute() 46753 46753 46753 46753 1

AaveV3MockCapUpdate

  • size: 3388 / 49152
Method min mean median max calls
execute() 85630 85630 85630 85630 1

AaveV3MockCollateralUpdate

  • size: 3448 / 49152
Method min mean median max calls
execute() 89304 89304 89304 89304 1

AaveV3MockCollateralUpdateNoChange

  • size: 3475 / 49152
Method min mean median max calls
execute() 35569 35569 35569 35569 2

AaveV3MockCollateralUpdateCorrectBonus

  • size: 3448 / 49152
Method min mean median max calls
execute() 89304 89304 89304 89304 1

AaveV3MockCollateralUpdateWrongBonus

  • size: 3452 / 49152
Method min mean median max calls
execute() 35093 35093 35093 35093 1

AaveV3MockEModeCategoryUpdate

  • size: 3219 / 49152
Method min mean median max calls
execute() 128039 128039 128039 128039 2

AaveV3MockEModeCategoryUpdateEdgeBonus

  • size: 3222 / 49152
Method min mean median max calls
execute() 54883 54883 54883 54883 1

AaveV3MockEModeCategoryUpdateNoChange

  • size: 3290 / 49152
Method min mean median max calls
execute() 37511 37511 37511 37511 2

AaveV3MockListing

  • size: 3813 / 49152
Method min mean median max calls
execute() 1793754 1793754 1793754 1793754 1
newListings() 2704 2704 2704 2704 4

AaveV3MockListingCustom

  • size: 4253 / 49152
Method min mean median max calls
execute() 1793841 1793841 1793841 1793841 1
newListingsCustom() 3177 3177 3177 3177 4

AaveV3MockPriceFeedUpdate

  • size: 3484 / 49152
Method min mean median max calls
execute() 64923 64923 64923 64923 1

AaveV3MockRatesUpdate

  • size: 3407 / 49152
Method min mean median max calls
execute() 151119 151119 151119 151119 1
rateStrategiesUpdates() 1175 1175 1175 1175 4

VariableDebtTokenHarness

  • size: 8211 / 49152
Method min mean median max calls
DEBT_TOKEN_REVISION() 305 305 305 305 15
POOL() 282 282 282 282 15
UNDERLYING_ASSET_ADDRESS() 375 1322 375 2375 19
allowance(address,address) 902 902 902 902 1
approve(address,uint256) 22100 22100 22100 22100 1
approveDelegation(address,uint256) 48629 48629 48629 48629 1
burn(address,uint256,uint256) 52003 52009 52009 52015 2
decimals() 334 334 334 334 15
decreaseAllowance(address,uint256) 22121 22121 22121 22121 1
getIncentivesController() 430 430 430 430 15
increaseAllowance(address,uint256) 22121 22121 22121 22121 1
initialize(address,address,address,uint8,string,string,bytes) 30489 152908 179232 224802 8
mint(address,address,uint256,uint256) 86731 87992 86749 91742 4
name() 1259 1318 1259 1554 15
scaledBalanceOf(address) 687 687 687 687 4
symbol() 1280 1358 1280 1575 15
transfer(address,uint256) 22143 22143 22143 22143 1
transferFrom(address,address,uint256) 22369 22369 22369 22369 1

AaveV3TestListing

  • size: 13404 / 49152
Method min mean median max calls
USDX_ADDRESS() 293 293 293 293 682
WBTC_ADDRESS() 249 249 249 249 682
execute() 5113507 5114371 5114437 5114437 685

AugustusRegistryMock

  • size: 190 / 49152
Method min mean median max calls
isValidAugustus(address) 342 342 342 342 108

StakeMock

  • size: 384 / 49152
Method min mean median max calls
STAKED_TOKEN() 175 175 175 175 5

EIP712SigUtils

  • size: 1616 / 49152
Method min mean median max calls
getDomainSeparator(bytes,bytes,address) 1487 1487 1487 1487 2

SlotParser

  • size: 383 / 49152
Method min mean median max calls
loadAddressFromSlot(address,bytes32) 713 951 713 3213 21

@github-actions
Copy link
Contributor

forge 0.0.4 (VERGEN_IDEMPOTENT_OUTPUT 2025-01-24T00:26:16.901962070Z)

@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2025

🔧 Build logs
Compiling 404 files with Solc 0.8.22
Solc 0.8.22 finished in 100.17s
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,108             | 21,083             | 45,044              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ATokenInstance                                 | 10,162           | 11,059            | 14,414             | 38,093              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ATokenMock                                     | 803              | 967               | 23,773             | 48,185              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveOracle                                     | 2,607            | 3,767             | 21,969             | 45,385              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveProtocolDataProvider                       | 9,410            | 9,684             | 15,166             | 39,468              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3BatchOrchestration                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ConfigEngine                             | 7,396            | 8,988             | 17,180             | 40,164              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3DefaultRateStrategyProcedure             | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersBatchOne                          | 229              | 32,307            | 24,347             | 16,845              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersBatchTwo                          | 137              | 11,156            | 24,439             | 37,996              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersProcedureOne                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3GettersProcedureTwo                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersBatchOne                          | 353              | 33,396            | 24,223             | 15,756              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersBatchTwo                          | 229              | 31,387            | 24,347             | 17,765              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersProcedureOne                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3HelpersProcedureTwo                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3IncentiveProcedure                       | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3L2PoolBatch                              | 137              | 43,892            | 24,439             | 5,260               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3L2PoolProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3LibrariesBatch1                          | 353              | 31,276            | 24,223             | 17,876              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3LibrariesBatch2                          | 353              | 41,544            | 24,223             | 7,608               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MiscBatch                                | 137              | 6,833             | 24,439             | 42,319              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MiscProcedure                            | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockAssetEModeUpdate                     | 3,309            | 3,538             | 21,267             | 45,614              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockBorrowUpdate                         | 3,189            | 3,380             | 21,387             | 45,772              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockBorrowUpdateNoChange                 | 3,219            | 3,410             | 21,357             | 45,742              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCapUpdate                            | 3,133            | 3,324             | 21,443             | 45,828              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdate                     | 3,193            | 3,384             | 21,383             | 45,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateCorrectBonus         | 3,193            | 3,384             | 21,383             | 45,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateNoChange             | 3,220            | 3,411             | 21,356             | 45,741              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockCollateralUpdateWrongBonus           | 3,197            | 3,388             | 21,379             | 45,764              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdate                  | 3,049            | 3,187             | 21,527             | 45,965              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdateEdgeBonus         | 3,052            | 3,190             | 21,524             | 45,962              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockEModeCategoryUpdateNoChange          | 3,120            | 3,258             | 21,456             | 45,894              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockListing                              | 3,488            | 3,717             | 21,088             | 45,435              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockListingCustom                        | 3,781            | 4,093             | 20,795             | 45,059              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockPriceFeedUpdate                      | 3,159            | 3,388             | 21,417             | 45,764              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3MockRatesUpdate                          | 3,152            | 3,343             | 21,424             | 45,809              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3OracleProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ParaswapBatch                            | 189              | 30,398            | 24,387             | 18,754              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3ParaswapProcedure                        | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PeripheryBatch                           | 292              | 37,942            | 24,284             | 11,210              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolBatch                                | 137              | 42,645            | 24,439             | 6,507               |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolConfigProcedure                      | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3PoolProcedure                            | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3SetupBatch                               | 11,610           | 24,899            | 12,966             | 24,253              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3SetupProcedure                           | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TestListing                              | 4,867            | 12,284            | 19,709             | 36,868              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TokensBatch                              | 137              | 20,323            | 24,439             | 28,829              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TokensProcedure                          | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AaveV3TreasuryProcedure                        | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Address                                        | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AdminUpgradeabilityProxy                       | 1,544            | 2,502             | 23,032             | 46,650              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| AugustusRegistryMock                           | 162              | 190               | 24,414             | 48,962              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseAdminUpgradeabilityProxy                   | 1,536            | 1,565             | 23,040             | 47,587              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseImmutableAdminUpgradeabilityProxy          | 1,302            | 1,469             | 23,274             | 47,683              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BaseUpgradeabilityProxy                        | 108              | 135               | 24,468             | 49,017              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BorrowEngine                                   | 2,486            | 2,539             | 22,090             | 46,613              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BorrowLogic                                    | 12,406           | 12,459            | 12,170             | 36,693              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| BridgeLogic                                    | 6,712            | 6,765             | 17,864             | 42,387              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CalldataLogic                                  | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CapsEngine                                     | 1,136            | 1,189             | 23,440             | 47,963              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| CollateralEngine                               | 2,691            | 2,744             | 21,885             | 46,408              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Collector                                      | 6,825            | 6,862             | 17,751             | 42,290              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ConfiguratorInputTypes                         | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ConfiguratorLogic                              | 6,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,998            | 4,293             | 20,578             | 44,859              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| DeployUtils                                    | 913              | 942               | 23,663             | 48,210              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ECDSA                                          | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EIP712SigUtils                                 | 1,563            | 1,616             | 23,013             | 47,536              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeConfiguration                             | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeEngine                                    | 4,384            | 4,437             | 20,192             | 44,715              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EModeLogic                                     | 3,757            | 3,810             | 20,819             | 45,342              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC1967Proxy                                   | 122              | 967               | 24,454             | 48,185              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC1967Utils                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ERC20                                          | 2,086            | 2,839             | 22,490             | 46,313              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EmissionManager                                | 3,398            | 3,859             | 21,178             | 45,293              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| EngineFlags                                    | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Errors                                         | 4,465            | 4,518             | 20,111             | 44,634              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Faucet                                         | 2,033            | 2,565             | 22,543             | 46,587              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| FlashLoanLogic                                 | 9,469            | 9,522             | 15,107             | 39,630              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| 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,257           | 23,506            | 1,319              | 25,646              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| LiquidationLogic                               | 11,788           | 11,841            | 12,788             | 37,311              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ListingEngine                                  | 6,967            | 7,020             | 17,609             | 42,132              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MarketReportUtils                              | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Math                                           | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MathUtils                                      | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MathUtilsWrapper                               | 917              | 946               | 23,659             | 48,206              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MessageHashUtils                               | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MetadataReporter                               | 12,072           | 12,101            | 12,504             | 37,051              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MintableDelegationERC20                        | 2,534            | 3,319             | 22,042             | 45,833              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MintableERC20                                  | 3,351            | 4,300             | 21,225             | 44,852              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Mock                                           | 183              | 211               | 24,393             | 48,941              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockAToken                                     | 10,164           | 11,063            | 14,412             | 38,089              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockATokenRepayment                            | 10,245           | 11,144            | 14,331             | 38,008              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockAggregator                                 | 134              | 278               | 24,442             | 48,874              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockBadTransferStrategy                        | 998              | 1,187             | 23,578             | 47,965              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockERC20AaveLMUpgradeable                     | 7,932            | 8,150             | 16,644             | 41,002              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockERC4626StataTokenUpgradeable               | 9,500            | 9,856             | 15,076             | 39,296              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanATokenReceiver                    | 2,396            | 2,774             | 22,180             | 46,378              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanReceiver                          | 2,216            | 2,501             | 22,360             | 46,651              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockFlashLoanSimpleReceiver                    | 1,476            | 1,761             | 23,100             | 47,391              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockIncentivesController                       | 132              | 159               | 24,444             | 48,993              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableFromConstructorImple          | 349              | 639               | 24,227             | 48,513              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableImple                         | 1,544            | 1,576             | 23,032             | 47,576              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableImpleV2                       | 1,546            | 1,578             | 23,030             | 47,574              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableV1                            | 307              | 339               | 24,269             | 48,813              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockInitializableV2                            | 309              | 341               | 24,267             | 48,811              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockL2Pool                                     | 23,284           | 23,533            | 1,292              | 25,619              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| 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,199           | 22,475            | 2,377              | 26,677              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReentrantInitializableImple                | 413              | 445               | 24,163             | 48,707              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReserveConfiguration                       | 2,652            | 2,681             | 21,924             | 46,471              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockReserveInterestRateStrategy                | 3,315            | 3,614             | 21,261             | 45,538              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockScaledTestnetERC20                         | 4,101            | 5,529             | 20,475             | 43,623              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockScaledToken                                | 3,999            | 4,761             | 20,577             | 44,391              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| MockVariableDebtToken                          | 7,280            | 8,163             | 17,296             | 40,989              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Ownable                                        | 629              | 722               | 23,947             | 48,430              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Panic                                          | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ParaSwapLiquiditySwapAdapter                   | 8,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,696            | 8,050             | 17,880             | 41,102              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolAddressesProviderRegistry                  | 2,149            | 2,610             | 22,427             | 46,542              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolConfiguratorInstance                       | 19,728           | 19,760            | 4,848              | 29,392              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolInstance                                   | 22,010           | 22,259            | 2,566              | 26,893              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolLogic                                      | 6,748            | 6,801             | 17,828             | 42,351              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PoolStorage                                    | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceFeedEngine                                | 1,531            | 1,584             | 23,045             | 47,568              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceOracle                                    | 469              | 498               | 24,107             | 48,654              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PriceOracleSentinel                            | 1,669            | 1,885             | 22,907             | 47,267              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ProxyAdmin                                     | 990              | 1,235             | 23,586             | 47,917              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ProxyHelpers                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| PullRewardsTransferStrategy                    | 1,255            | 1,481             | 23,321             | 47,671              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RateEngine                                     | 2,297            | 2,350             | 22,279             | 46,802              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ReserveConfiguration                           | 128              | 179               | 24,448             | 48,973              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ReserveLogic                                   | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RevenueSplitter                                | 1,942            | 2,259             | 22,634             | 46,893              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RewardsController                              | 14,067           | 14,261            | 10,509             | 34,891              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| RewardsDataTypes                               | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeCast                                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeERC20                                      | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SafeMath                                       | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SequencerOracle                                | 865              | 1,326             | 23,711             | 47,826              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SigUtils                                       | 492              | 545               | 24,084             | 48,607              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SignedMath                                     | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SlotParser                                     | 330              | 383               | 24,246             | 48,769              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StakeMock                                      | 355              | 384               | 24,221             | 48,768              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StakedTokenTransferStrategy                    | 2,060            | 2,770             | 22,516             | 46,382              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StataTokenFactory                              | 3,489            | 3,762             | 21,087             | 45,390              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StataTokenV2                                   | 18,929           | 19,631            | 5,647              | 29,521              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| StorageSlot                                    | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| Strings                                        | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| SupplyLogic                                    | 11,680           | 11,733            | 12,896             | 37,419              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TestnetERC20                                   | 3,981            | 5,401             | 20,595             | 43,751              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TransparentProxyFactory                        | 6,830            | 6,859             | 17,746             | 42,293              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| TransparentUpgradeableProxy                    | 1,088            | 3,582             | 23,488             | 45,570              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UiIncentiveDataProviderV3                      | 9,046            | 9,075             | 15,530             | 40,077              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UiPoolDataProviderV3                           | 9,859            | 10,070            | 14,717             | 39,082              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UpgradeabilityProxy                            | 108              | 855               | 24,468             | 48,297              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| UserConfiguration                              | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| ValidationLogic                                | 189              | 241               | 24,387             | 48,911              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| VariableDebtTokenHarness                       | 7,296            | 8,179             | 17,280             | 40,973              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| VariableDebtTokenInstance                      | 7,278            | 8,159             | 17,298             | 40,993              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9                                          | 1,886            | 2,357             | 22,690             | 46,795              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9Mock                                      | 2,641            | 3,875             | 21,935             | 45,277              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WETH9Mocked                                    | 2,192            | 2,663             | 22,384             | 46,489              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WadRayMath                                     | 44               | 94                | 24,532             | 49,058              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WadRayMathWrapper                              | 816              | 845               | 23,760             | 48,307              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WalletBalanceProvider                          | 2,557            | 2,586             | 22,019             | 46,566              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WalletMock                                     | 21               | 47                | 24,555             | 49,105              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| WrappedTokenGatewayV3                          | 5,722            | 6,600             | 18,854             | 42,552              |
╰------------------------------------------------+------------------+-------------------+--------------------+---------------------╯

@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2025

🌈 Test Results
No files changed, compilation skipped

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

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

Ran 9 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 408476)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 710400)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 421884)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 635690)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 622301)
[PASS] test_transfer_partialAmount() (gas: 421960)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 635750)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 406943)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 620716)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 73.24ms (24.34ms 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: 259854)
[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: 259125)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129290)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 46.32ms (4.39ms 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 56.75ms (12.65ms 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 43.56ms (479.09µs CPU time)

Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26163)
[PASS] test_cancelPermit() (gas: 100693)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32906)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46698)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47177)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55087)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46525)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 54947)
[PASS] test_submitPermit() (gas: 94296)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 48.25ms (6.00ms 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 42.81ms (2.29ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77965)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70878)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71617)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 43.04ms (760.80µ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, μ: 389638, ~: 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.36s (1.32s CPU time)

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

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 54432012)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 62581230)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53908850)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 64408546)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 63088308)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 168.21ms (161.86ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4555943)
[PASS] test10StaticATokenDeployment() (gas: 6781622)
[PASS] test1AaveV3GettersDeployment() (gas: 7829460)
[PASS] test2AaveV3PoolDeployment() (gas: 8634292)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8885086)
[PASS] test4PeripheralsRelease() (gas: 6530892)
[PASS] test5MiscDeployment() (gas: 929335)
[PASS] test6ParaswapRelease() (gas: 5542642)
[PASS] test7SetupMarket() (gas: 2690452)
[PASS] test8TokensMarket() (gas: 3900674)
[PASS] test9ConfigEngineDeployment() (gas: 6574908)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54428398)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 28.08ms (15.61ms 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, μ: 413792, ~: 413800)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 414000, ~: 414008)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 281035, ~: 281036)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.66s (6.62s 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 54.41ms (9.67ms 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: 701561)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706186)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290816)
[PASS] test_pool_defaultValues() (gas: 4487372)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81867, ~: 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: 4499520)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40463, ~: 40463)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22754, ~: 22754)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 974661)
[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, μ: 36898, ~: 36991)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904581)
[PASS] test_setUserEmode() (gas: 232430)
[PASS] test_setUserEmode_twice() (gas: 376864)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985682)
[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.31s (1.27s CPU time)

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472600)
[PASS] test_getter_getMarketId() (gas: 1435029)
[PASS] test_new_PoolAddressesProvider() (gas: 1444259)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448435)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453612)
[PASS] test_reverts_setters_notOwner() (gas: 1451221)
[PASS] test_setACLManager_changeContract() (gas: 3014111)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248064)
[PASS] test_setAddress() (gas: 1462527)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020261)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132633)
[PASS] test_setAddress_updateAddress() (gas: 1471653)
[PASS] test_setPoolConfiguratorImpl() (gas: 5939538)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10459574)
[PASS] test_setPoolDataProvider() (gas: 1463045)
[PASS] test_setPoolImpl() (gas: 6370581)
[PASS] test_setPoolImpl_upgrade() (gas: 10890175)
[PASS] test_setPriceOracle() (gas: 1463202)
[PASS] test_setPriceOracleSentinel() (gas: 1463073)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472677)
[PASS] test_setPriceOracle_changeContract() (gas: 1472938)
[PASS] test_setter_setMarketId() (gas: 1446179)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 57.50ms (10.53ms 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, μ: 1047204, ~: 1047313)
[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 5.25s (5.20s 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 81.01ms (6.71ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 289989)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 270130)
[PASS] test_configureEmodeCategory() (gas: 118599)
[PASS] test_removeBorrowableFromEmode() (gas: 198571)
[PASS] test_removeCollateralFromEmode() (gas: 246630)
[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: 218483)
[PASS] test_setAssetCollateralInEMode() (gas: 198593)
[PASS] test_updateEModeCategory() (gas: 207378)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 89.66ms (20.09ms CPU time)

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

Ran 2 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 101104)
[PASS] test_initializeShouldRevert() (gas: 21687)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 84.02ms (496.35µ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: 547028)
[PASS] test_deposit_shouldRevert() (gas: 472828)
[PASS] test_mint_shouldRevert() (gas: 476882)
[PASS] test_redeem_shouldRevert() (gas: 566691)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 544936)
[PASS] test_withdraw_shouldRevert() (gas: 562525)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 373.97ms (280.78ms 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 47.38ms (1.97ms CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 764759, ~: 764764)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 190095)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 217036)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 443975)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.14s (3.10s 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, μ: 121635, ~: 121727)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114273, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71450, ~: 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, μ: 64221, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64381, ~: 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 17.98s (17.94s 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 4.67s (4.62s 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, μ: 2736526, ~: 2736512)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2810084, ~: 2808686)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2821319, ~: 2822891)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572767)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2823354, ~: 2823000)
[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, μ: 2623743, ~: 2623873)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3675655, ~: 3673966)
[PASS] test_reverts_operation_not_supported() (gas: 1591370)
[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, μ: 2821866, ~: 2822915)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 7.03s (6.99s CPU time)

Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 3687087)
[PASS] testBorrowUpdatesNoChange() (gas: 2714888)
[PASS] testBorrowsUpdates() (gas: 2777900)
[PASS] testCapsUpdate() (gas: 2719557)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2735174)
[PASS] testCollateralUpdateWrongBonus() (gas: 732663)
[PASS] testCollateralsUpdates() (gas: 2734694)
[PASS] testCollateralsUpdatesNoChange() (gas: 2713029)
[PASS] testEModeCategoryUpdates() (gas: 2803542)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2708370)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 720983)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1702778)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 739643)
[PASS] testListings() (gas: 5904658)
[PASS] testListingsCustom() (gas: 9626945)
[PASS] testPriceFeedsUpdates() (gas: 2795387)
[PASS] testRateStrategiesUpdates() (gas: 2785214)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.67s (22.62s 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, μ: 13325, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10493, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10782, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12128, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 316.33ms (314.59ms CPU time)

Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52831017)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 53320377)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 63.89ms (58.15ms 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 62.80ms (13.68ms 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 52.16ms (6.23ms 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 57.26ms (2.73ms 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 45.90ms (575.79µs CPU time)

Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 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 62.78ms (16.80ms CPU time)

Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4555922)
[PASS] test10ConfigEngineDeployment() (gas: 6574845)
[PASS] test11StaticATokenDeployment() (gas: 6781639)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7017541)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6500701)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2130240)
[PASS] test3AaveV3PoolDeployment() (gas: 8634258)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8885032)
[PASS] test5PeripheralsRelease() (gas: 6530915)
[PASS] test6MiscDeployment() (gas: 1360585)
[PASS] test7ParaswapDeployment() (gas: 5542665)
[PASS] test8SetupMarket() (gas: 2715015)
[PASS] test9TokensMarket() (gas: 3900822)
[PASS] testCheckInitCodeSizeBatchs() (gas: 1016663)
Logs:
  AaveV3SetupBatch 24899
  AaveV3L2PoolBatch 43892
  AaveV3PoolBatch 42645
  AaveV3PeripheryBatch 37942
  AaveV3MiscBatch 6833
  AaveV3ParaswapBatch 30398
  AaveV3GettersBatchOne 32307
  AaveV3GettersBatchTwo 11156
  AaveV3TokensBatch 20323
  AaveV3HelpersBatchOne 33396
  AaveV3HelpersBatchTwo 31387
  AaveV3PeripheryBatchTreasuryPartner 37942

Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 22.06ms (9.60ms 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 4.35s (4.30s CPU time)

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

Ran 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 930821)
[PASS] test_claimAllRewards() (gas: 886490)
[PASS] test_claimAllRewardsOnBehalf() (gas: 920195)
[PASS] test_claimAllRewardsToSelf() (gas: 886117)
[PASS] test_claimRewards() (gas: 883402)
[PASS] test_claimRewardsOnBehalf() (gas: 921921)
[PASS] test_claimRewardsToSelf() (gas: 883084)
[PASS] test_claimRewards_partial() (gas: 883739)
[PASS] test_claimRewards_zero() (gas: 636115)
[PASS] test_claimRewards_zero_with_rewards() (gas: 642727)
[PASS] test_configureAssets() (gas: 617301)
[PASS] test_initialize_no_op() (gas: 3625231)
[PASS] test_new_RewardsController() (gas: 3601581)
[PASS] test_reverts_initialize_twice() (gas: 3626810)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633160)
[PASS] test_setEmissionPerSecond() (gas: 637169)
[PASS] test_setRewardOracle() (gas: 710918)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913390)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 62.96ms (15.16ms 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 42.86ms (321.15µs CPU time)

Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18982)
[PASS] test_emergencyTransfer() (gas: 211683)
[PASS] test_getters() (gas: 18731)
[PASS] test_performTransfer() (gas: 22028)
[PASS] test_renewApproval() (gas: 23102)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 43.44ms (1.39ms 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 53.05ms (7.37ms 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: 1837748)
[PASS] test_setReserveInterestRateData() (gas: 156713)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1015446)
[PASS] test_updateAToken() (gas: 2311807)
[PASS] test_updateVariableDebtToken() (gas: 1708992)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 51.04ms (5.53ms CPU time)

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

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423731)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 48.20ms (1.33ms 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: 366198)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 51.70ms (3.37ms 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.25s (1.21s 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 45.91ms (1.06ms CPU time)

Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 196298)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 758318)
[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: 955966)
[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: 1062373)
[PASS] test_withdrawAndSwap() (gas: 825895)
[PASS] test_withdrawAndSwap_permit() (gas: 869050)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 533093)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 91.07ms (45.15ms 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, μ: 10586, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10648, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 111.24ms (110.10ms 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: 562697)
[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 62.39ms (17.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: 149701)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2623442, ~: 2623438)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2613853, ~: 2614242)
[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, μ: 2865983, ~: 2865327)
[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, μ: 2601415, ~: 2601100)
[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, μ: 136633, ~: 138981)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138283, ~: 138598)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74859)
[PASS] test_setPoolPause() (gas: 138567)
[PASS] test_setPoolPause_unpause() (gas: 196161)
[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 5.25s (8.24s 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, μ: 835600, ~: 796595)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 831060, ~: 796809)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 771462, ~: 772820)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 867014, ~: 829207)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 834746, ~: 796508)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772087, ~: 773744)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 815861, ~: 792863)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 822384)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 633216)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 52824)
[PASS] test_rewardTokens() (gas: 631357)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 847532, ~: 863387)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 804828, ~: 797439)
[PASS] test_zeroIncentivesController() (gas: 37692)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.04s (21.99s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524267, ~: 524350)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 462954)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 655718)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 200581)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1102314, ~: 1102404)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 209854)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296433, ~: 299963)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016281, ~: 1016497)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919271, ~: 919470)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975502, ~: 975721)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 13.81s (13.77s CPU time)

Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 215797)
[PASS] test_flashloan_borrow() (gas: 531867)
[PASS] test_flashloan_multiple() (gas: 328658)
[PASS] test_flashloan_simple() (gas: 180097)
[PASS] test_flashloan_simple_2() (gas: 180097)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212581)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183506)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 156855)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 105548)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 102299)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 167803, ~: 135774)
[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: 208348)
[PASS] test_reverts_flashloans_eoa() (gas: 113081)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 848878)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 881319)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.49s (1.45s 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: 364456)
[PASS] test_getUserAccountData_twoSupplies() (gas: 676432)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1086893)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 58.80ms (9.09ms CPU time)

Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1334853)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1540628)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1397123)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1422741)
[PASS] test_liquidate_isolated_position() (gas: 1326035)
[PASS] test_liquidate_variable_borrow() (gas: 1434969)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1159835)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1094977)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1263808, ~: 1263808)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1451946, ~: 1462217)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1451037, ~: 1460112)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1468227, ~: 1477042)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1273109)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1221011)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 615629)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 590132)
[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 22.34s (22.30s CPU time)

Ran 8 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 616743)
[PASS] test_liquidationCall_deficit() (gas: 868622)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1059529)
[PASS] test_liquidationCall_full() (gas: 868732)
[PASS] test_liquidationCall_partial() (gas: 848989)
[PASS] test_repay() (gas: 775206)
[PASS] test_supply() (gas: 1096946)
[PASS] test_withdraw() (gas: 432411)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 77.90ms (29.08ms 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, μ: 43617, ~: 43617)
[PASS] test_depositATokens(uint128,uint256,address) (runs: 1000, μ: 523470, ~: 523848)
[PASS] test_depositATokens_self() (gas: 523950)
Logs:
  Bound result 1000000000000000000
  Bound result 1000000000000000000

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 556219, ~: 556796)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 529524, ~: 529917)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 466972, ~: 466830)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 396279, ~: 396176)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 488221, ~: 488092)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 387162, ~: 387068)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37293)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42237, ~: 42268)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 115037, ~: 115249)
[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, μ: 975592, ~: 975707)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 548899, ~: 548812)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 519000, ~: 518900)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 459407, ~: 459256)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 250578, ~: 250420)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 578783, ~: 578624)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 585060, ~: 584932)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 605608, ~: 605422)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 537895, ~: 538524)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26095)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 582627, ~: 582461)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 523242, ~: 523074)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 33.43s (33.39s CPU time)

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

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597826)
[PASS] test_proxy_upgradeTo() (gas: 619697)
[PASS] test_proxy_upgradeToAndCall() (gas: 625580)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594922)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600809)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598615)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.53ms (2.13ms 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: 1112139)
[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, μ: 633098, ~: 643884)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 421468, ~: 421470)
[PASS] test_l2_withdraw() (gas: 246075)
[PASS] test_mintToTreasury() (gas: 701673)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706232)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290883)
[PASS] test_pool_defaultValues() (gas: 4487361)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81911, ~: 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: 4499542)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40353, ~: 40353)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 974641)
[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, μ: 36799, ~: 36903)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904558)
[PASS] test_setUserEmode() (gas: 232521)
[PASS] test_setUserEmode_twice() (gas: 376846)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985619)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240399)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277962)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 7.06s (7.90s 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.33ms (261.80µs 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, μ: 606517, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 572939, ~: 564490)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 578194, ~: 570000)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 526229, ~: 517980)
[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.54s (15.61s 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 62.07s (7.83s 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, μ: 1050014, ~: 1050013)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 94454238, ~: 55784543)
[PASS] test_initReserves_zeroAssets() (gas: 62094)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 385218047, ~: 347044212)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 140.06s (187.98s CPU time)

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

@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2025

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

@sakulstra sakulstra merged commit 7d706f0 into aave-dao:main Jan 29, 2025
4 checks passed
@sakulstra sakulstra deleted the feat/upgrade-factory branch January 29, 2025 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants