Skip to content

chore: xlayer instance code diff#8

Open
brotherlymite wants to merge 1 commit intomainfrom
diff/xlayer
Open

chore: xlayer instance code diff#8
brotherlymite wants to merge 1 commit intomainfrom
diff/xlayer

Conversation

@brotherlymite
Copy link

Code diffs between aave v3.6 xlayer instance and v3.6 mantle instance.

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 5339d4dc-f530-4cf6-b0b4-c1a14275533d
Config Status Link Log File
token-v3-delegate-HL-rules.conf --rule no_function_changes_both_balance_and_delegation_state Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-d7871d718570.log
token-v3-delegate-HL-rules.conf --rule pp_change_in_balance_affect_power_DELEGATEE Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-7dd466df9336.log
token-v3-delegate-HL-rules.conf --rule pp_change_of_balance_affect_power_NON_DELEGATEE Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-457759781150.log
token-v3-delegate-HL-rules.conf --rule vp_change_in_balance_affect_power_DELEGATEE Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-89ebcbb2ebea.log
token-v3-delegate-HL-rules.conf --rule vp_change_of_balance_affect_power_NON_DELEGATEE Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-HL-rules.conf-199c7eb25a25.log
token-v3-delegate-basic.conf Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-basic.conf-2ffce9fc13be.log
token-v3-delegate-invariants.conf --exclude_rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-invariants.conf-0f7db0805e40.log
token-v3-delegate-invariants.conf --rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct --rule_sanity "none" Failed (1) - certora/atoken-with-delegation/conf/token-v3-delegate-invariants.conf-2d2c19ace01d.log
token-v3-erc20.conf Failed (1) - certora/atoken-with-delegation/conf/token-v3-erc20.conf-d8fd75945b01.log
token-v3-general.conf Failed (1) - certora/atoken-with-delegation/conf/token-v3-general.conf-8cdcda90c007.log

Certora Run Summary

  • Started 0 jobs
  • 10 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: ab427d7f-640a-4014-a368-0d4173ebe667
Config Status Link Log File
verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf Failed (1) - certora/stata/conf/verifyAToken.conf-500b980005e1.log
verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf Failed (1) - certora/stata/conf/verifyAToken.conf-c4713507c5c7.log
verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient Failed (1) - certora/stata/conf/verifyDoubleClaim.conf-f2e42057a5d8.log
verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient Failed (1) - certora/stata/conf/verifyDoubleClaim.conf-00a985a08566.log
verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert Failed (1) - certora/stata/conf/verifyERC4626.conf-34caa3383f15.log
verifyERC4626.conf --rule previewRedeemIndependentOfBalance previewMintAmountCheck previewDepositIndependentOfAllowanceApprove previewWithdrawAmountCheck previewWithdrawIndependentOfBalance2 previewWithdrawIndependentOfBalance1 previewRedeemIndependentOfMaxRedeem1 previewRedeemAmountCheck previewRedeemIndependentOfMaxRedeem2 amountConversionRoundedDown withdrawCheck redeemCheck redeemATokensCheck convertToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance Failed (1) - certora/stata/conf/verifyERC4626.conf-4bbe9b5e8ce7.log
verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 Failed (1) - certora/stata/conf/verifyERC4626DepositSummarization.conf-7832e42bf8c8.log
verifyERC4626Extended.conf --rule previewWithdrawRoundingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant Failed (1) - certora/stata/conf/verifyERC4626Extended.conf-b046a3215c21.log
verifyERC4626Extended.conf --rule redeemATokensSum Failed (1) - certora/stata/conf/verifyERC4626Extended.conf-5ca6bbe08b79.log
verifyERC4626Extended.conf --rule redeemSum Failed (1) - certora/stata/conf/verifyERC4626Extended.conf-f6e512f7c99c.log
verifyERC4626MintDepositSummarization.conf --rule depositCheckIndexGRayAssert2 depositATokensCheckIndexGRayAssert2 depositWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay Failed (1) - certora/stata/conf/verifyERC4626MintDepositSummarization.conf-6eee8ede2b81.log
verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf Failed (1) - certora/stata/conf/verifyStataToken.conf-2422dfc4acd2.log
verifyStataToken.conf --rule getClaimableRewards_stable Failed (1) - certora/stata/conf/verifyStataToken.conf-0177491df487.log
verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit Failed (1) - certora/stata/conf/verifyStataToken.conf-645d4ff91339.log
verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens Failed (1) - certora/stata/conf/verifyStataToken.conf-aa3c82253348.log
verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards Failed (1) - certora/stata/conf/verifyStataToken.conf-b1ba8e6040bd.log
verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist Failed (1) - certora/stata/conf/verifyStataToken.conf-a9f37c1df491.log
verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim Failed (1) - certora/stata/conf/verifyStataToken.conf-4730e45ebc51.log
verifyStataToken.conf --rule singleAssetAccruedRewards Failed (1) - certora/stata/conf/verifyStataToken.conf-f98f6be92ed5.log
verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset Failed (1) - certora/stata/conf/verifyStataToken.conf-caa205c1f9ca.log
verifyStataToken.conf --rule solvency_total_asset_geq_total_supply Failed (1) - certora/stata/conf/verifyStataToken.conf-7e6ee3ad29fa.log
verifyStataToken.conf --rule totalAssets_stable Failed (1) - certora/stata/conf/verifyStataToken.conf-5c71aacdd9f3.log
verifyStataToken.conf --rule totalClaimableRewards_stable Failed (1) - certora/stata/conf/verifyStataToken.conf-f598aafada4b.log

Certora Run Summary

  • Started 0 jobs
  • 23 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 34c0cb0a-3161-440b-89de-de9a758141fd
Config Status Link Log File
gift_cannot_decrease_healthFactor.conf Compiled - certora/math-calculations/confs/gift_cannot_decrease_healthFactor.conf-f661796f12c5.log
rayMulDiv-CVL-check.conf Compiled - certora/math-calculations/confs/rayMulDiv-CVL-check.conf-1dfc395f4c11.log

Certora Run Summary

  • Started 2 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 4c820981-ec78-4bf7-9677-7127145ef91f
Config Status Link Log File
AToken.conf Failed (1) - certora/basic/conf/AToken.conf-43f0f5d4d54a.log
EModeConfiguration.conf Compiled - certora/basic/conf/EModeConfiguration.conf-200e4ff7bfa6.log
NEW-pool-no-summarizations.conf Failed (1) - certora/basic/conf/NEW-pool-no-summarizations.conf-d292b12778b9.log
NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-a71992e308a5.log
NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-910ff42ebb57.log
NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-2d6b657938f4.log
NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-4e132885675f.log
NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-147af77493ca.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-a6db67c310f1.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-5779314d196a.log
NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount Failed (1) - certora/basic/conf/NEW-pool-simple-properties.conf-eb1fb38b0249.log
ReserveConfiguration.conf Compiled - certora/basic/conf/ReserveConfiguration.conf-30f5f86e0f39.log
UserConfiguration.conf Compiled - certora/basic/conf/UserConfiguration.conf-bacda8f438dc.log
VariableDebtToken.conf Compiled - certora/basic/conf/VariableDebtToken.conf-45aab091a393.log
stableRemoved.conf Compiled - certora/basic/conf/stableRemoved.conf-6fc183285872.log

Certora Run Summary

  • Started 5 jobs
  • 10 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: e592da5c-febd-45bb-8109-24acb35d1784
Config Status Link Log File
aToken-check.conf Compiled - certora/solvency/confs/aToken-check.conf-fcdbbcd86d7f.log
rayMulDiv-CVL-check.conf Compiled - certora/solvency/confs/rayMulDiv-CVL-check.conf-e04272c8d666.log
solvency/borrow.conf Compiled - certora/solvency/confs/solvency/borrow.conf-845c515b4c16.log
solvency/flashloan.conf Compiled - certora/solvency/confs/solvency/flashloan.conf-b348e35e84b0.log
solvency/liquidationCall/burnBadDebt-assetINloop.conf Compiled - certora/solvency/confs/solvency/liquidationCall/burnBadDebt-assetINloop.conf-88cfcbb38e2d.log
solvency/liquidationCall/burnBadDebt-assetNOTINloop.conf Compiled - certora/solvency/confs/solvency/liquidationCall/burnBadDebt-assetNOTINloop.conf-da873d40a01e.log
solvency/liquidationCall/lemma-COLasset-totSUP0.conf Compiled - certora/solvency/confs/solvency/liquidationCall/lemma-COLasset-totSUP0.conf-e96ed283e7f8.log
solvency/liquidationCall/lemma-COLasset.conf --rule_sanity "none" Compiled - certora/solvency/confs/solvency/liquidationCall/lemma-COLasset.conf-01c818644748.log
solvency/liquidationCall/lemma-DBTasset.conf Compiled - certora/solvency/confs/solvency/liquidationCall/lemma-DBTasset.conf-b30699ed43b4.log
solvency/liquidationCall/lemma-SAMEasset.conf Compiled - certora/solvency/confs/solvency/liquidationCall/lemma-SAMEasset.conf-043e0b937b41.log
solvency/liquidationCall/lemma-revertsIF_totDbt_of_DBTasset_is0.conf Compiled - certora/solvency/confs/solvency/liquidationCall/lemma-revertsIF_totDbt_of_DBTasset_is0.conf-69176faa8064.log
solvency/liquidationCall/main-COLasset-totSUP0.conf --rule_sanity "none" Compiled - certora/solvency/confs/solvency/liquidationCall/main-COLasset-totSUP0.conf-00ff503819f8.log
solvency/liquidationCall/main-COLasset.conf Compiled - certora/solvency/confs/solvency/liquidationCall/main-COLasset.conf-ae49a102f55c.log
solvency/liquidationCall/main-DBTasset.conf Compiled - certora/solvency/confs/solvency/liquidationCall/main-DBTasset.conf-4b50514016b6.log
solvency/liquidationCall/main-SAMEasset.conf Compiled - certora/solvency/confs/solvency/liquidationCall/main-SAMEasset.conf-726efbb0747d.log
solvency/repay-lemma.conf Compiled - certora/solvency/confs/solvency/repay-lemma.conf-9e8e6457eeeb.log
solvency/repay-main.conf Compiled - certora/solvency/confs/solvency/repay-main.conf-370df253d36d.log
solvency/repayWithATokens-lemma.conf Compiled - certora/solvency/confs/solvency/repayWithATokens-lemma.conf-fa85995fb4b8.log
solvency/repayWithATokens-main.conf --rule_sanity "none" Compiled - certora/solvency/confs/solvency/repayWithATokens-main.conf-dce3b640142e.log
solvency/supply.conf Compiled - certora/solvency/confs/solvency/supply.conf-8c337da9da51.log
solvency/withdraw.conf Compiled - certora/solvency/confs/solvency/withdraw.conf-f84fc8585cbf.log
variableDebtToken-check.conf Compiled - certora/solvency/confs/variableDebtToken-check.conf-307e71cf2695.log

Certora Run Summary

  • Started 22 jobs
  • 0 jobs failed

Download Logs

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.47%. Comparing base (1e3d70c) to head (2065d81).

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   97.47%   97.47%           
=======================================
  Files          67       67           
  Lines        3486     3486           
=======================================
  Hits         3398     3398           
  Misses         88       88           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

Forge Build Sizes

