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

fixing fv failures after code update #76

Merged
merged 1 commit into from
Nov 18, 2024

Conversation

MichaelMorami
Copy link
Contributor

No description provided.

@sakulstra sakulstra merged commit 4b8ab37 into aave-dao:certora-patch Nov 18, 2024
6 checks passed
Copy link

Gas report

AaveProtocolDataProvider

  • size: 0 / 49152
Method min mean median max calls
getIsVirtualAccActive(address) 3245 ↑0.15%3266 3267 3267 ↑990%120
getPaused(address) 3333 ↓-9.4%3430 3355 5355 ↑470%132
getReserveConfigurationData(address) 3659 ↓-9.8%3986 3681 17181 ↑140%186
getReserveTokensAddresses(address) 9510 ↑4.4%13287 9554 43054 ↑24%555

ATokenInstance

  • size: 11090 / 49152
Method min mean median max calls
RESERVE_TREASURY_ADDRESS() 419 ↓-60%706 ↓-83%419 2419 ↑360%139
UNDERLYING_ASSET_ADDRESS() 441 ↓-41%1356 ↓-82%441 2441 ↑100%214
balanceOf(address) 2749 5861 4749 17749 240
decimals() 356 ↓-64%662 ↓-85%356 2356 ↑390%137
getIncentivesController() 474 ↓-39%507 474 2474 ↑990%120
initialize(address,address,address,address,uint8,string,string,bytes) 166674 ↑1.1%192040 187036 ↑7.5%321621 ↑5.3%2180
name() 1004 ↓-18%2199 ↓-52%1554 3259 ↑62%286
scaledBalanceOf(address) 687 ↑0.2%1969 2687 2687 ↑0.66%304
symbol() ↓-19%1069 ↓-19%2219 ↓-51%1619 3324 ↑69%268
transferFrom(address,address,uint256) 2998 ↑0.11%105754 111936 142842 40
transferUnderlyingTo(address,uint256) 796 ↑0.64%21743 16488 33627 123

L2PoolInstance

  • size: 0 / 49152
Method min mean median max calls
borrow(address,uint256,uint256,uint16,address) ↑7%217459 ↑0.58%225810 222214 238218 11
repayWithPermit(bytes32,bytes32,bytes32) ↓-1.7%206282 ↓-1.7%206282 ↓-1.7%206282 ↓-1.7%206282 1

PoolConfiguratorInstance

  • size: 19812 / 49152
Method min mean median max calls
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 ↑6%4908597 4382378 ↑5.9%202593601 655
setReservePause(address,bool,uint40) 14424 ↑2.4%39754 ↑2.8%40844 49360 24

PoolInstance

  • size: 22300 / 49152
Method min mean median max calls
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 ↑0.17%47347 48063 87949 59
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 31365 ↓-7.5%130597 ↓-27%93606 322330 12
getConfiguration(address) 745 767 745 2745 ↑1.8%18654
getReserveData(address) 5248 ↑1%7813 5248 29748 ↑2.4%4744
getReserveNormalizedVariableDebt(address) 889 ↓-0.45%1332 889 6475 ↑1.5%138
getReservesList() 3170 ↑13%8509 11170 ↑750%95159 89
initReserve(address,address,address,address) 6564 ↑0.63%165854 161757 207007 ↑5.7%2038
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) ↑3%154052 ↑4%178018 ↑11%170261 209743 3
setConfiguration(address,(uint256)) 2170 ↑2.4%4498 2170 24325 ↑0.55%20075
setLiquidationGracePeriod(address,uint40) 6386 ↑1%12550 13534 17034 ↑14%16
setUserEMode(uint8) 14165 ↓-0.19%42842 41117 94723 26

VariableDebtTokenInstance

  • size: 8190 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 ↑1,600%116
