Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: update to use new proxy #75

Merged
merged 4 commits into from
Nov 19, 2024

Conversation

sakulstra
Copy link
Contributor

@sakulstra sakulstra commented Nov 18, 2024

Upgrades solidity-utils.

This has some implications:

  • stata operations are considerably cheaper.
  • treasury uses the new proxy, making interactions with the treasury cheaper as well. Only for new deployments ofc.

There are two slightly debatable changes:

I don't really see why changeAdmin would be required, but one might want to consider copying the old ProxyAdmin to the repo. Wdyt?


Also fixes a minor issue with the name on stata being still set as Static

Copy link

github-actions bot commented Nov 18, 2024

Gas report

ProxyAdmin

  • size: 0 / 49152
Method min mean median max calls
owner() ↓-25%288 ↓-25%288 ↓-25%288 ↓-25%288 2

TransparentUpgradeableProxy

  • size: 0 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() ↓-4.7%6964 ↓-4.7%6964 ↓-4.7%6964 ↓-4.7%6964 3
INCENTIVES_CONTROLLER() ↓-31%789 ↓-31%789 ↓-31%789 ↓-31%789 1
STATA_TOKEN_IMPL() ↓-31%5187 ↓-31%5187 ↓-31%5187 ↓-31%5187 1
aToken() ↓-10%2974 ↓-10%2974 ↓-10%2974 ↓-10%2974 1
allowance(address,address) ↓-22%1251 ↓-22%1251 ↓-22%1251 ↓-22%1251 1
asset() ↓-11%2888 ↓-11%2888 ↓-11%2888 ↓-11%2888 1
balanceOf(address) ↓-24%1095 ↓-24%1095 ↓-24%1095 ↓-24%1095 1
canPause(address) ↓-12%16552 ↓-12%16552 ↓-12%16552 ↓-12%16552 2
claimRewardsToSelf(address[]) ↓-7.3%29831 ↓-7.3%29831 ↓-7.3%29831 ↓-7.3%29831 1
createStataTokens(address[]) ↓-22%1961825 ↓-22%1961825 ↓-22%1961825 ↓-22%1961825 ↓-17%19
decimals() ↓-25%1057 ↓-25%1057 ↓-25%1057 ↓-25%1057 1
deposit(uint256,address) ↓-0.79%293821 ↓-0.79%293821 ↓-0.79%293821 ↓-0.79%293821 1
depositATokens(uint256,address) ↓-1.3%178370 ↓-1.1%211802 ↓-1.1%220160 ↓-1.1%220160 5
emergencyTokenTransfer(address,address,uint256) ↓-6.6%32961 ↓-2.2%106705 ↓-2.1%110893 ↓-1.3%172073 4
getReferenceAsset() ↓-11%2930 ↓-11%2930 ↓-11%2930 ↓-11%2930 1
getStataToken(address) ↓-26%1011 ↓-26%1011 ↓-26%1011 ↓-26%1011 ↓-17%19
maxRedeem(address) ↓-4.2%7914 ↓-4.2%7914 ↓-4.2%7914 ↓-4.2%7914 2
maxWithdraw(address) ↓-3.2%10580 ↓-3.2%10580 ↓-3.2%10580 ↓-3.2%10580 1
mint(uint256,address) ↓-0.79%293915 ↓-0.79%293915 ↓-0.79%293915 ↓-0.79%293915 1
name() ↓-22%8322 ↓-22%8322 ↓-22%8322 ↓-22%8322 1
nonces(address) ↓-23%7718 ↓-23%7718 ↓-23%7718 ↓-23%7718 3
paused() ↓-28%908 ↓-24%4158 ↓-24%4158 ↓-24%7408 2
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) ↓-7.5%29083 ↓-3.8%58891 ↓-3.7%61566 ↓-2.6%86025 3
previewDeposit(uint256) ↓-10%20901 ↓-10%20901 ↓-10%20901 ↓-10%20901 1
redeem(uint256,address,address) ↓-3.8%58634 ↓-3.8%58634 ↓-3.8%58634 ↓-3.8%58634 1
setPaused(bool) ↓-5.9%37742 ↓-3.9%58214 ↓-3.7%61139 ↓-3.7%61139 8
symbol() ↓-8.3%3834 ↓-8.3%3834 ↓-8.3%3834 ↓-8.3%3834 1
transfer(address,uint256) ↓-7.4%29341 ↓-7.4%29341 ↓-7.4%29341 ↓-7.4%29341 1
withdraw(uint256,address,address) ↓-3.7%61301 ↓-3.7%61301 ↓-3.7%61301 ↓-3.7%61301 1