Contract Runtime Size (B) Initcode Size (B) Runtime Margin (B) Initcode Margin (B)
FlashloanAttacker ↑1% (+16) 1,626 ↑1% (+16) 2,050 ↓0% (-16) 22,950 ↓0% (-16) 47,102
MockFlashLoanSimpleReceiver ↑1% (+16) 1,500 ↑1% (+16) 1,785 ↓0% (-16) 23,076 ↓0% (-16) 47,367
SafeMath 44 94 24,532 49,058
🔕 Unchanged
Contract Runtime Size (B) Initcode Size (B) Runtime Margin (B) Initcode Margin (B)
ACLManager 3,493 3,971 21,083 45,181
ATokenHandler 17,483 18,203 7,093 30,949
ATokenInstance 10,498 11,598 14,078 37,554
ATokenMock 803 961 23,773 48,191
ATokenWithDelegationInstance 14,142 15,248 10,434 33,904
ATokenWithDelegationInstanceNext (tests/gas/ATokenWithDelegation.Transfer.gas.t.sol) 14,164 15,326 10,412 33,826
ATokenWithDelegationInstanceNext (tests/protocol/tokenization/ATokenDelegation.t.sol) 14,164 15,326 10,412 33,826
ATokenWithDelegationInstanceNext (tests/protocol/tokenization/ATokenWithDelegationRounding.t.sol) 14,164 15,326 10,412 33,826
AaveOracle 2,466 3,462 22,110 45,690
AaveProtocolDataProvider 7,435 7,893 17,141 41,259
AaveSetters 44 94 24,532 49,058
AaveV3BatchOrchestration 44 94 24,532 49,058
AaveV3ConfigEngine 7,831 9,360 16,745 39,792
AaveV3DefaultRateStrategyProcedure 21 47 24,555 49,105
AaveV3GettersBatchOne 189 22,720 24,387 26,432
AaveV3GettersBatchTwo 189 18,744 24,387 30,408
AaveV3GettersProcedureOne 21 47 24,555 49,105
AaveV3GettersProcedureTwo 21 47 24,555 49,105
AaveV3HelpersBatchOne 353 37,129 24,223 12,023
AaveV3HelpersBatchTwo 229 30,885 24,347 18,267
AaveV3HelpersProcedureOne 21 47 24,555 49,105
AaveV3HelpersProcedureTwo 21 47 24,555 49,105
AaveV3IncentiveProcedure 21 47 24,555 49,105
AaveV3L2PoolBatch 137 42,934 24,439 6,218
AaveV3L2PoolProcedure 21 47 24,555 49,105
AaveV3LibrariesBatch1 292 18,453 24,284 30,699
AaveV3LibrariesBatch2 292 41,574 24,284 7,578
AaveV3MiscBatch 137 6,160 24,439 42,992
AaveV3MiscProcedure 21 47 24,555 49,105
AaveV3MockAssetEModeUpdate 3,666 3,895 20,910 45,257
AaveV3MockBorrowUpdate 3,516 3,708 21,060 45,444
AaveV3MockBorrowUpdateNoChange 3,546 3,738 21,030 45,414
AaveV3MockCapUpdate 3,461 3,653 21,115 45,499
AaveV3MockCollateralUpdate 3,520 3,712 21,056 45,440
AaveV3MockCollateralUpdateCorrectBonus 3,520 3,712 21,056 45,440
AaveV3MockCollateralUpdateLtZero 3,530 3,722 21,046 45,430
AaveV3MockCollateralUpdateLtZeroLiqProtocolFeeOnly 3,538 3,730 21,038 45,422
AaveV3MockCollateralUpdateNoChange 3,547 3,739 21,029 45,413
AaveV3MockCollateralUpdateWrongBonus 3,524 3,716 21,052 45,436
AaveV3MockEModeCategoryCreation 3,910 4,189 20,666 44,963
AaveV3MockEModeCategoryUpdate 3,377 3,509 21,199 45,643
AaveV3MockEModeCategoryUpdateEdgeBonus 3,380 3,512 21,196 45,640
AaveV3MockEModeCategoryUpdateNoChange 3,448 3,580 21,128 45,572
AaveV3MockListing 3,802 4,031 20,774 45,121
AaveV3MockListingCustom 4,096 4,405 20,480 44,747
AaveV3MockListingCustomWithEModeCreation 4,575 4,898 20,001 44,254
AaveV3MockListingWithEModeCreation 4,280 4,523 20,296 44,629
AaveV3MockPriceFeedUpdate 3,471 3,700 21,105 45,452
AaveV3MockPriceFeedUpdateInvalidDecimals 3,471 3,700 21,105 45,452
AaveV3MockRatesUpdate 3,479 3,671 21,097 45,481
AaveV3OracleProcedure 21 47 24,555 49,105
AaveV3PeripheryBatch 321 34,854 24,255 14,298
AaveV3PoolBatch 137 41,634 24,439 7,518
AaveV3PoolConfigProcedure 21 47 24,555 49,105
AaveV3PoolProcedure 21 47 24,555 49,105
AaveV3SetupBatch 11,208 28,087 13,368 21,065
AaveV3SetupProcedure 21 47 24,555 49,105
AaveV3TestListing 5,182 11,625 19,394 37,527
AaveV3TokensBatch 137 20,379 24,439 28,773
AaveV3TokensProcedure 21 47 24,555 49,105
AaveV3TreasuryProcedure 21 47 24,555 49,105
Actor 945 1,757 23,631 47,395
Address (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol) 44 94 24,532 49,058
Address (src/contracts/dependencies/openzeppelin/contracts/Address.sol) 44 94 24,532 49,058
AdminUpgradeabilityProxy 1,546 2,458 23,030 46,694
BaseAdminUpgradeabilityProxy 1,538 1,566 23,038 47,586
BaseHandler 147 866 24,429 48,286
BaseHooks 147 866 24,429 48,286
BaseImmutableAdminUpgradeabilityProxy 1,304 1,471 23,272 47,681
BaseUpgradeabilityProxy 108 134 24,468 49,018
BorrowEngine 2,499 2,551 22,077 46,601
BorrowLogic 11,319 11,371 13,257 37,781
BorrowingHandler 20,343 21,063 4,233 28,089
CalldataLogic 44 94 24,532 49,058
CapsEngine 1,149 1,201 23,427 47,951
CollateralEngine 2,999 3,051 21,577 46,101
Collector 6,496 6,710 18,080 42,442
ConfiguratorInputTypes 44 94 24,532 49,058
ConfiguratorLogic 5,513 5,565 19,063 43,587
Create2Factory 52 78 24,524 49,074
Create2Utils 121 171 24,455 48,981
DataTypes 44 94 24,532 49,058
DefaultMarketInput 21 47 24,555 49,105
DefaultReserveInterestRateStrategyV2 3,575 3,759 21,001 45,393
DeployPermit2 44 94 24,532 49,058
DeployUtils 916 944 23,660 48,208
DonationAttackHandler 858 1,578 23,718 47,574
ECDSA 44 94 24,532 49,058
EIP712SigUtils 770 822 23,806 48,330
EModeConfiguration 44 94 24,532 49,058
EModeEngine 7,504 7,556 17,072 41,596
ERC1967Proxy 122 973 24,454 48,179
ERC1967Utils 44 94 24,532 49,058
EmissionManager 3,444 3,905 21,132 45,247
EmptyImplementation 21 47 24,555 49,105
EngineFlags 44 94 24,532 49,058
EnumerableSet 44 94 24,532 49,058
Errors (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol) 44 94 24,532 49,058
Errors (src/contracts/protocol/libraries/helpers/Errors.sol) 44 94 24,532 49,058
FactoryDeployer 214 240 24,362 48,912
Faucet 2,038 2,570 22,538 46,582
FlashLoanHandler 14,701 15,421 9,875 33,731
FlashLoanLogic 8,394 8,446 16,182 40,706
GPv2SafeERC20 44 94 24,532 49,058
GenericLogic 44 94 24,532 49,058
InitializableAdminUpgradeabilityProxy 2,392 2,420 22,184 46,732
InitializableImmutableAdminUpgradeabilityProxy 1,863 2,030 22,713 47,122
InitializableUpgradeabilityProxy 879 907 23,697 48,245
IsolationModeLogic 44 94 24,532 49,058
L2Encoder 3,585 3,780 20,991 45,372
L2PoolInstance 22,787 23,255 1,789 25,897
LendingHandler 18,074 18,794 6,502 30,358
LiquidationDataProvider 7,565 7,839 17,011 41,313
LiquidationHandler 16,555 17,275 8,021 31,877
LiquidationHelper 44 94 24,532 49,058
LiquidationLogic 12,362 12,414 12,214 36,738
ListingEngine 6,731 6,783 17,845 42,369
MarketReportUtils 44 94 24,532 49,058
Math 44 94 24,532 49,058
MathUtils 44 94 24,532 49,058
MessageHashUtils 44 94 24,532 49,058
MetadataReporter 11,392 11,420 13,184 37,732
MintableDelegationERC20 2,003 2,752 22,573 46,400
MintableERC20 3,203 4,103 21,373 45,049
Mock 182 208 24,394 48,944
MockAToken (src/contracts/mocks/tokens/MockAToken.sol) 10,716 11,872 13,860 37,280
MockAToken (src/contracts/mocks/upgradeability/MockAToken.sol) 10,498 11,604 14,078 37,548
MockAggregator 134 273 24,442 48,879
MockAggregator18Decimals 134 273 24,442 48,879
MockAggregatorSetPrice 243 386 24,333 48,766
MockBadTransferStrategy 914 1,103 23,662 48,049
MockERC20AaveLMUpgradeable 7,937 8,152 16,639 41,000
MockERC4626StataTokenUpgradeable 9,517 9,859 15,059 39,293
MockFlashLoanATokenReceiver 2,378 2,756 22,198 46,396
MockFlashLoanBorrowInsideFlashLoan 2,123 2,400 22,453 46,752
MockFlashLoanReceiver (src/contracts/mocks/flashloan/MockFlashLoanReceiver.sol) 2,237 2,522 22,339 46,630
MockFlashLoanReceiver (tests/invariants/helpers/MockFlashLoanReceiver.sol) 1,403 1,431 23,173 47,721
MockFlashLoanReceiverWithoutMint 1,234 1,518 23,342 47,634
MockIncentivesController 132 158 24,444 48,994
MockInitializableFromConstructorImple 349 643 24,227 48,509
MockInitializableImple 1,556 1,591 23,020 47,561
MockInitializableImpleV2 1,558 1,593 23,018 47,559
MockInitializableV1 307 342 24,269 48,810
MockInitializableV2 309 344 24,267 48,808
MockL2Pool 22,814 23,347 1,762 25,805
MockPeripheryContractV1 309 337 24,267 48,815
MockPeripheryContractV2 290 318 24,286 48,834
MockPoolInherited 21,651 22,194 2,925 26,958
MockReentrantInitializableImple 413 448 24,163 48,704
MockReserveConfiguration 2,142 2,170 22,434 46,982
MockReserveInterestRateStrategy 3,070 3,257 21,506 45,895
MockScaledTestnetERC20 3,669 4,744 20,907 44,408
MockScaledToken 2,874 3,700 21,702 45,452
MockSimpleFlashLoanReceiverWithoutMint 754 1,037 23,822 48,115
MockVariableDebtToken (src/contracts/mocks/tokens/MockDebtTokens.sol) 7,241 8,305 17,335 40,847
MockVariableDebtToken (src/contracts/mocks/upgradeability/MockVariableDebtToken.sol) 7,219 8,233 17,357 40,919
Ownable (src/contracts/dependencies/openzeppelin/contracts/Ownable.sol) 629 721 23,947 48,431
Panic 44 94 24,532 49,058
PercentageMath 44 94 24,532 49,058
PoolAddressesProvider 6,965 8,251 17,611 40,901
PoolAddressesProviderRegistry 1,946 2,407 22,630 46,745
PoolConfiguratorInstance 18,994 19,029 5,582 30,123
PoolHandler 18,112 18,832 6,464 30,320
PoolInstance 21,491 21,955 3,085 27,197
PoolLogic 8,275 8,327 16,301 40,825
PoolPermissionedHandler 17,102 17,822 7,474 31,330
PoolStorage 21 47 24,555 49,105
Pretty 2,458 2,510 22,118 46,642
PriceAggregatorHandler 12,630 13,350 11,946 35,802
PriceFeedEngine 1,783 1,835 22,793 47,317
PriceOracle 469 497 24,107 48,655
PriceOracleSentinel 1,530 1,746 23,046 47,406
PropertiesLibString 44 94 24,532 49,058
ProtocolAssertions 147 866 24,429 48,286
ProxyAdmin 998 1,234 23,578 47,918
ProxyHelpers 44 94 24,532 49,058
PullRewardsTransferStrategy 1,172 1,398 23,404 47,754
RateEngine 2,227 2,279 22,349 46,873
ReserveConfiguration 128 178 24,448 48,974
ReserveLogic 44 94 24,532 49,058
RewardsController 13,965 14,155 10,611 34,997
RewardsDataTypes 44 94 24,532 49,058
SafeCast 44 94 24,532 49,058
SafeERC20 44 94 24,532 49,058
SequencerOracle 865 1,326 23,711 47,826
Setup 147 866 24,429 48,286
SigUtils 492 544 24,084 48,608
SignedMath 44 94 24,532 49,058
SlotParser 330 382 24,246 48,770
StakeMock 355 383 24,221 48,769
StakedTokenTransferStrategy 1,972 2,682 22,604 46,470
StataTokenFactory 2,989 3,445 21,587 45,707
StataTokenV2 18,933 19,611 5,643 29,541
StorageSlot 44 94 24,532 49,058
Strings (lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol) 44 94 24,532 49,058
Strings (src/contracts/dependencies/openzeppelin/contracts/Strings.sol) 44 94 24,532 49,058
Strings (tests/invariants/utils/Pretty.sol) 44 94 24,532 49,058
SupplyLogic 10,717 10,769 13,859 38,383
TestERC20 3,948 5,125 20,628 44,027
TestnetERC20 3,508 4,575 21,068 44,577
TokenMath 44 94 24,532 49,058
TransparentProxyFactory 6,667 6,695 17,909 42,457
TransparentUpgradeableProxy 1,096 3,528 23,480 45,624
UiIncentiveDataProviderV3 9,118 9,146 15,458 40,006
UiPoolDataProviderV3 10,146 10,344 14,430 38,808
UpgradeabilityProxy 108 861 24,468 48,291
UserConfiguration 44 94 24,532 49,058
ValidationLogic 141 191 24,435 48,961
VariableDebtTokenHandler 1,185 1,905 23,391 47,247
VariableDebtTokenHarness 7,237 8,251 17,339 40,901
VariableDebtTokenInstance 7,219 8,191 17,357 40,961
VariableDebtTokenMainnetInstanceGHO 7,248 8,220 17,328 40,932
WETH9 1,886 2,352 22,690 46,800
WETH9Mock 2,641 3,812 21,935 45,340
WETH9Mocked 2,192 2,658 22,384 46,494
WadRayMath 44 94 24,532 49,058
WalletBalanceProvider 2,485 2,513 22,091 46,639
WrappedTokenGatewayV3 5,387 6,252 19,189 42,900