balanceOf(address) 675 4553 4753 10336 ↑1.4%149
decimals() 334 334 334 334 ↑1,600%116
getIncentivesController() 430 430 430 430 ↑1,600%116
initialize(address,address,address,uint8,string,string,bytes) ↑0.12%144032 ↑4.4%171826 164290 ↑8.9%276648 ↑5.3%2180
name() ↓-20%1004 ↓-20%1796 1554 3259 ↑110%206
scaledBalanceOf(address) 687 ↑1.3%1599 687 2687 ↑1.8%114
scaledTotalSupply() 417 1592 2417 2417 4878
symbol() ↓-20%1025 ↓-20%1775 1280 3280 ↑120%199

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
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) ↓-0.21%28269 29709 29056 36770 11
setInterestRateParams(address,bytes) ↓-0.13%28638 33746 37121 37133 30

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
RESERVE_TREASURY_ADDRESS() 1025 ↓-45%1342 ↓-66%1025 7525 ↑350%140
UNDERLYING_ASSET_ADDRESS() 1003 ↓-42%1625 ↓-66%1047 3047 ↑190%330
approve(address,uint256) 51270 51347 51330 51642 33
balanceOf(address) 1284 7080 5358 22858 ↑0.52%389
borrow(address,uint256,uint256,uint16,address) 73940 225049 249573 288773 120
decimals() 940 ↓-50%1135 ↓-68%962 7462 ↑620%253
deposit(address,uint256,address,uint16) 173118 224225 226034 235646 27
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 60279 ↓-13%154892 ↓-22%122514 ↓-5.2%351243 12
getAssetIndex(address,address) 3099 ↑4.2%9704 9589 16507 ↓-10%44
getConfiguration(address) 1332 1407 1354 7854 ↑1.7%20116
getIncentivesController() 1036 ↓-35%1112 1080 7580 ↑1,100%238
getReserveData(address) 5891 ↑0.84%8659 5935 34935 ↑2.2%5087
getReserveNormalizedVariableDebt(address) 1454 ↓-0.35%2007 1498 11584 ↑1.4%147
getReservesList() 3794 ↑11%9813 11794 ↑490%96507 92
getUserRewards(address[],address,address) 7423 8666 7423 17498 12
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 45683 ↑85%43028924 ↑3%1565653 ↑5.9%203616607 9
liquidationCall(address,address,address,uint256,bool) 80670 ↓-2.5%265128 350729 410462 ↑6.9%31
name() 1613 ↓-18%2750 ↓-44%2172 8371 ↑79%494
repayWithATokens(address,uint256,uint256) 182098 187315 187416 193095 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) ↑5.3%182621 ↑3.6%198381 ↑6.2%194053 218471 3
repayWithPermit(bytes32,bytes32,bytes32) ↓-1.7%213788 ↓-1.7%213788 ↓-1.7%213788 ↓-1.7%213788 1
scaledBalanceOf(address) 1296 ↑0.46%3744 3296 7796 ↑0.97%418
scaledTotalSupply() 979 3064 3023 7523 4911
setLiquidationGracePeriod(address,uint40) 32833 37973 37354 43739 6
setPoolPause(bool) 43516 87076 116095 116161 5
setPoolPause(bool,uint40) 43771 88964 88964 134157 2
setReserveInterestRateStrategyAddress(address,address) 32829 36581 ↓-0.3%35343 42713 8
setReservePause(address,bool) ↑0.49%44044 ↑0.12%61263 69873 69873 3
setReservePause(address,bool,uint40) 41264 ↑1.4%66569 ↑1.7%67659 76187 24
setSupplyCap(address,uint256) 43691 66772 70807 70819 18
setUserEMode(uint8) 40475 ↓-0.31%68819 67427 121033 33
supply(address,uint256,address,uint16) 56589 217675 230881 243423 503
supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32) 142390 216836 241875 266245 3
supplyWithPermit(bytes32,bytes32,bytes32) 262478 262478 262478 262478 1
symbol() ↓-14%1634 ↓-24%3206 ↓-44%2193 8436 ↑87%469

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
latestAnswer() 279 2099 2279 2279 ↑0.16%2508

TestnetERC20

  • size: 5652 / 49152
Method min mean median max calls
approve(address,uint256) 26300 46562 46584 46584 3273
decimals() 311 ↓-14%1939 2311 2311 ↑28%2002
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 76493 76505 76505 76517 2

PercentageMathWrapper

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

WadRayMathWrapper

  • size: 845 / 49152
Method min mean median max calls
HALF_WAD() 223 223 223 223 ↓-33%2
WAD() 179 179 179 179 ↓-50%2
wadDiv(uint256,uint256) ↓-21%426 ↓-4.3%515 538 538 5
wadMul(uint256,uint256) ↓-23%333 ↓-3.2%417 431 431 7