WETH9

  • size: 2354 / 49152
Method min mean median max calls
decimals() 2312 2312 2312 2312 ↓-1.2%675

StataTokenFactory

  • size: 0 / 49152
Method min mean median max calls
createStataTokens(address[]) ↓-22%1934402 ↓-22%1934402 ↓-22%1934402 ↓-22%1934402 ↓-17%19
getStataToken(address) 569 569 569 569 ↓-17%19
initialize() 24103 24103 24103 24103 ↓-0.61%647

StataTokenV2

  • size: 0 / 49152
Method min mean median max calls
initialize(address,string,string) 25518 ↓-0.27%230800 232108 239108 ↓-17%58

AaveV3ConfigEngine

  • size: 0 / 49152
Method min mean median max calls
listAssetsCustom((string,string),((address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address))[]) 1803763 5189335 5194695 5194695 ↓-0.62%641

AaveProtocolDataProvider

  • size: 0 / 49152
Method min mean median max calls
getATokenTotalSupply(address) 12822 13648 12866 25922 ↓-0.61%1948
getIsVirtualAccActive(address) 3245 ↑0.15%3266 3267 3267 ↑1,000%126
getPaused(address) 3333 ↓-9.5%3426 3355 5355 ↑500%138
getReserveConfigurationData(address) 3659 ↓-10%3977 3681 17181 ↑150%192
getReserveTokensAddresses(address) 9510 ↑4.5%13311 9554 43054 ↑26%561

ATokenInstance

  • size: 11090 / 49152
Method min mean median max calls
POOL() 326 326 326 326 ↓-11%98
RESERVE_TREASURY_ADDRESS() 419 ↓-61%682 ↓-83%419 2419 ↑380%144
UNDERLYING_ASSET_ADDRESS() 441 ↓-45%1267 ↓-82%441 2441 ↑98%208
balanceOf(address) 2749 5861 4749 17749 240
decimals() 356 ↓-65%649 ↓-85%356 2356 ↑410%143
getIncentivesController() 474 ↓-40%505 474 2474 ↑1,000%126
initialize(address,address,address,address,uint8,string,string,bytes) 166674 ↑2.5%194824 187036 299168 ↑5%2174
name() 1004 ↓-20%2151 ↓-52%1554 3259 ↑58%280
scaledBalanceOf(address) 687 ↑0.2%1969 2687 2687 ↑0.66%304
symbol() ↓-19%1069 ↓-22%2142 ↓-51%1619 3324 ↑65%262
totalSupply() 407 2726 2407 10463 ↓-0.56%2129
transferFrom(address,address,uint256) 2998 ↑0.11%105754 111936 142842 40

PoolConfiguratorInstance

  • size: 19812 / 49152
Method min mean median max calls
configureReserveAsCollateral(address,uint256,uint256,uint256) 12220 12560 12264 99552 ↓-0.62%1937
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 ↑6.4%4926935 4382378 ↑5.9%202612870 ↓-0.61%651
initialize(address) 72573 90419 90473 90473 ↓-0.59%675
setBorrowCap(address,uint256) 11170 11430 11214 44169 ↓-0.62%1934
setBorrowableInIsolation(address,bool) 10736 11046 10780 43726 ↓-0.62%1935
setDebtCeiling(address,uint256) 17256 44938 41675 98789 ↓-0.61%1941
setLiquidationProtocolFee(address,uint256) 11241 11426 11285 44240 ↓-0.62%1930
setReserveBorrowing(address,bool) 10911 11070 10955 41764 ↓-0.62%1927
setReserveFactor(address,uint256) 17301 43390 36685 124960 ↓-0.62%1926
setReserveFlashLoaning(address,bool) 10910 11051 10954 43918 ↓-0.62%1926
setReservePause(address,bool,uint40) 14424 ↑2.4%39754 ↑2.8%40844 49360 24
setSiloedBorrowing(address,bool) 11281 11493 11325 94206 ↓-0.62%1925
setSupplyCap(address,uint256) 11127 12165 11171 44126 ↓-0.61%1941
updateFlashloanPremiumToProtocol(uint128) 10115 10226 10181 36981 ↓-0.59%676
updateFlashloanPremiumTotal(uint128) 14052 31994 32046 36946 ↓-0.59%676

PoolInstance

  • size: 22300 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 284 284 284 284 ↓-0.61%1953