@github-actions
Copy link

🔮 Coverage report
File Line Coverage Function Coverage Branch Coverage
src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol ${\color{red}68.42\%}$
$26 / 38$
23, 24, 78, 79, 80 and 7 more
${\color{green}100\%}$
$4 / 4$
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/contracts/AccessControl.sol ${\color{orange}91.18\%}$
$31 / 34$
76, 77, 115
${\color{orange}83.33\%}$
$10 / 12$
AccessControl.supportsInterface, AccessControl.getRoleAdmin
${\color{red}80\%}$
$4 / 5$
src/contracts/dependencies/openzeppelin/contracts/ERC165.sol ${\color{red}0\%}$
$0 / 2$
25, 26
${\color{red}0\%}$
$0 / 1$
ERC165.supportsInterface
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/contracts/Ownable.sol ${\color{red}80\%}$
$12 / 15$
55, 56, 57
${\color{red}80\%}$
$4 / 5$
Ownable.renounceOwnership
${\color{red}75\%}$
$3 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/AdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
21, 26, 27, 33, 34
${\color{red}0\%}$
$0 / 2$
AdminUpgradeabilityProxy.constructor, AdminUpgradeabilityProxy._willFallback
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/BaseAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 26$
35, 36, 39, 46, 47 and 21 more
${\color{red}0\%}$
$0 / 9$
BaseAdminUpgradeabilityProxy.ifAdmin, BaseAdminUpgradeabilityProxy.admin, BaseAdminUpgradeabilityProxy.implementation, BaseAdminUpgradeabilityProxy.changeAdmin, BaseAdminUpgradeabilityProxy.upgradeTo and 4 more
${\color{red}0\%}$
$0 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 7$
25, 26, 27, 28, 29 and 2 more
${\color{red}0\%}$
$0 / 2$
InitializableAdminUpgradeabilityProxy.initialize, InitializableAdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$1 / 1$
${\color{red}60\%}$
$3 / 5$
src/contracts/dependencies/openzeppelin/upgradeability/Proxy.sol ${\color{orange}87.5\%}$
$14 / 16$
25, 26
${\color{red}80\%}$
$4 / 5$
Proxy.receive
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/UpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 6$
20, 21, 22, 23, 24 and 1 more
${\color{red}0\%}$
$0 / 1$
UpgradeabilityProxy.constructor
${\color{red}0\%}$
$0 / 3$
src/contracts/dependencies/weth/WETH9.sol ${\color{orange}92.59\%}$
$25 / 27$
31, 32
${\color{orange}85.71\%}$
$6 / 7$
WETH9.receive
${\color{red}57.14\%}$
$4 / 7$
src/contracts/extensions/stata-token/ERC20AaveLMUpgradeable.sol ${\color{orange}94.02\%}$
$110 / 117$
97, 114, 116, 126, 213 and 2 more
${\color{lightgreen}95.45\%}$
$21 / 22$
ERC20AaveLMUpgradeable.getCurrentRewardsIndex
${\color{red}68.75\%}$
$11 / 16$
src/contracts/extensions/stata-token/ERC4626StataTokenUpgradeable.sol ${\color{lightgreen}97.09\%}$
$100 / 103$
116, 146, 221
${\color{green}100\%}$
$21 / 21$
${\color{red}78.57\%}$
$11 / 14$
src/contracts/extensions/stata-token/StataTokenFactory.sol ${\color{orange}88.46\%}$
$23 / 26$
75, 82, 83
${\color{red}80\%}$
$4 / 5$
StataTokenFactory.getStataTokens
${\color{red}33.33\%}$
$1 / 3$
src/contracts/extensions/stata-token/StataTokenV2.sol ${\color{orange}90.63\%}$
$29 / 32$
58, 62, 67
${\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\%}$
$47 / 47$
${\color{green}100\%}$
$13 / 13$
${\color{red}50\%}$
$4 / 8$
src/contracts/extensions/v3-config-engine/AaveV3Payload.sol ${\color{red}75.51\%}$
$37 / 49$
126, 127, 131, 134, 142 and 7 more
${\color{red}26.67\%}$
$4 / 15$
AaveV3Payload._bpsToRay, AaveV3Payload.newListings, AaveV3Payload.newListingsCustom, AaveV3Payload.capsUpdates, AaveV3Payload.collateralsUpdates and 6 more
${\color{green}100\%}$
$10 / 10$
src/contracts/extensions/v3-config-engine/libraries/BorrowEngine.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$2 / 2$
${\color{red}80\%}$
$8 / 10$
src/contracts/extensions/v3-config-engine/libraries/CapsEngine.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/libraries/CollateralEngine.sol ${\color{red}72.73\%}$
$24 / 33$
39, 42, 48, 50, 51 and 4 more
${\color{green}100\%}$
$2 / 2$
${\color{red}62.5\%}$
$10 / 16$
src/contracts/extensions/v3-config-engine/libraries/EModeEngine.sol ${\color{orange}93.55\%}$
$58 / 62$
143, 147, 152, 191
${\color{green}100\%}$
$6 / 6$
${\color{red}66.67\%}$
$16 / 24$
src/contracts/extensions/v3-config-engine/libraries/ListingEngine.sol ${\color{green}100\%}$
$34 / 34$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$2 / 4$
src/contracts/extensions/v3-config-engine/libraries/PriceFeedEngine.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$2 / 2$
${\color{red}62.5\%}$
$5 / 8$
src/contracts/extensions/v3-config-engine/libraries/RateEngine.sol ${\color{red}64.52\%}$
$20 / 31$
45, 46, 47, 50, 51 and 6 more
${\color{green}100\%}$
$3 / 3$
${\color{red}14.29\%}$
$1 / 7$
src/contracts/helpers/AaveProtocolDataProvider.sol ${\color{orange}90.67\%}$
$68 / 75$
56, 57, 60, 61, 156 and 2 more
${\color{lightgreen}95.24\%}$
$20 / 21$
AaveProtocolDataProvider.getReserveData
${\color{red}25\%}$
$1 / 4$
src/contracts/helpers/L2Encoder.sol ${\color{green}100\%}$
$68 / 68$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$0 / 0$
src/contracts/helpers/LiquidationDataProvider.sol ${\color{orange}90.78\%}$
$128 / 141$
49, 66, 70, 74, 78 and 8 more
${\color{red}80\%}$
$12 / 15$
LiquidationDataProvider.getUserPositionFullInfo, LiquidationDataProvider.getCollateralFullInfo, LiquidationDataProvider.getDebtFullInfo
${\color{red}75\%}$
$15 / 20$
src/contracts/helpers/UiIncentiveDataProviderV3.sol ${\color{red}0\%}$
$0 / 90$
17, 26, 29, 32, 35 and 85 more
${\color{red}0\%}$
$0 / 5$
UiIncentiveDataProviderV3.getFullReservesIncentiveData, UiIncentiveDataProviderV3.getReservesIncentivesData, UiIncentiveDataProviderV3._getReservesIncentivesData, UiIncentiveDataProviderV3.getUserReservesIncentivesData, UiIncentiveDataProviderV3._getUserReservesIncentivesData
${\color{red}0\%}$
$0 / 4$
src/contracts/helpers/UiPoolDataProviderV3.sol ${\color{red}2.7\%}$
$3 / 111$
38, 41, 42, 45, 48 and 103 more
${\color{red}16.67\%}$
$1 / 6$
UiPoolDataProviderV3.getReservesList, UiPoolDataProviderV3.getReservesData, UiPoolDataProviderV3.getEModes, UiPoolDataProviderV3.getUserReservesData, UiPoolDataProviderV3.bytes32ToString
${\color{red}0\%}$
$0 / 12$
src/contracts/helpers/WalletBalanceProvider.sol ${\color{red}0\%}$
$0 / 29$
34, 35, 36, 38, 39 and 24 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\%}$
$55 / 55$
${\color{green}100\%}$
$12 / 12$
${\color{orange}81.82\%}$
$9 / 11$
src/contracts/instances/ATokenInstance.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/ATokenWithDelegationInstance.sol ${\color{red}80\%}$
$8 / 10$
28, 29
${\color{red}50\%}$
$1 / 2$
ATokenWithDelegationInstance.getRevision
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/PoolConfiguratorInstance.sol ${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$0 / 0$
src/contracts/instances/PoolInstance.sol ${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/instances/VariableDebtTokenInstance.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/instances/VariableDebtTokenMainnetInstanceGHO.sol ${\color{red}0\%}$
$0 / 11$
18, 19, 23, 31, 32 and 6 more
${\color{red}0\%}$
$0 / 3$
VariableDebtTokenMainnetInstanceGHO.getRevision, VariableDebtTokenMainnetInstanceGHO.initialize, VariableDebtTokenMainnetInstanceGHO.updateDiscountDistribution
${\color{red}0\%}$
$0 / 2$
src/contracts/misc/AaveOracle.sol ${\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$10 / 10$
src/contracts/misc/DefaultReserveInterestRateStrategyV2.sol ${\color{green}100\%}$
$52 / 52$
${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$16 / 16$
src/contracts/misc/PriceOracleSentinel.sol ${\color{green}100\%}$
$27 / 27$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/aave-upgradeability/BaseImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$7 / 7$
${\color{red}33.33\%}$
$2 / 6$
src/contracts/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/aave-upgradeability/VersionedInitializable.sol ${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/flashloan/base/FlashLoanReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/flashloan/base/FlashLoanSimpleReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/configuration/ACLManager.sol ${\color{lightgreen}95.35\%}$
$41 / 43$
115, 116
${\color{orange}95\%}$
$19 / 20$
ACLManager.isBridge
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/configuration/PoolAddressesProvider.sol ${\color{green}100\%}$
$81 / 81$
${\color{green}100\%}$
$23 / 23$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/configuration/PoolAddressesProviderRegistry.sol ${\color{green}100\%}$
$34 / 34$
${\color{green}100\%}$
$8 / 8$
${\color{orange}85.71\%}$
$6 / 7$
src/contracts/protocol/libraries/configuration/EModeConfiguration.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}66.67\%}$
$4 / 6$
src/contracts/protocol/libraries/configuration/ReserveConfiguration.sol ${\color{green}100\%}$
$85 / 85$
${\color{green}100\%}$
$36 / 36$
${\color{red}61.11\%}$
$11 / 18$
src/contracts/protocol/libraries/configuration/UserConfiguration.sol $^{↑5.2\%}{\color{green}100\%}$
$58 / 58$
$^{↑7.7\%}{\color{green}100\%}$
$13 / 13$
$^{↑13\%}{\color{red}75\%}$
$12 / 16$
src/contracts/protocol/libraries/helpers/TokenMath.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/libraries/logic/BorrowLogic.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$10 / 10$
src/contracts/protocol/libraries/logic/CalldataLogic.sol ${\color{green}100\%}$
$70 / 70$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/ConfiguratorLogic.sol ${\color{green}100\%}$
$35 / 35$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/libraries/logic/FlashLoanLogic.sol ${\color{green}100\%}$
$37 / 37$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/libraries/logic/GenericLogic.sol ${\color{green}100\%}$
$52 / 52$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$11 / 11$
src/contracts/protocol/libraries/logic/IsolationModeLogic.sol ${\color{green}100\%}$
$24 / 24$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/libraries/logic/LiquidationLogic.sol ${\color{green}100\%}$
$134 / 134$
${\color{green}100\%}$
$6 / 6$
${\color{orange}94.44\%}$
$34 / 36$
src/contracts/protocol/libraries/logic/PoolLogic.sol ${\color{green}100\%}$
$48 / 48$
${\color{green}100\%}$
$9 / 9$
${\color{red}72.73\%}$
$8 / 11$
src/contracts/protocol/libraries/logic/ReserveLogic.sol ${\color{green}100\%}$
$64 / 64$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$13 / 13$
src/contracts/protocol/libraries/logic/SupplyLogic.sol ${\color{green}100\%}$
$65 / 65$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$21 / 21$
src/contracts/protocol/libraries/logic/ValidationLogic.sol ${\color{green}100\%}$
$135 / 135$
${\color{green}100\%}$
$17 / 17$
${\color{lightgreen}96.92\%}$
$126 / 130$
src/contracts/protocol/libraries/math/PercentageMath.sol $^{↑10\%}{\color{green}100\%}$
$22 / 22$
${\color{green}100\%}$
$5 / 5$
$^{↑67\%}{\color{green}100\%}$
$5 / 5$
src/contracts/protocol/libraries/math/WadRayMath.sol $^{↑13\%}{\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$10 / 10$
$^{↑100\%}{\color{green}100\%}$
$10 / 10$
src/contracts/protocol/pool/L2Pool.sol ${\color{green}100\%}$
$29 / 29$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/pool/Pool.sol ${\color{lightgreen}99.01\%}$
$200 / 202$
555, 556
${\color{lightgreen}98.59\%}$
$70 / 71$
Pool.getReservesCount
${\color{red}74.29\%}$
$26 / 35$
src/contracts/protocol/pool/PoolConfigurator.sol ${\color{green}100\%}$
$262 / 262$
${\color{green}100\%}$
$45 / 45$
${\color{lightgreen}95.12\%}$
$78 / 82$
src/contracts/protocol/tokenization/AToken.sol ${\color{green}100\%}$
$76 / 76$
${\color{green}100\%}$
$18 / 18$
${\color{orange}92.86\%}$
$13 / 14$
src/contracts/protocol/tokenization/ATokenWithDelegation.sol ${\color{green}100\%}$
$21 / 21$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/tokenization/VariableDebtToken.sol ${\color{green}100\%}$
$32 / 32$
${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$1 / 1$
src/contracts/protocol/tokenization/base/DebtTokenBase.sol ${\color{green}100\%}$
$24 / 24$
${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$7 / 7$
src/contracts/protocol/tokenization/base/EIP712Base.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$1 / 1$
src/contracts/protocol/tokenization/base/IncentivizedERC20.sol ${\color{orange}93.33\%}$
$70 / 75$
158, 163, 164, 170, 171
${\color{lightgreen}95.45\%}$
$21 / 22$
IncentivizedERC20.transferFrom
${\color{green}100\%}$
$9 / 9$
src/contracts/protocol/tokenization/base/MintableIncentivizedERC20.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/ScaledBalanceTokenBase.sol ${\color{green}100\%}$
$36 / 36$
${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/delegation/BaseDelegation.sol ${\color{green}100\%}$
$90 / 90$
${\color{green}100\%}$
$15 / 15$
${\color{red}80\%}$
$24 / 30$
src/contracts/rewards/EmissionManager.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$3 / 6$
src/contracts/rewards/RewardsController.sol ${\color{lightgreen}99.04\%}$
$103 / 104$
201
${\color{green}100\%}$
$24 / 24$
${\color{red}60.71\%}$
$17 / 28$
src/contracts/rewards/RewardsDistributor.sol ${\color{lightgreen}99.32\%}$
$145 / 146$
431
${\color{green}100\%}$
$24 / 24$
${\color{orange}80.95\%}$
$17 / 21$
src/contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$0 / 0$
src/contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$1 / 2$
src/contracts/rewards/transfer-strategies/TransferStrategyBase.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$2 / 4$
src/contracts/treasury/Collector.sol ${\color{lightgreen}96.74\%}$
$89 / 92$
152, 191, 206
${\color{orange}93.75\%}$
$15 / 16$
Collector.deltaOf
${\color{red}79.17\%}$
$19 / 24$

@github-actions
Copy link

🌈 Test Results
No files changed, compilation skipped

Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20677)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65496)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37587)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37653)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37600)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37720)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37717)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29432)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29521)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29416)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29538)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29423)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91896)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76412)
[PASS] test_remove_riskAdmin() (gas: 29432)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72834)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1523412)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98813)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125190)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113970)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 7.72ms (1.97ms CPU time)

Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120369)
[PASS] testRemoveAddressesProvider() (gas: 96895)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242308)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16383)
[PASS] test_removesLastProvider() (gas: 32576)
[PASS] test_revert_registry_0() (gas: 15287)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27258)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 42.00ms (1.53ms CPU time)