PoolAddressesProvider

  • size: 8177 / 49152
Method min mean median max calls
getAddress(bytes32) 543 ↓-0.8%866 543 2543 ↑1.9%5772
getPool() 466 ↓-4.7%1064 466 2466 ↑8.8%5372
getPoolConfigurator() 509 570 509 2509 ↑0.97%34294
getPriceOracle() 574 2023 2574 2574 ↑0.34%589
getPriceOracleSentinel() 487 2308 2487 2487 ↑1.1%191

EmissionManager

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

RewardsController

  • size: 14452 / 49152
Method min mean median max calls
claimRewards(address[],uint256,address,address) 952 56923 84899 97890 7
getAssetIndex(address,address) 2484 ↑4.6%7555 8974 11392 ↓-10%44
getUserRewards(address[],address,address) 6793 7661 6793 12368 12

RevenueSplitter

  • size: 2355 / 49152
Method min mean median max calls
splitRevenue(address[]) 24246 ↓-3.2%74078 58340 135765 8

AaveV3GettersBatchOne

  • size: 32657 / 49152

AaveV3HelpersBatchOne

  • size: 34331 / 49152

AaveV3MiscBatch

  • size: 6958 / 49152

AaveV3PeripheryBatch

  • size: 40844 / 49152

AaveV3PoolBatch

  • size: 42738 / 49152

AaveV3SetupBatch

  • size: 26831 / 49152

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 ↓-42%52148 ↓-5.9%59165 ↓-64%62897 3
claimRewardsToSelf(address[]) 58155 58155 58155 58155 1
collectAndUpdateRewards(address) 48341 89393 89393 130446 2
getClaimableRewards(address,address) ↑0.36%6203 ↑4.4%8044 ↑0.14%6589 26280 ↓-20%16
getTotalClaimableRewards(address) 11367 18010 18010 24654 2
getUnclaimedRewards(address,address) 818 818 818 818 ↓-67%2
mint(address,uint256) 53655 ↑0.96%91181 97646 97646 ↓-8.3%11
transfer(address,uint256) ↑5%63238 ↑8%71875 ↑8%71875 ↑11%80512 2

MockScaledTestnetERC20

  • size: 5780 / 49152
Method min mean median max calls
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) ↓-0.22%59652 198558 210734 215530 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 75899 ↑1.6%247464 ↑8.2%267434 353808 5
mint(uint256,address) 74703 193542 193542 312381 2
redeem(uint256,address,address) ↓-0.16%174703 ↓-0.16%174703 ↓-0.16%174703 ↓-0.16%174703 1
redeemATokens(uint256,address,address) 40863 121383 161215 162073 3
withdraw(uint256,address,address) ↓-0.65%51155 114373 114373 ↑0.12%177591 2

VariableDebtTokenHarness

  • size: 8210 / 49152
Method min mean median max calls
approveDelegation(address,uint256) 48641 48641 48641 48641 1
burn(address,uint256,uint256) 52039 52045 52045 52051 2
initialize(address,address,address,uint8,string,string,bytes) ↑2.3%31309 152417 ↓-13%156705 ↑10%247656 8
mint(address,address,uint256,uint256) 86755 88010 86767 91754 4
name() 1259 ↓-1.7%1314 1259 ↑15%1789 15
symbol() 1025 ↑2.6%1357 1280 ↑15%1810 15

Copy link