FLASHLOAN_PREMIUM_TOTAL() 410 1413 2410 2410 ↓-0.65%1228
FLASHLOAN_PREMIUM_TO_PROTOCOL() 459 460 459 2459 ↓-0.65%1225
borrow(address,uint256,uint256,uint16,address) 46604 196181 222258 261378 110
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 ↑0.17%47347 48063 87949 59
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 31365 141199 128904 322330 12
getConfiguration(address) 745 767 745 2745 ↑1.2%18552
getReserveData(address) 5248 ↑0.58%7778 5248 29748 ↑1.6%4710
getReserveNormalizedVariableDebt(address) 889 ↓-0.45%1332 889 6475 ↑1.5%138
getReservesList() 3170 ↑17%8816 11170 ↑790%99923 ↓-4.5%85
initReserve(address,address,address,address) 6564 ↑0.71%165983 161757 207007 ↑5.3%2032
initialize(address) 45378 45474 45378 66895 ↓-0.65%616
liquidationCall(address,address,address,uint256,bool) 53082 ↓-2.8%238214 323142 382539 ↑6.9%31
repayWithATokens(address,uint256,uint256) 155256 161888 162302 165893 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) ↓-13%129766 ↓-4.7%163040 ↓-2.9%149611 209744 3
resetIsolationModeTotalDebt(address) 4265 4278 4265 15265 ↓-0.67%1782
setConfiguration(address,(uint256)) 2170 ↑2.6%4506 2170 24325 19949
setLiquidationGracePeriod(address,uint40) 6386 ↑1%12550 13534 17034 ↑14%16
setUserEMode(uint8) 14165 ↓-0.88%42545 41117 94723 26
syncIndexesState(address) 7211 13935 7211 62577 ↓-0.65%1826
syncRatesState(address) 13459 15980 16005 22505 ↓-0.65%1826
updateFlashloanPremiums(uint128,uint128) 1720 11657 6520 21620 ↓-0.65%1223

VariableDebtTokenInstance

  • size: 8190 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 ↑1,600%122
balanceOf(address) 675 4553 4753 10336 ↑1.4%149
decimals() 334 334 334 334 ↑1,600%122
getIncentivesController() 430 430 430 430 ↑1,600%122
initialize(address,address,address,uint8,string,string,bytes) 143853 ↑3%169474 164290 ↑8.9%276648 ↑5%2174
name() ↓-20%1004 ↓-21%1785 1554 3259 ↑120%212
scaledBalanceOf(address) 687 ↑1.3%1599 687 2687 ↑1.8%114
scaledTotalSupply() 417 1593 2417 2417 ↓-0.45%4854
symbol() ↓-20%1025 ↓-20%1772 1280 3280 ↑130%205

AaveOracle

  • size: 0 / 49152
Method min mean median max calls
getAssetPrice(address) 0 ↑0.41%4941 7865 7865 ↑0.7%577

DefaultReserveInterestRateStrategyV2

  • size: 4323 / 49152