Ran 19 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transferFrom_fullAmount() (gas: 733871)
[PASS] test_transferFrom_fullAmount_dirtyReceiver() (gas: 1255856)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled() (gas: 782658)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1281732)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1232877)
[PASS] test_transferFrom_partialAmount() (gas: 744465)
[PASS] test_transferFrom_partialAmount_receiverNonZeroFunds() (gas: 1243508)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled() (gas: 700473)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1199492)
[PASS] test_transfer_fullAmount() (gas: 671874)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1193887)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 720776)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverDirty() (gas: 1190763)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1219800)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1171011)
[PASS] test_transfer_partialAmount() (gas: 692017)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1191066)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 647982)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1147032)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 67.02ms (28.88ms CPU time)

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

Ran 5 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 49702)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_receiveEth() (gas: 20265)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.78ms (263.63µs CPU time)

Ran 6 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18161)
[PASS] testTransfer() (gas: 54903)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18185)
[PASS] test_receiveEth() (gas: 20288)
[PASS] test_successful() (gas: 13383)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 2.82ms (307.30µs CPU time)

Ran 7 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_isFundsAdmin() (gas: 24249)
[PASS] test_isNotFundsAdmin() (gas: 17579)
[PASS] test_receiveEth() (gas: 20288)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.66ms (931.91µs CPU time)

Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49636)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18335)
[PASS] testCancelStreamByFundsAdmin() (gas: 206160)
[PASS] testCancelStreamByRecipient() (gas: 231265)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242221)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22839)
[PASS] testCreateStream() (gas: 244288)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27252)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24600)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25041)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25296)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25064)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25761)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23210)
[PASS] testGetNextStreamId() (gas: 17592)
[PASS] testGetNotExistingStream() (gas: 18416)
[PASS] testGetStream() (gas: 234347)
[PASS] testTransfer() (gas: 54947)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18337)
[PASS] testWithdrawFromStream() (gas: 307164)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230192)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243607)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238105)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240264)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23004)
[PASS] test_receiveEth() (gas: 20310)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 7.53ms (4.89ms CPU time)

Ran 10 tests for tests/protocol/tokenization/ATokenDelegation.t.sol:ATokenDelegationTest
[PASS] test_delegate() (gas: 401010)
[PASS] test_getDelegates() (gas: 133834)
[PASS] test_getPowersCurrent() (gas: 643688)
[PASS] test_getPowersCurrent_with_index_growth() (gas: 745616)
[PASS] test_initial_state_without_delegation() (gas: 47449)
[PASS] test_mint_and_burn() (gas: 2662394)
[PASS] test_precision() (gas: 1107763)
[PASS] test_transfer() (gas: 2317760)
[PASS] test_transferFrom() (gas: 2428856)
[PASS] test_transferOnLiquidation() (gas: 2178174)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 93.87ms (58.79ms CPU time)

Ran 10 tests for tests/protocol/tokenization/ATokenDelegation.t.sol:ATokenDelegationTestWithPermits
[PASS] test_delegate() (gas: 488098)
[PASS] test_getDelegates() (gas: 195820)
[PASS] test_getPowersCurrent() (gas: 751931)
[PASS] test_getPowersCurrent_with_index_growth() (gas: 821103)
[PASS] test_initial_state_without_delegation() (gas: 47449)
[PASS] test_mint_and_burn() (gas: 2742014)
[PASS] test_precision() (gas: 1107763)
[PASS] test_transfer() (gas: 2477132)
[PASS] test_transferFrom() (gas: 2564619)
[PASS] test_transferOnLiquidation() (gas: 2337541)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 106.21ms (75.55ms CPU time)

Ran 15 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45201)
[PASS] testApproveMax() (gas: 45260)
[PASS] testApproveWithZeroAddressSpender() (gas: 42243)
[PASS] testCheckGetters() (gas: 261393)
[PASS] testDecreaseAllowance() (gas: 53198)
[PASS] testIncreaseAllowance() (gas: 53224)
[PASS] testIncreaseAllowanceFromZero() (gas: 48461)
[PASS] testMintToTreasury_amount_zero() (gas: 15692)
[PASS] testTransferFromZeroAmount() (gas: 124605)
[PASS] test_burn_zeroAddress() (gas: 257597)
[PASS] test_mintToZeroAddress() (gas: 80228)
[PASS] test_reverts_burnAmountScaledZero() (gas: 18964)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19075)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 124416)
[PASS] test_transfer_amount_MAX_UINT_120() (gas: 16576)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 33.05ms (3.17ms CPU time)