🌈 Test Results
No files changed, compilation skipped

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

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

Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 20.76ms (9.16ms 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 53.95ms (10.98ms 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.67ms (263.84µ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.03ms (5.57ms 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.06ms (1.90ms CPU time)

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

Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 161976)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 235451)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 162751)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 229402)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81523)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81564)
[PASS] test_atoken_multiple_transfers() (gas: 201155)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 389335, ~: 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.21s (1.16s 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 40.89ms (3.18ms CPU time)

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 55248859)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 63422699)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 54725670)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 65249815)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 63929776)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 139.73ms (134.03ms CPU time)

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

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

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549349)
[PASS] test_full_withdraw() (gas: 234895)
[PASS] test_full_withdraw_to() (gas: 240423)
[PASS] test_partial_withdraw() (gas: 231403)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 678632)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247376)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249446)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 214658)
[PASS] test_reverts_withdraw_reservePaused() (gas: 287040)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247232)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248243)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 44.91ms (8.24ms 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, μ: 81845, ~: 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, μ: 36873, ~: 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.12s (1.08s 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 56.90ms (9.55ms 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, μ: 1049383, ~: 1049443)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 4.18s (4.14s 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 84.45ms (5.71ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 290190)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 270331)
[PASS] test_configureEmodeCategory() (gas: 118599)
[PASS] test_removeBorrowableFromEmode() (gas: 198772)
[PASS] test_removeCollateralFromEmode() (gas: 247032)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59662)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35793)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34377)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34249)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34162)
[PASS] test_setAssetBorrowableInEMode() (gas: 218684)
[PASS] test_setAssetCollateralInEMode() (gas: 198794)
[PASS] test_updateEModeCategory() (gas: 207378)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 42.22ms (7.71ms 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, μ: 121613, ~: 121713)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114173, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71510, ~: 71769)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39838, ~: 39838)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64141, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64401, ~: 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 14.20s (14.16s 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.45s (3.42s 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, μ: 854526, ~: 814474)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852382, ~: 814689)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789000, ~: 790632)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 886620, ~: 847086)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 853403, ~: 814387)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 790070, ~: 791557)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832505, ~: 811011)
[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, μ: 861593, ~: 881340)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 822318, ~: 815322)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.06s (22.03s 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.58s (3.53s 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 23.63s (23.60s CPU time)

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

Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120613)
[PASS] testRemoveAddressesProvider() (gas: 97154)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242924)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16393)
[PASS] test_removesLastProvider() (gas: 32653)
[PASS] test_revert_registry_0() (gas: 15558)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27603)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 36.90ms (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.02ms (446.37µs CPU time)

Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 371747)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477646)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 124848)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 78895)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 319107)
[PASS] test_supply_eq_cap() (gas: 300294)
[PASS] test_supply_interests_reach_cap() (gas: 438973)
[PASS] test_supply_lt_cap() (gas: 300295)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 41.07ms (6.44ms 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 41.90ms (4.86ms 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 39.96ms (715.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.42ms (1.06ms CPU time)

Ran 5 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] test_calculateCompoundInterest_1() (gas: 10340)
[PASS] test_calculateCompoundInterest_2() (gas: 10337)
[PASS] test_calculateCompoundInterest_edge() (gas: 9166)
[PASS] test_calculateLinearInterest() (gas: 9211)
[PASS] test_constants() (gas: 8334)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.59ms (200.07µs 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 77.09ms (40.50ms 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, μ: 10566, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10596, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 99.06ms (97.86ms 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 51.30ms (15.02ms 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.19s (6.15s 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, μ: 462666, ~: 464116)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461483, ~: 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, μ: 100743, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.01s (4.00s 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.78ms (13.50ms 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 46.64ms (221.74µs 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 33.24ms (1.16ms CPU time)

Ran 3 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] testAdmin() (gas: 22505)
[PASS] test_getters() (gas: 105489)
[PASS] test_initializeShouldRevert() (gas: 24012)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 34.67ms (436.70µs CPU time)

Ran 11 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] testAdmin() (gas: 22549)
[PASS] test_canPause() (gas: 29245)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 29741, ~: 29741)
[PASS] test_claimingRewards_shouldRevert() (gas: 557300)
[PASS] test_deposit_shouldRevert() (gas: 485323)
[PASS] test_mint_shouldRevert() (gas: 489653)
[PASS] test_redeem_shouldRevert() (gas: 577569)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 32802, ~: 32802)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 57013)
[PASS] test_transfer_shouldRevert() (gas: 555209)
[PASS] test_withdraw_shouldRevert() (gas: 572792)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 195.15ms (160.24ms CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] testAdmin() (gas: 22494)
[PASS] test_permit() (gas: 92824)
[PASS] test_permit_expired() (gas: 40599)
[PASS] test_permit_invalidSigner() (gas: 69099)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 36.36ms (1.89ms CPU time)

Ran 5 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] testAdmin() (gas: 22494)
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 785430, ~: 785436)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 199028)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 226775)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 453656)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.89s (2.85s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524453, ~: 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, μ: 1102514, ~: 1102598)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 295595, ~: 299949)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016672, ~: 1016892)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919632, ~: 919865)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975908, ~: 976116)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 12.01s (11.97s 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, μ: 169158, ~: 133842)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144646)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 177995)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 208345)
[PASS] test_reverts_flashloans_eoa() (gas: 113203)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 857299)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 889860)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.27s (1.24s 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, μ: 2738797, ~: 2738837)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2809093, ~: 2810863)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2824223, ~: 2825216)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827410, ~: 2825332)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34223)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111067)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2626070, ~: 2626209)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3676357, ~: 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, μ: 2823482, ~: 2825096)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.26s (6.22s CPU time)