Method min mean median max calls
calculateInterestRates((uint256,uint256,uint256,uint256,uint256,address,bool,uint256)) 0 ↑0.1%2906 2251 5973 ↓-0.43%2785
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) 28329 29729 29080 36782 11
setInterestRateParams(address,bytes) 28674 33755 37121 37133 30

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 890 3796 5390 5457 ↓-0.56%2128
EMISSION_MANAGER() 932 932 932 932 ↓-0.59%674
FLASHLOAN_PREMIUM_TOTAL() 994 2025 2994 7516 ↓-0.59%1352
FLASHLOAN_PREMIUM_TO_PROTOCOL() 1043 1067 1065 7565 ↓-0.59%1349
POOL() 932 ↑6.7%2217 932 5432 ↓-11%98
RESERVE_TREASURY_ADDRESS() 1025 ↓-46%1318 ↓-66%1025 7525 ↑370%145
UNDERLYING_ASSET_ADDRESS() 1003 ↓-44%1551 ↓-66%1047 3047 ↑190%330
approve(address,uint256) 51282 51350 51330 51642 33
balanceOf(address) 1284 7080 5358 22858 ↑0.52%389
borrow(address,uint256,uint256,uint16,address) 73940 224905 249573 288773 120
decimals() 940 ↓-51%1127 ↓-68%962 7462 ↑660%265
deposit(address,uint256,address,uint16) 173118 224226 226046 235646 27
disableLiquidationGracePeriod(address) 43756 58634 66073 66073 3
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 60279 177360 157815 ↑0.34%371618 12
getAssetIndex(address,address) 3099 ↑3.8%9667 9589 16507 ↓-10%44
getConfiguration(address) 1332 1407 1354 7854 ↑1.1%20014
getIncentivesController() 1036 ↓-35%1110 1080 7580 ↑1,200%250
getReserveData(address) 5891 ↑0.42%8623 5935 34935 ↑1.5%5053
getReserveNormalizedVariableDebt(address) 1454 ↓-0.35%2007 1498 11584 ↑1.4%147
getReservesList() 3794 ↑14%10141 11794 ↑520%101310 ↓-4.3%88
getRewardsByAsset(address) 2383 ↑0.55%5472 3658 10883 ↓-9.4%116
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 45683 ↑90%44160279 ↑5.9%1609168 ↑6.2%204174276 9
liquidationCall(address,address,address,uint256,bool) 80670 ↓-2.5%265128 350729 410462 ↑6.9%31
name() 1613 ↓-19%2714 ↓-44%2172 8371 ↑79%494
repayWithATokens(address,uint256,uint256) 182098 187315 187416 193095 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) ↓-8.7%158323 ↓-4.2%183383 ↓-5.1%173367 218460 3
rescueTokens(address,address,uint256) 39090 58089 69188 70457 5
scaledBalanceOf(address) 1296 ↑0.46%3744 3296 7796 ↑0.97%418
scaledTotalSupply() 979 ↑0.23%3069 3023 7523 ↓-0.45%4887
setLiquidationGracePeriod(address,uint40) 32833 37971 37354 43727 6
setPoolPause(bool) 43528 87081 116095 116161 5
setPoolPause(bool,uint40) 43795 88982 88982 134169 2
setReserveInterestRateStrategyAddress(address,address) 32829 ↑0.13%36659 ↑0.27%35547 42713 8
setReservePause(address,bool) ↑0.49%44044 ↑0.12%61263 69873 69873 3
setReservePause(address,bool,uint40) 41288 ↑1.4%66578 ↑1.7%67659 76187 24
setSupplyCap(address,uint256) 43691 66773 70813 70819 18
setUserEMode(uint8) 40463 ↓-0.43%68731 67427 121033 33
supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32) 142306 216808 241875 266245 3
supplyWithPermit(bytes32,bytes32,bytes32) 262502 262502 262502 262502 1
symbol() ↓-14%1634 ↓-27%3084 ↓-44%2193 8436 ↑87%469
totalSupply() 1013 ↑0.11%3749 3013 15569 ↓-0.56%2140
transfer(address,uint256) 27651 124932 140672 166887 18

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
latestAnswer() 279 2098 2279 2279 ↓-0.32%2496

TestnetERC20

  • size: 5652 / 49152
Method min mean median max calls
approve(address,uint256) 26300 46556 46584 46584 3273
balanceOf(address) 648 ↓-0.42%1199 648 2648 428
decimals() 311 ↓-15%1922 2311 2311 ↑28%2010

PercentageMathWrapper

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

WadRayMathWrapper

  • size: 845 / 49152
Method min mean median max calls
rayToWad(uint256) 384 ↑1.3%389 384 ↑3.6%398 5

ACLManager

  • size: 4139 / 49152
Method min mean median max calls
DEFAULT_ADMIN_ROLE() 282 282 282 282 ↓-0.58%1366
POOL_ADMIN_ROLE() 292 292 292 292 ↓-0.59%673
addPoolAdmin(address) 50988 50999 51000 51000 ↓-0.6%660
isAssetListingAdmin(address) 809 1828 2809 2809 ↓-0.61%1310
isPoolAdmin(address) 752 847 752 2752 ↓-0.61%22294
isRiskAdmin(address) 742 ↑0.12%838 742 2742 ↓-0.61%19520

PoolAddressesProvider

  • size: 8177 / 49152
Method min mean median max calls
getACLAdmin() 477 ↑0.18%556 477 2477 ↓-0.56%705
getACLManager() 531 629 531 2531 ↓-0.61%22335
getAddress(bytes32) 543 ↓-0.8%866 543 2543 ↑1.3%5734
getPool() 466 ↓-5%1061 466 2466 ↑8.8%5372
getPoolConfigurator() 509 570 509 2509 ↑0.42%34108
getPoolDataProvider() 486 1169 486 2486 ↓-0.59%2011
getPriceOracle() 574 2023 2574 2574 ↑0.34%589
getPriceOracleSentinel() 487 2308 2487 2487 ↑1.1%191
owner() 363 363 363 363 ↓-0.59%678

PoolAddressesProviderRegistry

  • size: 0 / 49152