Ran 13 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_allowance_events_in_approve_function() (gas: 58868)
[PASS] test_allowance_events_in_decreaseAllowance_function() (gas: 56974)
[PASS] test_allowance_events_in_increaseAllowance_function() (gas: 52385)
[PASS] test_allowance_events_in_renounceAllowance_function() (gas: 35045)
[PASS] test_allowance_events_in_transferFrom_function() (gas: 224498)
[PASS] test_atoken_burnEvents_fullBalance() (gas: 520214)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 606779)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 530850)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 245632)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 533585)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 245094)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 584053)
[PASS] test_mintToTreasury_events() (gas: 85780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 83.74ms (25.44ms CPU time)

Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 16880)
[PASS] test_revert_notAdmin_mint() (gas: 16883)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 16910)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 16687)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 28.23ms (254.46µs CPU time)

Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26105)
[PASS] test_cancelPermit() (gas: 94221)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32890)
[PASS] test_revert_submitPermit_0_expiration() (gas: 41222)
[PASS] test_revert_submitPermit_InvalidExpiration_previosCurrentBlock() (gas: 42120)
[PASS] test_revert_submitPermit_InvalidSignature() (gas: 49668)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 50252)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 41071)
[PASS] test_submitPermit() (gas: 89802)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 47.92ms (3.46ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 240834)
[PASS] test_repay_partialDebt() (gas: 237786)
[PASS] test_revert_repay_withoutFunds() (gas: 133408)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 31.91ms (3.17ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77616)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70453)
[PASS] test_reverts_rescueTokens_UnderlyingCannotBeRescued() (gas: 71112)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 30.84ms (516.02µs CPU time)

Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 582123)
[PASS] test_new_EmissionManager() (gas: 756819)
[PASS] test_setClaimer() (gas: 51517)
[PASS] test_setDistributionEnd() (gas: 589381)
[PASS] test_setEmissionAdmin() (gas: 43116)
[PASS] test_setEmissionPerSecond() (gas: 595890)
[PASS] test_setRewardOracle() (gas: 671191)
[PASS] test_setRewardsController() (gas: 19122)
[PASS] test_setTransferStrategy() (gas: 856073)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 32.47ms (1.67ms CPU time)

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 600016)
[PASS] test_proxy_upgradeTo() (gas: 622088)
[PASS] test_proxy_upgradeToAndCall() (gas: 627937)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 597095)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 602961)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 600781)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 2.45ms (1.39ms CPU time)

Ran 23 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 183132)
[PASS] test_flashloan_borrow() (gas: 503834)
[PASS] test_flashloan_borrow_inside_flashloan_and_check_rate_after() (gas: 1706172)
[PASS] test_flashloan_multiple() (gas: 286657)
[PASS] test_flashloan_rounding_accruedToTreasury() (gas: 464985)
[PASS] test_flashloan_rounding_premium() (gas: 174364)
[PASS] test_flashloan_simple() (gas: 150144)
[PASS] test_flashloan_simple_2() (gas: 152228)
[PASS] test_flashloan_simple_borrow_inside_flashloan_and_check_rate_after() (gas: 1134859)
[PASS] test_flashloan_simple_rounding_accruedToTreasury() (gas: 442937)
[PASS] test_flashloan_simple_rounding_premium() (gas: 147812)
[PASS] test_revert_flashloan_borrow_stable() (gas: 207075)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 180197)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 143226)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 102568)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 99423)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 140340, ~: 103916)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144183)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 153783)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 183647)
[PASS] test_reverts_flashloans_eoa() (gas: 107774)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 814771)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 846483)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 850.20ms (817.13ms CPU time)

Ran 7 tests for tests/protocol/tokenization/ATokenRounding.t.sol:ATokenRoundingTest
[PASS] test_balanceShouldRoundDown() (gas: 48321)
[PASS] test_fuzzEdge(uint256,uint256,uint256) (runs: 1000, μ: 325003, ~: 325084)
Logs:
  Bound result 88883586588080880847916714633
  Bound result 33997618014316978820534741794
  Bound result 34513501089976653932795

[PASS] test_supplyShouldRoundDown() (gas: 282794)
[PASS] test_supplyShouldRoundDown_revertIfZero() (gas: 144624)
[PASS] test_totalSupplyShouldRoundDown() (gas: 44087)
[PASS] test_transferAmountShouldBeRoundedUp() (gas: 387188)
[PASS] test_withdrawShouldRoundUp() (gas: 353876)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 890.39ms (854.88ms CPU time)

Ran 12 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16653)
[PASS] test_getEModeCategoryData() (gas: 20422)
[PASS] test_getLiquidationGracePeriod() (gas: 18151)
[PASS] test_getReserveData() (gas: 41837)
[PASS] test_getUserAccountData() (gas: 30897)
[PASS] test_getUserAccountData_oneSupplies() (gas: 605166)
[PASS] test_getUserAccountData_oneSupplies_with_eMode_enabled() (gas: 905581)
[PASS] test_getUserAccountData_twoSupplies() (gas: 1164075)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 2009874)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows_with_eMode_enabled() (gas: 2508539)
[PASS] test_getUserAccountData_twoSupplies_with_eMode_enabled() (gas: 1564335)
[PASS] test_getUserAccountData_with_eMode_enabled() (gas: 213914)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 51.67ms (15.82ms CPU time)

Ran 13 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_approve_and_renounceAllowance() (gas: 41204)
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 128984)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 196754)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 152047)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 215541)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 75663)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 75617)
[PASS] test_atoken_multiple_transfers() (gas: 168040)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint256,uint256) (runs: 1000, μ: 360706, ~: 360599)
Logs:
  Bound result 2311731808
  Bound result 1532649602

[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 510716)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 391621)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 384049)
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 109535)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 969.61ms (941.89ms CPU time)

Ran 6 tests for tests/gas/ATokenWithDelegation.Transfer.gas.t.sol:ATokenWithDelegation_gas_Tests
[PASS] test_transfer_fullAmountSenderWithAndReceiverWithoutDelegations() (gas: 271073)
[PASS] test_transfer_fullAmountSenderWithoutAndReceiverWithDelegations_notDelegatees() (gas: 263010)
[PASS] test_transfer_fullAmountWithDelegations_delegatees() (gas: 569266)
[PASS] test_transfer_fullAmountWithDelegations_notDelegatees() (gas: 375119)
[PASS] test_transfer_fullAmountWithoutDelegations_delegatees() (gas: 357195)
[PASS] test_transfer_fullAmountWithoutDelegations_notDelegatees() (gas: 159002)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 40.70ms (3.02ms CPU time)

Ran 1 test for tests/protocol/tokenization/ATokenWithDelegationRounding.t.sol:ATokenWithDelegationRoundingTest
[PASS] test_getPowerCurrent_and_delegate_shouldRoundDown() (gas: 227432)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.93ms (814.49µs CPU time)

Ran 4 tests for tests/protocol/tokenization/AToken_TransferFrom.t.sol:ATokenTransferFromTests
[PASS] test_transferFrom(uint128,uint256) (runs: 1000, μ: 149464, ~: 151453)
Logs:
  Bound result 32519298283972017233292236492229
  Bound result 16917111901699476485540

[PASS] test_transferFrom_max_allowance() (gas: 190574)
[PASS] test_transferFrom_shouldRevertIfSenderInsufficientAllowance() (gas: 58447)
[PASS] test_transferFrom_shouldRevertIfSenderIsNotApproved() (gas: 31499)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 521.79ms (495.07ms CPU time)

Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 906871)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1045968)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1065911)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 888584)
[PASS] testEmptySource() (gas: 791876)
[PASS] testGetBaseCurrencyPrice() (gas: 12312)
[PASS] testGetPriceViaFallbackOracle() (gas: 970390)
[PASS] testUpdateFallbackOracle() (gas: 178435)
[PASS] testUpdateSingleSource() (gas: 126689)
[PASS] testUpdateSourceBaseCurrency() (gas: 138281)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 792758)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24207)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 32.47ms (2.10ms CPU time)

Ran 7 tests for tests/utils/AaveSetters.t.sol:AaveSettersTest
[PASS] test_setATokenBalance() (gas: 41767)
[PASS] test_setATokenTotalSupply() (gas: 38191)
[PASS] test_setLastUpdateTimestamp() (gas: 61267)
[PASS] test_setLiquidityIndex() (gas: 59946)
[PASS] test_setVTokenBalance() (gas: 41901)
[PASS] test_setVTokenTotalSupply() (gas: 38200)
[PASS] test_setVariableBorrowIndex() (gas: 59989)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 32.23ms (1.08ms CPU time)

Ran 4 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 50025305)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 57937158)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 49523860)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 59711736)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 89.94ms (85.37ms CPU time)

Ran 11 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 5251213)
[PASS] test10StaticATokenDeployment() (gas: 6676200)
[PASS] test1AaveV3GettersDeployment() (gas: 7429906)
[PASS] test2AaveV3PoolDeployment() (gas: 8348193)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8608764)
[PASS] test4PeripheralsRelease() (gas: 7059608)
[PASS] test5MiscDeployment() (gas: 844185)
[PASS] test7SetupMarket() (gas: 2641206)
[PASS] test8TokensMarket() (gas: 3883791)
[PASS] test9ConfigEngineDeployment() (gas: 7374303)
[PASS] testAaveV3FullBatchOrchestration() (gas: 50022717)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 20.09ms (11.24ms CPU time)

Ran 5 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay_V33_supply() (gas: 115104991)
[PASS] test_replay_v33_2transfer() (gas: 145282537)
[PASS] test_replay_v33_supply() (gas: 236527090)
[PASS] test_v32_borrow() (gas: 115164583)
[PASS] test_v32_withdrawEchidna() (gas: 115146547)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.55s (2.53s CPU time)

Ran 11 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 5251103)
[PASS] test10ConfigEngineDeployment() (gas: 7374240)
[PASS] test11StaticATokenDeployment() (gas: 6676133)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 4604224)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 3599145)
[PASS] test3AaveV3PoolDeployment() (gas: 8348159)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8608687)
[PASS] test5PeripheralsRelease() (gas: 7059630)
[PASS] test6MiscDeployment() (gas: 1247715)
[PASS] test8SetupMarket() (gas: 2665837)
[PASS] test9TokensMarket() (gas: 3883793)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 15.24ms (5.65ms CPU time)

Ran 23 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 2780720)
[PASS] testBorrowUpdatesNoChange() (gas: 2446529)
[PASS] testBorrowsUpdates() (gas: 2515307)
[PASS] testCapsUpdate() (gas: 2456281)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2472421)
[PASS] testCollateralUpdateLtZeroDebtCeilingShouldRevert() (gas: 990631)
[PASS] testCollateralUpdateLtZeroLiqProtocolFeeOnly() (gas: 2592220)
[PASS] testCollateralUpdateWrongBonus() (gas: 798200)
[PASS] testCollateralsUpdates() (gas: 2472232)
[PASS] testCollateralsUpdatesNoChange() (gas: 2444614)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 803801)
[PASS] testEModeCategoryCreation() (gas: 1241659)
[PASS] testEModeCategoryUpdates() (gas: 2601597)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2603238)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 878152)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 868390)
[PASS] testListingWithEModeCategoryCreation() (gas: 5726955)
[PASS] testListings() (gas: 5437686)
[PASS] testListingsCustom() (gas: 9260214)
[PASS] testListingsCustomWithEModeCategoryCreation() (gas: 9550206)
[PASS] testPriceFeedUpdateInvalidDecimalsShouldRevert() (gas: 870327)
[PASS] testPriceFeedsUpdates() (gas: 2524320)
[PASS] testRateStrategiesUpdates() (gas: 2511229)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 247.14ms (253.85ms CPU time)

Ran 1 test for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 48314301)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.58ms (17.92ms CPU time)

Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13601)
[PASS] test_setReserveInterestRateData() (gas: 142573)
[PASS] test_updateAToken() (gas: 2384516)
[PASS] test_updateVariableDebtToken() (gas: 1683120)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 35.19ms (3.82ms 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: 618084)
[PASS] test_reverts_initReserves_max() (gas: 174166)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 197304)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 30.93ms (582.80µs CPU time)

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27215)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 47299)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47353)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27126)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 47276)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47374)
[PASS] test_new_PriceOracleSentinel() (gas: 395850)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25429)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22340)
[PASS] test_setGracePeriod() (gas: 32317)
[PASS] test_setSequencerOracle() (gas: 24455)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 31.98ms (911.48µs CPU time)

Ran 18 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 40320)
[PASS] test_getAllATokens() (gas: 75395)
[PASS] test_getAllReservesTokens() (gas: 54783)
[PASS] test_getDebtCeiling() (gas: 21638)
[PASS] test_getFlashLoanEnabled() (gas: 21738)
[PASS] test_getInterestRateStrategyAddress() (gas: 19303)
[PASS] test_getIsVirtualAccActive() (gas: 10855)
[PASS] test_getLiquidationProtocolFee() (gas: 21719)
[PASS] test_getPaused() (gas: 21789)
[PASS] test_getReserveCaps() (gas: 21723)
[PASS] test_getReserveConfigurationData() (gas: 22702)
[PASS] test_getReserveDeficit() (gas: 21346)
[PASS] test_getReserveTokensAddresses() (gas: 25609)
[PASS] test_getSiloedBorrowing() (gas: 21793)
[PASS] test_getTotalDebt() (gas: 40320)
[PASS] test_getUnbackedMintCap() (gas: 10808)
[PASS] test_getUserReserveData() (gas: 607456)
[PASS] test_getVirtualUnderlyingBalance() (gas: 21532)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 35.51ms (2.26ms CPU time)

Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 47885)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_bps_usage() (gas: 48004)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage() (gas: 90655)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46210)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46232)
Logs:
  Bound result 8000
  Bound result 400

[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 123581, ~: 123962)
Logs:
  Bound result 3876
  Bound result 197
  Bound result 11012
  Bound result 8856
  Bound result 50

[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 117732, ~: 120332)
Logs:
  Bound result 2911
  Bound result 4751
  Bound result 1023
  Bound result 214
  Bound result 1725540767

[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 74646, ~: 75364)
Logs:
  Bound result 3569
  Bound result 71

[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 43496, ~: 43416)
Logs:
  Bound result 6729
  Bound result 23556

[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67557, ~: 68630)
Logs:
  Bound result 6822
  Bound result 27

[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67566, ~: 68639)
Logs:
  Bound result 6822
  Bound result 27

[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 32801, ~: 33021)
Logs:
  Bound result 115209646204721513

[PASS] test_zero_rates_strategy_calculate_rates() (gas: 18549)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 4.43s (4.40s CPU time)

Ran 53 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_approvePositionManager_false() (gas: 42552)
[PASS] test_approvePositionManager_true() (gas: 48988)
[PASS] test_dropReserve() (gas: 96087)
[PASS] test_getBorrowLogic() (gas: 13674)
[PASS] test_getFlashLoanLogic() (gas: 13719)
[PASS] test_getLiquidationLogic() (gas: 13783)
[PASS] test_getPoolLogic() (gas: 13693)
[PASS] test_getSupplyLogic() (gas: 13715)
[PASS] test_getVirtualUnderlyingBalance() (gas: 357149)
[PASS] test_getters_getUserAccountData() (gas: 707957)
[PASS] test_l2_borrow() (gas: 407706)
[PASS] test_l2_liquidationCall() (gas: 1002381)
[PASS] test_l2_partial_withdraw() (gas: 294812)
[PASS] test_l2_repay() (gas: 429170)
[PASS] test_l2_repay_atokens() (gas: 437817)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 603539, ~: 604193)
Logs:
  Bound result 111299161249340576614332373245289222
  Bound result 49542651451711212654180840349277652
  Bound result 61511
  Bound result 16881

[PASS] test_l2_set_user_collateral() (gas: 242250)
[PASS] test_l2_supply() (gas: 243511)
[PASS] test_l2_supply_permit(uint128,uint120) (runs: 1000, μ: 412451, ~: 412452)
[PASS] test_l2_withdraw() (gas: 233170)
[PASS] test_mintToTreasury() (gas: 784425)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 789013)
[PASS] test_noop_approvePositionManager_true_when_already_is_activated() (gas: 54177)
[PASS] test_noop_setUserUseReserveAsCollateralOnBehalfOf_true_when_already_is_activated() (gas: 425012)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 252797)
[PASS] test_pool_defaultValues() (gas: 4964064)
[PASS] test_renouncePositionManager() (gas: 38418)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81666, ~: 81909)
Logs:
  Bound result 80263292

[PASS] test_resetIsolationModeTotalDebt() (gas: 833089)
[PASS] test_revert_setUserEModeOnBehalfOf_not_position_manager(address) (runs: 1000, μ: 212826, ~: 212826)
[PASS] test_reverts_impl_initialize() (gas: 4377678)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 24928, ~: 24928)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 98872, ~: 98872)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4477931)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 944869)
[PASS] test_reverts_setUserUseReserveAsCollateralOnBehalfOf_caller_not_position_manager(address) (runs: 1000, μ: 403904, ~: 403904)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 698591)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 269103)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 186409)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 260182)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 50123)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 882638)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36623, ~: 36713)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 26634, ~: 26634)
[PASS] test_setUserEModeOnBehalfOf() (gas: 244720)
[PASS] test_setUserEmode() (gas: 218251)
[PASS] test_setUserEmode_twice() (gas: 356590)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 951228)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_false() (gas: 392376)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_true() (gas: 419118)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 214415)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 246912)
[PASS] test_updateBridgeProtocolFee() (gas: 231)
Suite result: ok. 53 passed; 0 failed; 0 skipped; finished in 8.47s (8.44s CPU time)

Ran 11 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] testMulDivCeil_NoRemainder() (gas: 3231)
[PASS] testMulDivCeil_RevertOnDivByZero() (gas: 3150)
[PASS] testMulDivCeil_RevertOnOverflow() (gas: 3166)
[PASS] testMulDivCeil_WithRemainder() (gas: 3230)
[PASS] testMulDivCeil_ZeroAOrB() (gas: 3779)
[PASS] test_calculateCompoundInterest_1() (gas: 4825)
[PASS] test_calculateCompoundInterest_2() (gas: 5264)
[PASS] test_calculateCompoundInterest_edge() (gas: 4972)
[PASS] test_calculateCompoundInterest_shouldNotOverflow() (gas: 4038)
[PASS] test_calculateLinearInterest() (gas: 4652)
[PASS] test_constants() (gas: 3159)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.57ms (222.72µs CPU time)

Ran 20 tests for tests/protocol/libraries/math/PercentageMath.t.sol:PercentageMathTests
[PASS] testPercentDivCeil_Exact() (gas: 3223)
[PASS] testPercentDivCeil_RevertOnDivByZero() (gas: 3188)
[PASS] testPercentDivCeil_RevertOnOverflow() (gas: 3178)
[PASS] testPercentDivCeil_WithCeilNeeded() (gas: 3289)
[PASS] testPercentMulCeil_Exact() (gas: 3250)
[PASS] testPercentMulCeil_RevertOnOverflow() (gas: 3190)
[PASS] testPercentMulCeil_WithRoundingUp() (gas: 3248)
[PASS] testPercentMulCeil_ZeroValueOrPercent() (gas: 3770)
[PASS] testPercentMulFloor_Exact() (gas: 3245)
[PASS] testPercentMulFloor_RevertOnOverflow() (gas: 3147)
[PASS] testPercentMulFloor_WithTruncation() (gas: 3199)
[PASS] testPercentMulFloor_ZeroInputs() (gas: 3739)
[PASS] test_constants() (gas: 4259)
[PASS] test_percentDiv() (gas: 4252)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 3817, ~: 3849)
[PASS] test_percentDiv_revertOnDivByZero() (gas: 3164)
[PASS] test_percentDiv_revertOnOverflow() (gas: 3153)
[PASS] test_percentMul() (gas: 4260)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 3682, ~: 3771)
[PASS] test_percentMul_revertOnOverflow() (gas: 3215)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 103.80ms (92.90ms CPU time)

Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 579152)
[PASS] test_reverts_borrow_DebtCeilingExceeded() (gas: 428335)
[PASS] test_reverts_borrow_InconsistentEModeCategory() (gas: 398164)
[PASS] test_reverts_borrow_cap() (gas: 285835)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 219100)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 399470)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 668923)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 568420)
[PASS] test_reverts_borrow_invalidAmount() (gas: 61923)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 410898)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 1168184)
[PASS] test_reverts_borrow_reserveInactive() (gas: 135807)
[PASS] test_reverts_borrow_reservePaused() (gas: 99971)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 298662)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 667802)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 380823)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 366299)
[PASS] test_variable_borrow() (gas: 354992)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 80.02ms (35.51ms CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52116, ~: 52029)
Logs:
  Bound result 3222
  Bound result 60

[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25930, ~: 25843)
Logs:
  Bound result 3222
  Bound result 60

[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29099, ~: 29186)
Logs:
  Bound result 6729
  Bound result 1

[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22028, ~: 22028)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22076, ~: 22076)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26786, ~: 26699)
Logs:
  Bound result 3222
  Bound result 60

[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23308, ~: 23308)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.66s (2.62s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Liquidations.CloseFactor.t.sol:PoolLiquidationCloseFactorTests
[PASS] test_fuzz_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50(uint256,uint256) (runs: 1000, μ: 832895, ~: 832967)
Logs:
  Bound result 8610338323413824768430
  Bound result 989503255026608209

[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 798197, ~: 798256)
Logs:
  Bound result 833371223222689016
  Bound result 989503255026608209

[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 795530, ~: 793133)
Logs:
  Bound result 872558060326510193808
  Bound result 463644115968403258

[PASS] test_hf_gt_095_borrow_gt_threshold_collateral_lt_threshold_closeFactorShouldBe100() (gas: 1043524)
[PASS] test_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50() (gas: 831576)
Logs:
  Bound result 100000000000000000000
  Bound result 970000000000000000

[PASS] test_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100() (gas: 796777)
Logs:
  Bound result 500000000000000000
  Bound result 970000000000000000

[PASS] test_hf_helper(uint256) (runs: 1000, μ: 534098, ~: 534138)
Logs:
  Bound result 817567625363940994

[PASS] test_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100() (gas: 796908)
Logs:
  Bound result 100000000000000000000
  Bound result 940000000000000000

[PASS] test_liquidationdataprovider_edge_range() (gas: 950707)
[PASS] test_liquidationdataprovider_edge_range_reverse() (gas: 1004434)
[PASS] test_shouldRevertIfCloseFactorIs100ButCollateralIsBelowThreshold() (gas: 802076)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 10.76s (10.73s CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 51497, ~: 51412)
Logs:
  Bound result 8720
  Bound result 567

[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25295, ~: 25210)
Logs:
  Bound result 8720
  Bound result 567

[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 28478, ~: 28561)
Logs:
  Bound result 2065
  Bound result 0

[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21403, ~: 21403)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21451, ~: 21451)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26159, ~: 26074)
Logs:
  Bound result 8720
  Bound result 567

[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22683, ~: 22683)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.22s (2.19s CPU time)

Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39970, ~: 39905)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 40917, ~: 40852)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38389, ~: 38324)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_initialization() (gas: 26143)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 41972)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52035, ~: 51970)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49243, ~: 49178)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25904, ~: 25839)
Logs:
  Bound result 9478
  Bound result 60

[PASS] test_overflow_liquidity_rates() (gas: 57891)
[PASS] test_overflow_variable_rates() (gas: 638437)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 33629, ~: 33629)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30448, ~: 30448)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30524, ~: 30524)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27023, ~: 27023)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 32463, ~: 32463)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.92s (3.88s CPU time)