Ran 12 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13279)
[PASS] test_rayDiv() (gas: 12752)
[PASS] test_rayMul() (gas: 11375)
[PASS] test_rayToWad() (gas: 11057)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13325, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10527, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10745, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12094, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 225.61ms (224.35ms 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 52.51ms (19.34ms 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.40ms (1.91ms 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, μ: 642148, ~: 652771)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428577, ~: 428580)
[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, μ: 81923, ~: 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, μ: 36807, ~: 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.10s 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, μ: 531195, ~: 531604)
[PASS] test_depositATokens_self() (gas: 531714)
Logs:
  Bound result 1000000000000000000
  Bound result 1000000000000000000

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566008, ~: 566601)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537862, ~: 538404)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476774, ~: 476635)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403913, ~: 403824)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498044, ~: 497897)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394788, ~: 394692)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42154, ~: 42190)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114960, ~: 115171)
[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, μ: 990397, ~: 990530)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556739, ~: 556632)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526760, ~: 526664)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467183, ~: 467021)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258155, ~: 257984)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586488, ~: 586332)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593586, ~: 593420)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614094, ~: 613910)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545607, ~: 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, μ: 530945, ~: 530781)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 31.02s (30.98s 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 38.32ms (2.18ms CPU time)

Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 107849)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 143962, ~: 143962)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109245)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.04s (1.00s 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, μ: 1460771, ~: 1468711)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1476094, ~: 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.03s (20.01s 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, μ: 2626961, ~: 2626045)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2617298, ~: 2616858)
[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, μ: 2870591, ~: 2868010)
[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, μ: 2604817, ~: 2603604)
[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, μ: 137188, ~: 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 7.43s (7.39s 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, μ: 606272, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581279, ~: 573379)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 587275, ~: 578889)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 534940, ~: 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 90.73s (14.39s 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, μ: 1052201, ~: 1052199)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 88220653, ~: 48191558)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 383794485, ~: 342695712)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 128.81s (145.53s 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 25.37ms (1.23ms CPU time)

Ran 60 test suites in 140.58s (400.46s CPU time): 737 tests passed, 0 failed, 0 skipped (737 total tests)

Copy link

🔮 Coverage report
File Line Coverage Function Coverage Branch Coverage
src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol ${\color{red}63.64\%}$
$21 / 33$
23, 24, 78, 79, 80 and 7 more
${\color{green}100\%}$
$4 / 4$
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol ${\color{red}80\%}$
$4 / 5$
68
${\color{red}66.67\%}$
$2 / 3$
ReentrancyGuard._initGuard
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/contracts/AccessControl.sol ${\color{orange}95\%}$
$19 / 20$
77
${\color{orange}83.33\%}$
$10 / 12$
AccessControl.supportsInterface, AccessControl.getRoleAdmin
${\color{red}80\%}$
$4 / 5$
src/contracts/dependencies/openzeppelin/contracts/ERC165.sol ${\color{red}0\%}$
$0 / 1$
26
${\color{red}0\%}$
$0 / 1$
ERC165.supportsInterface
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/contracts/ERC20.sol ${\color{red}78.05\%}$
$32 / 41$
183, 184, 205, 213, 272 and 4 more
${\color{orange}83.33\%}$
$15 / 18$
ERC20.increaseAllowance, ERC20.decreaseAllowance, ERC20._burn
${\color{red}41.67\%}$
$5 / 12$
src/contracts/dependencies/openzeppelin/contracts/Ownable.sol ${\color{red}80\%}$
$8 / 10$
56, 57
${\color{red}80\%}$
$4 / 5$
Ownable.renounceOwnership
${\color{red}75\%}$
$3 / 4$
src/contracts/dependencies/openzeppelin/contracts/SafeERC20.sol ${\color{red}46.15\%}$
$6 / 13$
26, 51, 52, 60, 61 and 2 more
${\color{red}50\%}$
$3 / 6$
SafeERC20.safeTransferFrom, SafeERC20.safeIncreaseAllowance, SafeERC20.safeDecreaseAllowance
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/contracts/SafeMath.sol ${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$5 / 5$
${\color{red}62.5\%}$
$5 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/AdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 3$
26, 27, 34
${\color{red}0\%}$
$0 / 2$
AdminUpgradeabilityProxy., AdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/BaseAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 17$
36, 39, 47, 54, 63 and 12 more
${\color{red}0\%}$
$0 / 9$
BaseAdminUpgradeabilityProxy.ifAdmin, BaseAdminUpgradeabilityProxy.admin, BaseAdminUpgradeabilityProxy.implementation, BaseAdminUpgradeabilityProxy.changeAdmin, BaseAdminUpgradeabilityProxy.upgradeTo and 4 more
${\color{red}0\%}$
$0 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/Initializable.sol ${\color{red}0\%}$
$0 / 10$
31, 36, 37, 38, 39 and 5 more
${\color{red}0\%}$
$0 / 2$
Initializable.initializer, Initializable.isConstructor
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
26, 27, 28, 29, 36
${\color{red}0\%}$
$0 / 2$
InitializableAdminUpgradeabilityProxy.initialize, InitializableAdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol ${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$1 / 1$
${\color{red}57.14\%}$
$4 / 7$
src/contracts/dependencies/openzeppelin/upgradeability/Proxy.sol ${\color{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$
51, 76, 84
${\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

🔧 Build logs
Compiling 396 files with Solc 0.8.20
Solc 0.8.20 finished in 102.18s
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;
   |     ^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> tests/extensions/stata-token/StataTokenV2Rescuable.sol:47:5:
   |
47 |     address treasury = IAToken(aToken).RESERVE_TREASURY_ADDRESS();
   |     ^^^^^^^^^^^^^^^^

| 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 |            32,983 |             24,347 |              16,169 |
| 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 |            40,108 |             24,255 |               9,044 |
| 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                                   |              129 |             1,179 |             24,447 |              47,973 |
| 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                                     |            1,592 |             1,714 |             22,984 |              47,438 |
| 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,562 |             4,053 |             21,014 |              45,099 |
| 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                        |            7,074 |             7,103 |             17,502 |              42,049 |
| TransparentUpgradeableProxy                    |            2,000 |             3,429 |             22,576 |              45,723 |
| UiIncentiveDataProviderV3                      |            9,125 |             9,154 |             15,451 |              39,998 |
| UiPoolDataProviderV3                           |            9,917 |            10,128 |             14,659 |              39,024 |
| UpgradeabilityProxy                            |              108 |               855 |             24,468 |              48,297 |
| UserConfiguration                              |               44 |                94 |             24,532 |              49,058 |
| ValidationLogic                                |              189 |               241 |             24,387 |              48,911 |
| VariableDebtTokenHarness                       |            7,297 |             8,178 |             17,279 |              40,974 |
| VariableDebtTokenInstance                      |            7,279 |             8,158 |             17,297 |              40,994 |
| WETH9                                          |            1,885 |             2,354 |             22,691 |              46,798 |
| WETH9Mock                                      |            2,640 |             3,869 |             21,936 |              45,283 |
| WETH9Mocked                                    |            2,191 |             2,660 |             22,385 |              46,492 |
| WadRayMath                                     |               44 |                94 |             24,532 |              49,058 |
| WadRayMathWrapper                              |              816 |               845 |             23,760 |              48,307 |
| WalletBalanceProvider                          |            2,619 |             2,648 |             21,957 |              46,504 |
| WalletMock                                     |               21 |                47 |             24,555 |              49,105 |
| WrappedTokenGatewayV3                          |            5,722 |             6,600 |             18,854 |              42,552 |

Copy link

forge 0.0.2 (48c6b1a 2024-11-18T00:27:14.356800865Z)

@nisnislevi nisnislevi deleted the certora-squashed branch November 20, 2024 13:41
sakulstra added a commit that referenced this pull request Nov 20, 2024

Co-authored-by: Michael Morami <91594326+MichaelMorami@users.noreply.github.com>
Co-authored-by: Nissan Levi <124057587+nisnislevi@users.noreply.github.com>
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