Method min mean median max calls
owner() 329 2323 2329 2329 ↓-0.59%675

EmissionManager

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

RewardsController

  • size: 14452 / 49152
Method min mean median max calls
EMISSION_MANAGER() 326 326 326 326 ↓-0.59%677
claimRewards(address[],uint256,address,address) 952 ↓-9.9%51279 ↓-34%55820 ↓-12%86197 ↑14%8
getAssetIndex(address,address) 2484 ↑4%7518 8974 11392 ↓-10%44
getRewardsByAsset(address) 1768 ↓-0.13%2997 3046 5768 ↓-9.4%116
initialize(address) 26065 45244 45250 53154 ↓-0.59%675

Collector

  • size: 0 / 49152
Method min mean median max calls
initialize(address,uint256) 90680 90680 90680 90680 ↓-0.57%700

AaveV3GettersBatchOne

  • size: 32657 / 49152
Method min mean median max calls
getGettersReportOne() 968 968 968 968 ↓-0.57%697

AaveV3GettersBatchTwo

  • size: 11284 / 49152
Method min mean median max calls
getGettersReportTwo() 533 533 533 533 ↓-0.59%671

AaveV3HelpersBatchOne

  • size: 34331 / 49152
Method min mean median max calls
getConfigEngineReport() 1693 1693 1693 1693 ↓-0.62%645

AaveV3HelpersBatchTwo

  • size: ↓-5.3%31319 / 49152
Method min mean median max calls
staticATokenReport() 968 968 968 968 ↓-0.62%645

AaveV3MiscBatch

  • size: 6958 / 49152
Method min mean median max calls
getMiscReport() 533 533 533 533 ↓-0.57%697

AaveV3PeripheryBatch

  • size: ↓-4.1%39150 / 49152
Method min mean median max calls
getPeripheryReport() 1512 3509 3512 5512 ↓-0.57%697

AaveV3PoolBatch

  • size: 42738 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 ↓-0.64%621

AaveV3SetupBatch

  • size: 26831 / 49152
Method min mean median max calls
getInitialReport() 552 552 552 552 ↓-0.57%697
setMarketReport((address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address)) 629994 632492 629994 750834 ↓-0.62%645
setupAaveV3Market((address,address,address),(address,address,string,uint8,address,address,uint256,uint256,bytes32,address,address,uint128,uint128,address,address,address,uint16),address,address,address,address,address,address) 2168391 2661454 2661559 2687366 ↓-0.59%673

AaveV3TokensBatch

  • size: 20353 / 49152
Method min mean median max calls
getTokensReport() 533 533 533 533 ↓-0.59%671

MockERC20AaveLMUpgradeable

  • size: 8658 / 49152
Method min mean median max calls
claimRewards(address,address[]) ↑200%173391 ↑200%173391 ↑200%173391 ↑200%173391 1
claimRewardsOnBehalf(address,address,address[]) 34383 ↓-0.15%90264 ↓-0.63%62489 173920 3
claimRewardsToSelf(address[]) 58155 58155 58155 58155 1
collectAndUpdateRewards(address) 48341 ↓-41%52827 ↓-41%52827 ↓-56%57313 2
getClaimableRewards(address,address) 6181 ↑3.4%7969 6584 26280 ↓-20%16
getUnclaimedRewards(address,address) 818 818 818 818 ↓-67%2
mint(address,uint256) 53655 ↑0.96%91181 97646 97646 ↓-8.3%11
transfer(address,uint256) ↑34%80503 ↑38%91770 ↑38%91770 ↑41%103038 2

MockScaledTestnetERC20

  • size: 5780 / 49152
Method min mean median max calls
getScaledUserBalanceAndSupply(address) 735 ↓-3.8%3401 ↓-21%3735 4735 ↑20%6
mint(address,uint256) ↑0.23%51476 ↑2%67059 68648 68648 ↓-8.3%11
scaledTotalSupply() 394 ↑5%1848 2394 2394 ↓-8.3%55
transfer(address,uint256) 29803 ↑2.9%45406 46975 46975 ↓-8.3%11

MockERC4626StataTokenUpgradeable

  • size: 10278 / 49152
Method min mean median max calls
approve(address,uint256) ↓-0.21%46363 ↓-0.1%46429 ↓-0.1%46429 46495 2
depositATokens(uint256,address) 59760 ↓-0.22%198145 210710 ↓-2.3%210818 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 75899 ↑0.83%245501 ↑8.2%267350 ↓-4.3%338604 5
mint(uint256,address) 74703 193662 193662 312621 2
redeem(uint256,address,address) 174871 174871 174871 174871 1
redeemATokens(uint256,address,address) ↓-0.29%40743 121319 161143 162073 3
withdraw(uint256,address,address) ↓-0.23%51371 114541 114541 ↑0.18%177711 2