Ran 18 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 906577)
[PASS] test_claimAllRewards() (gas: 861356)
[PASS] test_claimAllRewardsOnBehalf() (gas: 895049)
[PASS] test_claimAllRewardsToSelf() (gas: 860983)
[PASS] test_claimRewards() (gas: 858289)
[PASS] test_claimRewardsOnBehalf() (gas: 896769)
[PASS] test_claimRewardsToSelf() (gas: 857968)
[PASS] test_claimRewards_partial() (gas: 858604)
[PASS] test_claimRewards_zero() (gas: 620057)
[PASS] test_claimRewards_zero_with_rewards() (gas: 626549)
[PASS] test_configureAssets() (gas: 601167)
[PASS] test_initialize_no_op() (gas: 3614302)
[PASS] test_new_RewardsController() (gas: 3610338)
[PASS] test_setClaimer() (gas: 58207)
[PASS] test_setDistributionEnd() (gas: 617015)
[PASS] test_setEmissionPerSecond() (gas: 621042)
[PASS] test_setRewardOracle() (gas: 694761)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 880619)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 49.28ms (21.20ms CPU time)

Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18975)
[PASS] test_emergencyTransfer() (gas: 211650)
[PASS] test_getters() (gas: 18719)
[PASS] test_performTransfer() (gas: 22017)
[PASS] test_renewApproval() (gas: 23091)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 27.48ms (1.68ms CPU time)

Ran 3 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_claimRewards() (gas: 3028611)
[PASS] test_deposit() (gas: 772070)
[PASS] test_depositATokens() (gas: 921428)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 44.97ms (6.93ms CPU time)

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

Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26789)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27282, ~: 27282)
[PASS] test_claimingRewards_shouldRevert() (gas: 520120)
[PASS] test_deposit_shouldRevert() (gas: 467618)
[PASS] test_mint_shouldRevert() (gas: 471639)
[PASS] test_redeem_shouldRevert() (gas: 539652)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30340, ~: 30340)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53839)
[PASS] test_transfer_shouldRevert() (gas: 518036)
[PASS] test_withdraw_shouldRevert() (gas: 535484)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 423.20ms (395.44ms CPU time)

Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89789)
[PASS] test_permit_expired() (gas: 37844)
[PASS] test_permit_invalidSigner() (gas: 66419)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.50ms (2.40ms CPU time)

Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3355)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835496, ~: 798035)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835711, ~: 798250)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772955, ~: 774314)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 868094, ~: 830633)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835410, ~: 797949)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 773819, ~: 775228)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 815980, ~: 794331)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_correctAccountingForDelayedRegistration() (gas: 823752)
[PASS] test_getReferenceAsset() (gas: 12902)
[PASS] test_isRegisteredRewardToken() (gas: 634056)
[PASS] test_noRewardsInitialized() (gas: 39220)
[PASS] test_noopWhenNotInitialized() (gas: 52782)
[PASS] test_rewardTokens() (gas: 632197)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 849232, ~: 864640)
Logs:
  Bound result 79228162513264337593543952034
  Bound result 1133
  Bound result 5733
  Bound result 100000000

[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 806208, ~: 798872)
Logs:
  Bound result 79228162513264337596539306696
  Bound result 41262080
  Bound result 829639079
  Bound result 433

[PASS] test_zeroIncentivesController() (gas: 37689)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 16.15s (16.12s CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 735971, ~: 735976)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 189988)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 216816)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 414228)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.77s (2.74s CPU time)

Ran 26 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 792636)
[PASS] test_full_liquidate_atokens_edgecase_collateral_not_enough_to_cover_fee() (gas: 426279)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 956030)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1105768)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 975676)
[PASS] test_liquidate_borrow_bad_debt() (gas: 801796)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1136187)
[PASS] test_liquidate_emode_position_ltzero_outside_emode() (gas: 1076779)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1040553)
[PASS] test_liquidate_isolated_position() (gas: 893298)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 839022)
[PASS] test_liquidate_variable_borrow_repro() (gas: 1020273)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 660699)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 841685, ~: 842015)
Logs:
  Bound result 5308

[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 996218, ~: 999228)
Logs:
  Bound result 5189

[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 996788, ~: 999812)
Logs:
  Bound result 5189

[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1009957, ~: 1013052)
Logs:
  Bound result 5189

[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 853349)
[PASS] test_partial_liquidate_variable_borrow() (gas: 837556)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 617642)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 440939)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 575797)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 336249)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 174783)
[PASS] test_reverts_liquidation_reservePaused() (gas: 141748)
[PASS] test_self_liquidate_position_shouldRevert() (gas: 661920)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 13.71s (13.68s CPU time)

Ran 22 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 1018719)
[PASS] test_borrow_onBehalfOf() (gas: 1100589)
[PASS] test_flashLoanSimple() (gas: 683444)
[PASS] test_flashLoan_with_one_asset() (gas: 812784)
[PASS] test_flashLoan_with_one_asset_with_borrowing() (gas: 1334756)
[PASS] test_flashLoan_with_two_assets() (gas: 1184093)
[PASS] test_flashLoan_with_two_assets_with_borrowing() (gas: 2214219)
[PASS] test_liquidationCall_deficit() (gas: 1513785)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1875340)
[PASS] test_liquidationCall_full() (gas: 1513852)
[PASS] test_liquidationCall_partial() (gas: 1499872)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 1485046)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 1470830)
[PASS] test_mintToTreasury_one_asset() (gas: 1064432)
[PASS] test_mintToTreasury_one_asset_zero_amount() (gas: 46569)
[PASS] test_mintToTreasury_two_assets() (gas: 2135852)
[PASS] test_mintToTreasury_two_assets_zero_amount() (gas: 54137)
[PASS] test_repay() (gas: 1447593)
[PASS] test_repay_with_ATokens() (gas: 1298811)
[PASS] test_supply() (gas: 2065279)
[PASS] test_withdraw() (gas: 877202)
[PASS] test_withdraw_with_active_borrows() (gas: 1027790)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 84.37ms (46.47ms CPU time)

Ran 3 tests for tests/gas/Pool.OperationsComposition.gas.t.sol:PoolOperationsComposition_gas_Tests
[PASS] test_batchLiquidation() (gas: 2430744)
[PASS] test_repayAndWithdraw() (gas: 1437193)
[PASS] test_supplyAndBorrow() (gas: 730878)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 47.91ms (8.91ms CPU time)

Ran 18 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 230670)
[PASS] test_cancel_delegationWithSig() (gas: 95528)
[PASS] test_delegationWithSig() (gas: 90870)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3277926, ~: 3277968)
Logs:
  Bound result 12

[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3351391, ~: 3351433)
Logs:
  Bound result 12

[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3364613, ~: 3364655)
Logs:
  Bound result 12

[PASS] test_new_VariableDebtToken_implementation() (gas: 1583698)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3367096, ~: 3367138)
Logs:
  Bound result 12

[PASS] test_renounceDelegation() (gas: 46560)
[PASS] test_reverts_OperationNotSupported() (gas: 1601746)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 29246)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 104437)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2614447, ~: 2614393)
Logs:
  Bound result 12

[PASS] test_reverts_zero_address_delegationWithSig() (gas: 28637)
[PASS] test_scaledBalanceOf() (gas: 285798)
[PASS] test_totalScaledSupply() (gas: 326212)
[PASS] test_totalSupply() (gas: 326163)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3366989, ~: 3367031)
Logs:
  Bound result 12

Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 8.86s (8.83s CPU time)

Ran 5 tests for tests/protocol/tokenization/VariableDebtTokenRounding.t.sol:VariableDebtTokenRoundingTest
[PASS] test_balanceShouldRoundUp() (gas: 48617)
[PASS] test_borrowShouldRoundUp() (gas: 236151)
[PASS] test_creditDelegationAllowance(uint256) (runs: 1000, μ: 93985, ~: 93683)
Logs:
  Bound result 1114035724780795133955842

[PASS] test_repayShouldRoundDown() (gas: 344716)
[PASS] test_totalSupplyShouldRoundUp() (gas: 44456)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 415.00ms (384.40ms CPU time)

Ran 3 tests for tests/protocol/tokenization/VariableDebtToken_MintOnBehalf.t.sol:VariableDebtToken_MintOnBehalfTests
[PASS] test_mint(uint128,uint256) (runs: 1000, μ: 83896, ~: 83694)
Logs:
  Bound result 32519298283972017233292236492229
  Bound result 1000000000000007194

[PASS] test_mint_shouldRevertIfSenderInsufficientAllowance() (gas: 49042)
[PASS] test_mint_shouldRevertIfSenderIsNotApproved() (gas: 22365)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 345.52ms (318.38ms CPU time)

Ran 37 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] testRayDivCeil_Exact() (gas: 3273)
[PASS] testRayDivCeil_RevertOnDivByZero() (gas: 3211)
[PASS] testRayDivCeil_RevertOnOverflow() (gas: 3179)
[PASS] testRayDivCeil_WithCeil() (gas: 3283)
[PASS] testRayDivCeil_ZeroNumerator() (gas: 3236)
[PASS] testRayDivFloor_Exact() (gas: 3245)
[PASS] testRayDivFloor_RevertOnDivByZero() (gas: 3144)
[PASS] testRayDivFloor_RevertOnOverflow() (gas: 3245)
[PASS] testRayDivFloor_Truncation() (gas: 3279)
[PASS] testRayDivFloor_ZeroNumerator() (gas: 3254)
[PASS] testRayMulCeil_Exact() (gas: 3248)
[PASS] testRayMulCeil_RevertOnOverflow() (gas: 3235)
[PASS] testRayMulCeil_WithCeil() (gas: 3220)
[PASS] testRayMulCeil_Zero() (gas: 3759)
[PASS] testRayMulFloor_Exact() (gas: 3312)
[PASS] testRayMulFloor_RevertOnOverflow() (gas: 3169)
[PASS] testRayMulFloor_Truncation() (gas: 3216)
[PASS] testRayMulFloor_Zero() (gas: 3730)
[PASS] test_constants() (gas: 5771)
[PASS] test_rayDiv() (gas: 4933)
[PASS] test_rayDiv_revertOnDivByZero() (gas: 3263)
[PASS] test_rayDiv_revertOnOverflow() (gas: 3237)
[PASS] test_rayMul() (gas: 4239)
[PASS] test_rayMul_revertOnOverflow() (gas: 3139)
[PASS] test_rayToWad() (gas: 4173)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 3893, ~: 3841)
[PASS] test_wadDiv() (gas: 4813)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 3786, ~: 3850)
[PASS] test_wadDiv_revertOnDivByZero() (gas: 3251)
[PASS] test_wadDiv_revertOnOverflow() (gas: 3232)
[PASS] test_wadMul() (gas: 4195)
[PASS] test_wadMul_edge() (gas: 4253)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 3725, ~: 3814)
[PASS] test_wadMul_revertOnOverflow() (gas: 3141)
[PASS] test_wadToRay() (gas: 4182)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 3866, ~: 3925)
[PASS] test_wadToRay_revertOnOverflow() (gas: 3241)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 187.78ms (186.38ms CPU time)

Ran 15 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 455554)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 785815)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 778310)
[PASS] test_depositNativeEthInPool() (gas: 252319)
[PASS] test_fallback_revert() (gas: 10080)
[PASS] test_getWETHAddress() (gas: 10589)
[PASS] test_ownerCanRescueEth() (gas: 25215)
[PASS] test_ownerCanRescueTokens() (gas: 96752)
[PASS] test_sendEthFallback_revert() (gas: 16724)
[PASS] test_sendEth_revert() (gas: 16601)
[PASS] test_withdrawEth_full() (gas: 355769)
[PASS] test_withdrawEth_partial() (gas: 388362)
[PASS] test_withdrawEth_permit() (gas: 418132)
[PASS] test_withdrawEth_permit_frontrunRegression() (gas: 419059)
[PASS] test_withdrawEth_permit_full() (gas: 382335)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 45.45ms (16.53ms CPU time)

Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 933114)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 37.71ms (1.82ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 526096)
[PASS] test_full_withdraw() (gas: 246841)
[PASS] test_full_withdraw_to() (gas: 252324)
[PASS] test_partial_withdraw() (gas: 243324)
[PASS] test_reverts_WithdrawToAToken() (gas: 233989)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 650814)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 234016)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 236085)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 198917)
[PASS] test_reverts_withdraw_reservePaused() (gas: 272972)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 251284)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 39.12ms (9.76ms CPU time)

Ran 43 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_approvePositionManager_false() (gas: 42622)
[PASS] test_approvePositionManager_true() (gas: 49054)
[PASS] test_dropReserve() (gas: 96050)
[PASS] test_getBorrowLogic() (gas: 13740)
[PASS] test_getFlashLoanLogic() (gas: 13629)
[PASS] test_getLiquidationLogic() (gas: 13674)
[PASS] test_getPoolLogic() (gas: 13759)
[PASS] test_getSupplyLogic() (gas: 13692)
[PASS] test_getVirtualUnderlyingBalance() (gas: 357176)
[PASS] test_getters_getUserAccountData() (gas: 707846)
[PASS] test_mintToTreasury() (gas: 783715)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 788304)
[PASS] test_noop_approvePositionManager_true_when_already_is_activated() (gas: 54353)
[PASS] test_noop_setUserUseReserveAsCollateralOnBehalfOf_true_when_already_is_activated() (gas: 425011)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 252529)
[PASS] test_pool_defaultValues() (gas: 4964120)
[PASS] test_renouncePositionManager() (gas: 38488)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81711, ~: 81953)
Logs:
  Bound result 80263292

[PASS] test_resetIsolationModeTotalDebt() (gas: 831954)
[PASS] test_revert_setUserEModeOnBehalfOf_not_position_manager(address) (runs: 1000, μ: 212580, ~: 212580)
[PASS] test_reverts_impl_initialize() (gas: 4377700)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 24972, ~: 24972)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 98915, ~: 98915)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4477865)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 944665)
[PASS] test_reverts_setUserUseReserveAsCollateralOnBehalfOf_caller_not_position_manager(address) (runs: 1000, μ: 403839, ~: 403839)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 698391)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 268895)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 186044)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 259929)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 50034)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 881976)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36581, ~: 36668)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 26544, ~: 26544)
[PASS] test_setUserEModeOnBehalfOf() (gas: 244519)
[PASS] test_setUserEmode() (gas: 218115)
[PASS] test_setUserEmode_twice() (gas: 356229)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 950799)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_false() (gas: 392357)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_true() (gas: 419161)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 214370)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 246778)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 43 passed; 0 failed; 0 skipped; finished in 2.76s (2.73s CPU time)

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1526240)
[PASS] test_getter_getMarketId() (gas: 1488924)
[PASS] test_new_PoolAddressesProvider() (gas: 1498177)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1502343)
[PASS] test_reverts_setAddress_noAuth() (gas: 1507539)
[PASS] test_reverts_setters_notOwner() (gas: 1505033)
[PASS] test_setACLManager_changeContract() (gas: 3067366)
[PASS] test_setACLManager_setACLAdmin() (gas: 2301622)
[PASS] test_setAddress() (gas: 1516437)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2096171)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2228513)
[PASS] test_setAddress_updateAddress() (gas: 1525575)
[PASS] test_setPoolConfiguratorImpl() (gas: 6616637)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 11047460)
[PASS] test_setPoolDataProvider() (gas: 1516824)
[PASS] test_setPoolImpl() (gas: 7091458)
[PASS] test_setPoolImpl_upgrade() (gas: 11521750)
[PASS] test_setPriceOracle() (gas: 1516981)
[PASS] test_setPriceOracleSentinel() (gas: 1516852)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1526317)
[PASS] test_setPriceOracle_changeContract() (gas: 1526578)
[PASS] test_setter_setMarketId() (gas: 1500043)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 47.67ms (11.73ms CPU time)

Ran 16 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 570167)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 643026)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 610704)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 396446)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 603559, ~: 604208)
[PASS] test_repayWithATokens_shouldRevertIfUnhealthyAfterRepayment() (gas: 354581)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 575053, ~: 575661)
Logs:
  Bound result 111299161249340576614332373245289222
  Bound result 49542651451711212654180840349277652
  Bound result 61511
  Bound result 16881

[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 580808, ~: 581448)
Logs:
  Bound result 111299161249340576614332373245289222
  Bound result 49542651451711212654180840349277652
  Bound result 61511
  Bound result 16881

[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 499997, ~: 500177)
Logs:
  Bound result 111299161249340576614332373245289222
  Bound result 49542651451711212654180840349277652
  Bound result 61511
  Bound result 16881

[PASS] test_repay_full_variable_borrow() (gas: 382098)
[PASS] test_revert_repay_full_stable_borrow() (gas: 313553)
[PASS] test_reverts_borrow_invalidAmount() (gas: 59830)
[PASS] test_reverts_borrow_reserveInactive() (gas: 133079)
[PASS] test_reverts_borrow_reservePaused() (gas: 97371)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 308109)
[PASS] test_reverts_repay_no_debt() (gas: 60025)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 10.61s (10.58s CPU time)

Ran 4 tests for tests/protocol/pool/Pool.Rounding.t.sol:PoolRoundingTests
[PASS] test_borrowCapShouldRoundUp() (gas: 484055)
[PASS] test_debtBalanceInBaseCurrencyShouldRoundUp() (gas: 424055)
[PASS] test_reverts_withdrawShouldRoundDow...*[Comment body truncated]*

@github-actions
Copy link

♻️ Forge Gas Snapshots

🔕 Unchanged
Path Value
snapshots/AToken.transfer.json
full amount; receiver: ->enableCollateral 113,749
full amount; receiver: ->enableCollateral; transferFrom 123,060
full amount; sender: ->disableCollateral; 96,766
full amount; sender: ->disableCollateral; receiver: ->enableCollateral 113,866
full amount; sender: ->disableCollateral; receiver: ->enableCollateral; transferFrom 123,177
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral 113,866
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral; transferFrom 123,177
full amount; sender: ->disableCollateral; transferFrom 106,077
full amount; sender: collateralDisabled 96,649
full amount; sender: collateralDisabled; transferFrom 105,960
partial amount; sender: collateralDisabled; 96,625
partial amount; sender: collateralDisabled; receiver: ->enableCollateral 113,725
partial amount; sender: collateralDisabled; receiver: ->enableCollateral; transferFrom 118,236
partial amount; sender: collateralDisabled; transferFrom 101,136
partial amount; sender: collateralEnabled; 96,833
partial amount; sender: collateralEnabled; receiver: ->enableCollateral 113,933
partial amount; sender: collateralEnabled; receiver: ->enableCollateral; transferFrom 118,444
partial amount; sender: collateralEnabled; transferFrom 101,344
snapshots/ATokenWithDelegation.transfer.json
full amount; sender: with delegations, ->disableCollateral; receiver: without delegations, ->enableCollateral 133,137
full amount; sender: with delegations, delegatee, ->disableCollateral; receiver: with delegations, delegatee, ->enableCollateral 129,075
full amount; sender: with delegations, not delegatee, ->disableCollateral; receiver: with delegations, not delegatee, ->enableCollateral 129,075
full amount; sender: without delegations, ->disableCollateral; receiver: with delegations, ->enableCollateral 116,037
full amount; sender: without delegations, delegatee, ->disableCollateral; receiver: without delegations, delegatee, ->enableCollateral 120,100
full amount; sender: without delegations, not delegatee, ->disableCollateral; receiver: without delegations, not delegatee, ->enableCollateral 120,100
snapshots/Pool.Getters.json
getEModeCategoryCollateralConfig 8,001
getEModeCategoryData 11,054
getLiquidationGracePeriod 7,759
getReserveData 29,730
getUserAccountData: supplies: 0, borrows: 0 20,383
getUserAccountData: supplies: 0, borrows: 0 with eMode enabled 20,383
getUserAccountData: supplies: 1, borrows: 0 55,292
getUserAccountData: supplies: 1, borrows: 0 with eMode enabled 60,593
getUserAccountData: supplies: 2, borrows: 0 84,512
getUserAccountData: supplies: 2, borrows: 0 with eMode enabled 90,667
getUserAccountData: supplies: 2, borrows: 1 115,201
getUserAccountData: supplies: 2, borrows: 1 with eMode enabled 121,357
snapshots/Pool.Operations.json
borrow: first borrow->borrowingEnabled 250,073
borrow: first borrow->borrowingEnabled; onBehalfOf 256,343
borrow: recurrent borrow 214,990
borrow: recurrent borrow; onBehalfOf 216,472
flashLoan: flash loan for one asset 162,244
flashLoan: flash loan for one asset and borrow 267,567
flashLoan: flash loan for two assets 255,238
flashLoan: flash loan for two assets and borrow 462,687
flashLoanSimple: simple flash loan 138,142
liquidationCall: deficit on liquidated asset 352,112
liquidationCall: deficit on liquidated asset + other asset 437,737
liquidationCall: full liquidation 352,112
liquidationCall: full liquidation and receive ATokens 323,283
liquidationCall: partial liquidation 343,017
liquidationCall: partial liquidation and receive ATokens 314,188
mintToTreasury: one asset with non zero amount 100,355
mintToTreasury: one asset with zero amount 35,781
mintToTreasury: two assets with non zero amount 160,659
mintToTreasury: two assets with zero amount 41,020
repay: full repay 156,610
repay: full repay with ATokens 163,619
repay: partial repay 152,962
repay: partial repay with ATokens 178,178
supply: collateralDisabled 139,712
supply: collateralEnabled 139,712
supply: first supply->collateralEnabled 169,629
withdraw: full withdraw 155,229
withdraw: partial withdraw 171,985
withdraw: partial withdraw with active borrows 220,715
snapshots/Pool.OperationsComposition.json
batchLiquidate: liquidate 2 users 485,779
repayAndWithdraw: borrow disabled, collateral disabled 288,248
supplyAndBorrow: first supply->collateralEnabled, first borrow 378,316
snapshots/Pool.Setters.json
setUserEMode: enter eMode, 1 borrow, 1 supply 137,560
setUserEMode: leave eMode, 1 borrow, 1 supply 109,680
setUserEModeOnBehalfOf: enter eMode, 1 borrow, 1 supply 140,361
setUserEModeOnBehalfOf: leave eMode, 1 borrow, 1 supply 112,481
setUserUseReserveAsCollateral: disableCollateral, 1 supply 46,344
setUserUseReserveAsCollateral: enableCollateral, 1 supply 81,062
setUserUseReserveAsCollateralOnBehalfOf: disableCollateral, 1 supply 49,223
setUserUseReserveAsCollateralOnBehalfOf: enableCollateral, 1 supply 83,941
snapshots/ProtocolDataProvider.json
getATokenTotalSupply 29,990
getAllATokens 63,750
getAllReservesTokens 43,116
getFlashLoanEnabled 11,281
getInterestRateStrategyAddress 8,855
getIsVirtualAccActive 463
getLiquidationProtocolFee 11,308
getPaused 11,397
getReserveCaps 11,318
getReserveConfigurationData 11,754
getReserveDeficit 11,017
getReserveTokensAddresses 14,933
getSiloedBorrowing 11,334
getTotalDebt 29,990
getUnbackedMintCap 413
getUserReserveData 70,439
getVirtualUnderlyingBalance 11,188
snapshots/StataTokenV2.json
claimRewards 355,469
deposit 270,549
depositATokens 194,310
redeem 196,884
redeemAToken 121,660
snapshots/WrappedTokenGatewayV3.json
borrowETH 233,444
depositETH 197,958
repayETH 179,306
withdrawETH 237,334

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