VariableDebtTokenHarness

  • size: 8210 / 49152
Method min mean median max calls
approveDelegation(address,uint256) 48677 48677 48677 48677 1
burn(address,uint256,uint256) 52003 52039 52039 52075 2
initialize(address,address,address,uint8,string,string,bytes) ↓-2.6%29815 ↓-11%135752 ↓-25%133804 ↓-0.16%224408 8
mint(address,address,uint256,uint256) 86731 88025 86791 91790 4
name() 1259 ↓-2.9%1298 1259 1554 15
symbol() ↑25%1280 ↓-0.23%1319 1280 1575 15

AaveV3TestListing

  • size: 13561 / 49152
Method min mean median max calls
USDX_ADDRESS() 293 293 293 293 ↓-0.62%637
WBTC_ADDRESS() 249 249 249 249 ↓-0.62%637
execute() 5115928 5116788 5116858 5116858 ↓-0.62%640

Copy link

github-actions bot commented Nov 18, 2024

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

Copy link

github-actions bot commented Nov 18, 2024

🌈 Test Results
No files changed, compilation skipped

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 9.72ms (8.31ms CPU time)

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

Ran 17 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259857)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129479)
[PASS] test_burn_zeroAddress() (gas: 266236)
[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 39.00ms (3.58ms CPU time)

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

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

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

Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17084)
[PASS] test_revert_notAdmin_mint() (gas: 17178)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17210)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17015)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 34.06ms (261.41µ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 40.56ms (5.72ms 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, μ: 10618, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 101.26ms (100.05ms 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 35.56ms (2.13ms CPU time)

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

Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 570637)
[PASS] test_reverts_borrow_cap() (gas: 303661)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81579)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315078)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 658617)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 401639)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 562764)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 432100)
[PASS] test_reverts_borrow_invalidAmount() (gas: 65058)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 383739)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132958)
[PASS] test_reverts_borrow_reserveInactive() (gas: 150130)
[PASS] test_reverts_borrow_reservePaused() (gas: 103659)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315809)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 718093)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406925)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381356)
[PASS] test_variable_borrow() (gas: 349462)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 53.12ms (15.36ms 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, μ: 388980, ~: 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.15s (1.12s CPU time)

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

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

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4574089)
[PASS] test10StaticATokenDeployment() (gas: 6451656)
[PASS] test1AaveV3GettersDeployment() (gas: 7880458)
[PASS] test2AaveV3PoolDeployment() (gas: 8646555)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8897349)
[PASS] test4PeripheralsRelease() (gas: 6591560)
[PASS] test5MiscDeployment() (gas: 929135)
[PASS] test6ParaswapRelease() (gas: 5544910)
[PASS] test7SetupMarket() (gas: 2692725)
[PASS] test8TokensMarket() (gas: 3901080)
[PASS] test9ConfigEngineDeployment() (gas: 6715437)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54403056)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 27.47ms (15.13ms 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, μ: 422679, ~: 422689)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422868, ~: 422897)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 288146, ~: 288150)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.45s (6.41s 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 65.75ms (8.86ms CPU time)

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

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472801)
[PASS] test_getter_getMarketId() (gas: 1435230)
[PASS] test_new_PoolAddressesProvider() (gas: 1444460)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448636)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453813)
[PASS] test_reverts_setters_notOwner() (gas: 1451422)
[PASS] test_setACLManager_changeContract() (gas: 3014312)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248265)
[PASS] test_setAddress() (gas: 1462728)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020462)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132834)
[PASS] test_setAddress_updateAddress() (gas: 1471854)
[PASS] test_setPoolConfiguratorImpl() (gas: 5950177)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10472002)
[PASS] test_setPoolDataProvider() (gas: 1463246)
[PASS] test_setPoolImpl() (gas: 6372591)
[PASS] test_setPoolImpl_upgrade() (gas: 10893985)
[PASS] test_setPriceOracle() (gas: 1463403)
[PASS] test_setPriceOracleSentinel() (gas: 1463274)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472878)
[PASS] test_setPriceOracle_changeContract() (gas: 1473139)
[PASS] test_setter_setMarketId() (gas: 1446381)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 95.96ms (25.63ms 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, μ: 1049370, ~: 1049433)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 3.55s (3.48s 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 55.06ms (5.94ms CPU time)

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

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524457, ~: 524544)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 463155)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 655919)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 200782)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1102529, ~: 1102598)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296273, ~: 299949)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016700, ~: 1016892)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919658, ~: 919865)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975901, ~: 976116)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 12.69s (12.66s CPU time)

Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 216054)
[PASS] test_flashloan_borrow() (gas: 532124)
[PASS] test_flashloan_multiple() (gas: 329244)
[PASS] test_flashloan_simple() (gas: 180097)
[PASS] test_flashloan_simple_2() (gas: 180097)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212771)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183626)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 156852)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 105545)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 102296)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 173311, ~: 137773)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144646)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 177995)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 208345)
[PASS] test_reverts_flashloans_eoa() (gas: 113203)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 857299)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 889860)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.35s (1.32s 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, μ: 853751, ~: 814474)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852630, ~: 814689)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 788842, ~: 790632)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 887418, ~: 847086)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852774, ~: 814387)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789809, ~: 791557)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832408, ~: 811009)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 840155)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 650987)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 53159)
[PASS] test_rewardTokens() (gas: 649128)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 864321, ~: 881340)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 821545, ~: 815321)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 21.89s (21.84s CPU time)

Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 3734271)
[PASS] testBorrowUpdatesNoChange() (gas: 2739264)
[PASS] testBorrowsUpdates() (gas: 2802276)
[PASS] testCapsUpdate() (gas: 2743935)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2759550)
[PASS] testCollateralUpdateWrongBonus() (gas: 755115)
[PASS] testCollateralsUpdates() (gas: 2759070)
[PASS] testCollateralsUpdatesNoChange() (gas: 2737405)
[PASS] testEModeCategoryUpdates() (gas: 2827721)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2730744)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 743235)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1726267)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 760192)
[PASS] testListings() (gas: 5930946)
[PASS] testListingsCustom() (gas: 9653571)
[PASS] testPriceFeedsUpdates() (gas: 2819633)
[PASS] testRateStrategiesUpdates() (gas: 2809438)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 24.44s (24.41s CPU time)

Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52789625)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 53278986)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 45.40ms (39.86ms 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 37.55ms (1.70ms 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 35.44ms (480.33µs CPU time)

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597827)
[PASS] test_proxy_upgradeTo() (gas: 619698)
[PASS] test_proxy_upgradeToAndCall() (gas: 625582)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594923)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600810)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598616)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.34ms (1.85ms 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: 1120666)
[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, μ: 642161, ~: 652771)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428578, ~: 428581)
[PASS] test_l2_withdraw() (gas: 246075)
[PASS] test_mintToTreasury() (gas: 701740)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706366)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290883)
[PASS] test_pool_defaultValues() (gas: 4489170)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81913, ~: 82191)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734652)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25537, ~: 25537)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127785, ~: 127785)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501351)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40728, ~: 40728)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983168)
[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, μ: 36796, ~: 36903)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904358)
[PASS] test_setUserEmode() (gas: 232521)
[PASS] test_setUserEmode_twice() (gas: 377047)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985820)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240399)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277962)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 7.14s (7.11s CPU time)

Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1343394)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1549169)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1405664)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1431282)
[PASS] test_liquidate_isolated_position() (gas: 1334576)
[PASS] test_liquidate_variable_borrow() (gas: 1443510)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1168376)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1103518)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1272407, ~: 1272407)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1461701, ~: 1470816)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1460519, ~: 1468711)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1477278, ~: 1485699)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1281650)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1229552)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 624158)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 598661)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 319337)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160011)
[PASS] test_reverts_liquidation_reservePaused() (gas: 113797)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 20.31s (20.28s 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, μ: 121629, ~: 121713)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114233, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71609, ~: 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, μ: 64161, ~: 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 12.48s (12.44s 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, μ: 606508, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581352, ~: 573379)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 586814, ~: 578889)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 535154, ~: 526869)
[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.31s (14.27s CPU time)

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

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

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48199, ~: 48199)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21930, ~: 21930)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25547, ~: 25547)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22855, ~: 22855)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.26s (3.22s 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: 554867)
[PASS] test_deposit_shouldRevert() (gas: 482629)
[PASS] test_mint_shouldRevert() (gas: 486612)
[PASS] test_redeem_shouldRevert() (gas: 574304)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 552776)
[PASS] test_withdraw_shouldRevert() (gas: 570081)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 187.12ms (153.44ms 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 35.65ms (1.79ms CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 780402, ~: 780408)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 197204)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 224896)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 451778)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.00s (2.96s CPU time)

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

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

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566068, ~: 566601)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537894, ~: 538404)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476745, ~: 476635)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403911, ~: 403824)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498002, ~: 497897)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394786, ~: 394692)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42166, ~: 42190)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114975, ~: 115287)
[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, μ: 990391, ~: 990530)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556732, ~: 556632)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526753, ~: 526664)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467182, ~: 467021)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258150, ~: 257984)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586498, ~: 586332)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593575, ~: 593420)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614093, ~: 613910)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545760, ~: 546288)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26024)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 590273, ~: 590112)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 530948, ~: 530781)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 32.33s (32.30s CPU time)

Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 598376)
[PASS] test_new_EmissionManager() (gas: 758986)
[PASS] test_setClaimer() (gas: 51471)
[PASS] test_setDistributionEnd() (gas: 605645)
[PASS] test_setEmissionAdmin() (gas: 43012)
[PASS] test_setEmissionPerSecond() (gas: 612259)
[PASS] test_setRewardOracle() (gas: 687392)
[PASS] test_setRewardsController() (gas: 19086)
[PASS] test_setTransferStrategy() (gas: 888963)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 37.16ms (2.06ms 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 41.17ms (6.58ms CPU time)

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

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

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423531)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 36.70ms (1.09ms 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, μ: 13328, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10495, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10796, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12117, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 225.33ms (224.08ms 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 43.66ms (11.29ms 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, μ: 143959, ~: 143962)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109245)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.02s (980.77ms CPU time)

Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36071, ~: 36071)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36997, ~: 36997)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34506, ~: 34506)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48170, ~: 48170)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 45375, ~: 45375)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21956, ~: 21956)
[PASS] test_overflow_liquidity_rates() (gas: 59538)
[PASS] test_overflow_variable_rates() (gas: 545863)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 6.07s (6.03s 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, μ: 2738553, ~: 2738844)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2811525, ~: 2811011)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827378, ~: 2825223)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2823960, ~: 2825190)
[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, μ: 2626069, ~: 2626204)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3677427, ~: 3676400)
[PASS] test_reverts_operation_not_supported() (gas: 1591579)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33532)
[PASS] test_scaledBalanceOf() (gas: 321292)
[PASS] test_totalScaledSupply() (gas: 360001)
[PASS] test_totalSupply() (gas: 359930)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827091, ~: 2825247)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.31s (6.27s CPU time)

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

Ran 1 test for tests/protocol/tokenization/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98768)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.98ms (286.43µs 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: 424986)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 385859)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 384777)
[PASS] test_splitFunds_fixed() (gas: 461939)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 462557, ~: 464115)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461191, ~: 462581)
[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, μ: 99814, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.76s (4.00s CPU time)

Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 137081)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 101346)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 130770)
[PASS] test_bridgeProtocolFee() (gas: 72994)
[PASS] test_disableLiquidationGracePeriod() (gas: 80452)
[PASS] test_dropReserve() (gas: 149902)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2624225, ~: 2625902)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2618142, ~: 2616825)
[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, μ: 2872015, ~: 2868009)
[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, μ: 2607034, ~: 2603508)
[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, μ: 136939, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138252, ~: 138187)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74859)
[PASS] test_setPoolPause() (gas: 139170)
[PASS] test_setPoolPause_unpause() (gas: 197367)
[PASS] test_setReserveActive_false() (gas: 122131)
[PASS] test_setReserveActive_true() (gas: 69283)
[PASS] test_setReserveFactor() (gas: 976606)
[PASS] test_setReserveFreeze_false() (gas: 100868)
[PASS] test_setReservePause_false() (gas: 68656)
[PASS] test_setReservePause_true() (gas: 71411)
[PASS] test_setSiloedBorrowing() (gas: 120382)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58261)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58175)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 86.07s (7.36s 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, μ: 1052195, ~: 1052199)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 88351437, ~: 45831783)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 387492772, ~: 353516007)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 130.28s (146.52s CPU time)

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

Ran 60 test suites in 141.87s (404.37s CPU time): 733 tests passed, 0 failed, 0 skipped (733 total tests)

Copy link

github-actions bot commented Nov 18, 2024

forge 0.0.2 (ffc7855 2024-11-19T00:28:37.410652323Z)

Copy link

github-actions bot commented Nov 18, 2024

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

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

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

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

@sakulstra sakulstra merged commit 665b480 into aave-dao:main Nov 19, 2024
4 checks passed
@sakulstra sakulstra deleted the feat/transparent-upgrade branch November 19, 2024 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants