Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fixed vm.assume for user address for the Pool Deficit tests #52

Closed
wants to merge 1 commit into from

Conversation

TepNik
Copy link

@TepNik TepNik commented Feb 24, 2025

No description provided.

@TepNik TepNik requested a review from sakulstra February 24, 2025 15:01
Copy link

Forge Build Sizes

🔕 Unchanged
Contract Runtime Size (B) Initcode Size (B) Runtime Margin (B) Initcode Margin (B)
ACLManager 3,493 4,108 21,083 45,044
ATokenHandler 9,969 10,709 14,607 38,443
ATokenInstance 10,162 11,059 14,414 38,093
ATokenMock 803 967 23,773 48,185
AaveOracle 2,607 3,767 21,969 45,385
AaveProtocolDataProvider 9,628 9,909 14,948 39,243
AaveV3BatchOrchestration 44 94 24,532 49,058
AaveV3ConfigEngine 7,396 8,988 17,180 40,164
AaveV3DefaultRateStrategyProcedure 21 47 24,555 49,105
AaveV3GettersBatchOne 229 32,675 24,347 16,477
AaveV3GettersBatchTwo 137 10,835 24,439 38,317
AaveV3GettersProcedureOne 21 47 24,555 49,105
AaveV3GettersProcedureTwo 21 47 24,555 49,105
AaveV3HelpersBatchOne 353 33,396 24,223 15,756
AaveV3HelpersBatchTwo 229 31,062 24,347 18,090
AaveV3HelpersProcedureOne 21 47 24,555 49,105
AaveV3HelpersProcedureTwo 21 47 24,555 49,105
AaveV3IncentiveProcedure 21 47 24,555 49,105
AaveV3L2PoolBatch 137 43,305 24,439 5,847
AaveV3L2PoolProcedure 21 47 24,555 49,105
AaveV3LibrariesBatch1 353 31,313 24,223 17,839
AaveV3LibrariesBatch2 353 45,102 24,223 4,050
AaveV3MiscBatch 137 6,833 24,439 42,319
AaveV3MiscProcedure 21 47 24,555 49,105
AaveV3MockAssetEModeUpdate 3,309 3,538 21,267 45,614
AaveV3MockBorrowUpdate 3,189 3,380 21,387 45,772
AaveV3MockBorrowUpdateNoChange 3,219 3,410 21,357 45,742
AaveV3MockCapUpdate 3,133 3,324 21,443 45,828
AaveV3MockCollateralUpdate 3,193 3,384 21,383 45,768
AaveV3MockCollateralUpdateCorrectBonus 3,193 3,384 21,383 45,768
AaveV3MockCollateralUpdateNoChange 3,220 3,411 21,356 45,741
AaveV3MockCollateralUpdateWrongBonus 3,197 3,388 21,379 45,764
AaveV3MockEModeCategoryUpdate 3,049 3,187 21,527 45,965
AaveV3MockEModeCategoryUpdateEdgeBonus 3,052 3,190 21,524 45,962
AaveV3MockEModeCategoryUpdateNoChange 3,120 3,258 21,456 45,894
AaveV3MockListing 3,488 3,717 21,088 45,435
AaveV3MockListingCustom 3,781 4,093 20,795 45,059
AaveV3MockPriceFeedUpdate 3,159 3,388 21,417 45,764
AaveV3MockRatesUpdate 3,152 3,343 21,424 45,809
AaveV3OracleProcedure 21 47 24,555 49,105
AaveV3ParaswapBatch 189 28,487 24,387 20,665
AaveV3ParaswapProcedure 21 47 24,555 49,105
AaveV3PeripheryBatch 292 37,612 24,284 11,540
AaveV3PoolBatch 137 42,058 24,439 7,094
AaveV3PoolConfigProcedure 21 47 24,555 49,105
AaveV3PoolProcedure 21 47 24,555 49,105
AaveV3SetupBatch 11,610 24,899 12,966 24,253
AaveV3SetupProcedure 21 47 24,555 49,105
AaveV3TestListing 7,018 14,747 17,558 34,405
AaveV3TokensBatch 137 20,323 24,439 28,829
AaveV3TokensProcedure 21 47 24,555 49,105
AaveV3TreasuryProcedure 21 47 24,555 49,105
Actor 943 1,747 23,633 47,405
Address 44 94 24,532 49,058
AdminUpgradeabilityProxy 1,544 2,502 23,032 46,650
AugustusRegistryMock 162 190 24,414 48,962
BaseAdminUpgradeabilityProxy 1,536 1,565 23,040 47,587
BaseHandler 147 866 24,429 48,286
BaseHooks 147 866 24,429 48,286
BaseImmutableAdminUpgradeabilityProxy 1,302 1,469 23,274 47,683
BaseUpgradeabilityProxy 108 135 24,468 49,017
BorrowEngine 2,486 2,539 22,090 46,613
BorrowLogic 12,712 12,765 11,864 36,387
BorrowingHandler 13,585 14,325 10,991 34,827
BridgeLogic 6,747 6,800 17,829 42,352
CalldataLogic 44 94 24,532 49,058
CapsEngine 1,136 1,189 23,440 47,963
CollateralEngine 2,691 2,744 21,885 46,408
Collector 6,496 6,716 18,080 42,436
ConfiguratorInputTypes 44 94 24,532 49,058
ConfiguratorLogic 6,040 6,093 18,536 43,059
Create2Factory 52 78 24,524 49,074
Create2Utils 121 172 24,455 48,980
DataTypes 44 94 24,532 49,058
DefaultMarketInput 21 47 24,555 49,105
DefaultReserveInterestRateStrategyV2 3,998 4,293 20,578 44,859
DeployPermit2 44 94 24,532 49,058
DeployUtils 913 942 23,663 48,210
DonationAttackHandler 670 1,390 23,906 47,762
ECDSA 44 94 24,532 49,058
EIP712SigUtils 1,563 1,616 23,013 47,536
EModeConfiguration 44 94 24,532 49,058
EModeEngine 4,384 4,437 20,192 44,715
EModeLogic 3,952 4,005 20,624 45,147
ERC1967Proxy 122 967 24,454 48,185
ERC1967Utils 44 94 24,532 49,058
ERC20 2,086 2,839 22,490 46,313
EmissionManager 3,398 3,859 21,178 45,293
EngineFlags 44 94 24,532 49,058
EnumerableSet 44 94 24,532 49,058
Errors 4,660 4,713 19,916 44,439
FactoryDeployer 214 241 24,362 48,911
Faucet 2,033 2,565 22,543 46,587
FlashLoanHandler 8,942 9,682 15,634 39,470
FlashLoanLogic 9,504 9,557 15,072 39,595
FlashloanAttacker 1,602 2,026 22,974 47,126
GPv2SafeERC20 44 94 24,532 49,058
GenericLogic 44 94 24,532 49,058
Initializable 21 47 24,555 49,105
InitializableAdminUpgradeabilityProxy 2,388 2,417 22,188 46,735
InitializableImmutableAdminUpgradeabilityProxy 1,853 2,020 22,723 47,132
InitializableUpgradeabilityProxy 871 900 23,705 48,252
IsolationModeLogic 44 94 24,532 49,058
L2Encoder 3,731 3,926 20,845 45,226
L2PoolInstance 22,663 22,919 1,913 26,233
LendingHandler 12,142 12,882 12,434 36,270
LiquidationDataProvider 7,518 7,805 17,058 41,347
LiquidationHandler 11,637 12,377 12,939 36,775
LiquidationHelper 44 94 24,532 49,058
LiquidationLogic 14,886 14,939 9,690 34,213
ListingEngine 6,967 7,020 17,609 42,132
MarketReportUtils 44 94 24,532 49,058
Math 44 94 24,532 49,058
MathUtils 44 94 24,532 49,058
MathUtilsWrapper 917 946 23,659 48,206
MessageHashUtils 44 94 24,532 49,058
MetadataReporter 12,072 12,101 12,504 37,051
MintableDelegationERC20 2,534 3,319 22,042 45,833
MintableERC20 3,351 4,300 21,225 44,852
Mock 183 211 24,393 48,941
MockAToken 10,164 11,063 14,412 38,089
MockATokenRepayment 10,245 11,144 14,331 38,008
MockAggregator 134 278 24,442 48,874
MockAggregatorSetPrice 243 391 24,333 48,761
MockBadTransferStrategy 998 1,187 23,578 47,965
MockERC20AaveLMUpgradeable 7,932 8,150 16,644 41,002
MockERC4626StataTokenUpgradeable 9,500 9,856 15,076 39,296
MockFlashLoanATokenReceiver 2,396 2,774 22,180 46,378
MockFlashLoanReceiver 2,024 2,053 22,552 47,099
MockFlashLoanSimpleReceiver 1,476 1,761 23,100 47,391
MockIncentivesController 132 159 24,444 48,993
MockInitializableFromConstructorImple 349 639 24,227 48,513
MockInitializableImple 1,544 1,576 23,032 47,576
MockInitializableImpleV2 1,546 1,578 23,030 47,574
MockInitializableV1 307 339 24,269 48,813
MockInitializableV2 309 341 24,267 48,811
MockL2Pool 22,690 22,946 1,886 26,206
MockParaSwapAugustus 1,939 1,968 22,637 47,184
MockParaSwapAugustusRegistry 179 308 24,397 48,844
MockPeripheryContractV1 309 338 24,267 48,814
MockPeripheryContractV2 290 319 24,286 48,833
MockPoolInherited 21,605 21,888 2,971 27,264
MockReentrantInitializableImple 413 445 24,163 48,707
MockReserveConfiguration 2,652 2,681 21,924 46,471
MockReserveInterestRateStrategy 3,315 3,614 21,261 45,538
MockScaledTestnetERC20 4,101 5,529 20,475 43,623
MockScaledToken 3,999 4,761 20,577 44,391
MockVariableDebtToken 7,280 8,163 17,296 40,989
Ownable 629 722 23,947 48,430
Panic 44 94 24,532 49,058
ParaSwapLiquiditySwapAdapter 8,145 9,269 16,431 39,883
ParaSwapRepayAdapter 8,725 9,939 15,851 39,213
ParaSwapWithdrawSwapAdapter 6,655 7,709 17,921 41,443
PercentageMath 44 94 24,532 49,058
PercentageMathWrapper 297 326 24,279 48,826
PoolAddressesProvider 6,696 8,050 17,880 41,102
PoolAddressesProviderRegistry 2,149 2,610 22,427 46,542
PoolConfiguratorInstance 19,728 19,760 4,848 29,392
PoolHandler 12,243 12,983 12,333 36,169
PoolInstance 21,416 21,672 3,160 27,480
PoolLogic 6,943 6,996 17,633 42,156
PoolPermissionedHandler 10,518 11,258 14,058 37,894
PoolStorage 21 47 24,555 49,105
Pretty 2,459 2,512 22,117 46,640
PriceAggregatorHandler 485 1,205 24,091 47,947
PriceFeedEngine 1,531 1,584 23,045 47,568
PriceOracle 469 498 24,107 48,654
PriceOracleSentinel 1,669 1,885 22,907 47,267
PropertiesLibString 44 94 24,532 49,058
ProtocolAssertions 147 866 24,429 48,286
ProxyAdmin 990 1,235 23,586 47,917
ProxyHelpers 44 94 24,532 49,058
PullRewardsTransferStrategy 1,255 1,481 23,321 47,671
RateEngine 2,297 2,350 22,279 46,802
ReserveConfiguration 128 179 24,448 48,973
ReserveLogic 44 94 24,532 49,058
RevenueSplitter 1,942 2,259 22,634 46,893
RewardsController 14,067 14,261 10,509 34,891
RewardsDataTypes 44 94 24,532 49,058
SafeCast 44 94 24,532 49,058
SafeERC20 44 94 24,532 49,058
SafeMath 44 94 24,532 49,058
SequencerOracle 865 1,326 23,711 47,826
Setup 147 866 24,429 48,286
SigUtils 492 545 24,084 48,607
SignedMath 44 94 24,532 49,058
SlotParser 330 383 24,246 48,769
StakeMock 355 384 24,221 48,768
StakedTokenTransferStrategy 2,060 2,770 22,516 46,382
StataTokenFactory 2,981 3,437 21,595 45,715
StataTokenV2 18,929 19,631 5,647 29,521
StorageSlot 44 94 24,532 49,058
Strings 44 94 24,532 49,058
SupplyLogic 11,910 11,963 12,666 37,189
TestERC20 3,946 5,198 20,630 43,954
TestnetERC20 3,981 5,401 20,595 43,751
TransparentProxyFactory 6,830 6,859 17,746 42,293
TransparentUpgradeableProxy 1,088 3,582 23,488 45,570
UiIncentiveDataProviderV3 9,046 9,075 15,530 40,077
UiPoolDataProviderV3 10,002 10,213 14,574 38,939
UpgradeabilityProxy 108 855 24,468 48,297
UserConfiguration 44 94 24,532 49,058
ValidationLogic 189 241 24,387 48,911
VariableDebtTokenHandler 1,177 1,897 23,399 47,255
VariableDebtTokenHarness 7,296 8,179 17,280 40,973
VariableDebtTokenInstance 7,278 8,159 17,298 40,993
WETH9 1,886 2,357 22,690 46,795
WETH9Mock 2,641 3,875 21,935 45,277
WETH9Mocked 2,192 2,663 22,384 46,489
WadRayMath 44 94 24,532 49,058
WadRayMathWrapper 816 845 23,760 48,307
WalletBalanceProvider 2,557 2,586 22,019 46,566
WalletMock 21 47 24,555 49,105
WrappedTokenGatewayV3 5,387 6,279 19,189 42,873

Copy link

🌈 Test Results
No files changed, compilation skipped

Ran 6 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 49675)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18171)
[PASS] testTransfer() (gas: 54918)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18195)
[PASS] test_receiveEth() (gas: 20297)
[PASS] test_successful() (gas: 13389)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.91ms (432.34µs CPU time)

Ran 7 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 49675)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18193)
[PASS] testTransfer() (gas: 54873)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18217)
[PASS] test_isFundsAdmin() (gas: 24267)
[PASS] test_isNotFundsAdmin() (gas: 17595)
[PASS] test_receiveEth() (gas: 20297)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 11.57ms (847.62µs CPU time)

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

Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49653)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18345)
[PASS] testCancelStreamByFundsAdmin() (gas: 206193)
[PASS] testCancelStreamByRecipient() (gas: 231303)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242254)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22848)
[PASS] testCreateStream() (gas: 244333)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27266)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24611)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25055)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25310)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25078)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25778)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23224)
[PASS] testGetNextStreamId() (gas: 17598)
[PASS] testGetNotExistingStream() (gas: 18426)
[PASS] testGetStream() (gas: 234368)
[PASS] testTransfer() (gas: 54962)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18347)
[PASS] testWithdrawFromStream() (gas: 307230)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230235)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243637)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238129)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240288)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23014)
[PASS] test_receiveEth() (gas: 20319)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 20.61ms (12.40ms CPU time)

Ran 9 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 408452)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 710360)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 421878)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 635592)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 622186)
[PASS] test_transfer_partialAmount() (gas: 421953)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 635652)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 406919)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 620600)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 84.08ms (20.08ms CPU time)

Ran 17 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259762)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129523)
[PASS] test_burn_zeroAddress() (gas: 259125)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129334)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 50.48ms (4.22ms CPU time)

Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 562246)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 649865)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 572848)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 254908)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 575696)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 252188)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 628468)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 57.89ms (12.61ms CPU time)

Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17084)
[PASS] test_revert_notAdmin_mint() (gas: 17178)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17210)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17015)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 45.16ms (349.30µs CPU time)

Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26163)
[PASS] test_cancelPermit() (gas: 100693)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32906)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46698)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47177)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55087)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46525)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 54947)
[PASS] test_submitPermit() (gas: 94296)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 53.80ms (6.04ms CPU time)

Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 275412)
[PASS] test_repay_partialDebt() (gas: 274535)
[PASS] test_revert_repay_withoutFunds() (gas: 180152)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 44.48ms (2.32ms CPU time)

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

Ran 28 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay_V33_setUserEMode() (gas: 3683815)
[PASS] test_replay_V33_supply() (gas: 2077206)
[PASS] test_replay_V33_transferFrom() (gas: 2552756)
[PASS] test_replay_v33_2liquidationCall() (gas: 2753953)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2094335)
[PASS] test_replay_v33_2setUserEMode() (gas: 2578252)
[PASS] test_replay_v33_2transfer() (gas: 2097118)
[PASS] test_replay_v33_3liquidationCall() (gas: 2858687)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_C() (gas: 2205663)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2598983)
[PASS] test_replay_v33_borrow() (gas: 6357408)
[PASS] test_replay_v33_echidna_BASE_INVARIANT_B() (gas: 3541210)
[PASS] test_replay_v33_echidna_BORROWING_INVARIANT_B() (gas: 7548672)
[PASS] test_replay_v33_echidna_BORROWING_INVARIANT_C() (gas: 19264751)
[PASS] test_replay_v33_eliminateReserveDeficit() (gas: 3541192)
[PASS] test_replay_v33_liquidationCall() (gas: 2274600)
[PASS] test_replay_v33_repayWithATokens() (gas: 2595997)
[PASS] test_replay_v33_setPoolPause() (gas: 3705403)
[PASS] test_replay_v33_setReserveActive() (gas: 2151398)
[PASS] test_replay_v33_supply() (gas: 2716563)
[PASS] test_v32_2_borrow() (gas: 2279749)
[PASS] test_v32_2_liquidationCall() (gas: 2662728)
[PASS] test_v32_borrow() (gas: 2126146)
[PASS] test_v32_liquidationCall() (gas: 2876854)
[PASS] test_v32_mintToTreasury() (gas: 2545356)
[PASS] test_v32_repay() (gas: 1966607)
[PASS] test_v32_setPoolPause() (gas: 4608999)
[PASS] test_v32_withdrawEchidna() (gas: 2114739)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 623.21ms (577.72ms CPU time)

Ran 13 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4555856)
[PASS] test10ConfigEngineDeployment() (gas: 6574845)
[PASS] test11StaticATokenDeployment() (gas: 6703281)
[PASS] test12PeripheralsTreasuryPartner() (gas: 6949095)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6573257)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2063021)
[PASS] test3AaveV3PoolDeployment() (gas: 8514974)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8765607)
[PASS] test5PeripheralsRelease() (gas: 6462424)
[PASS] test6MiscDeployment() (gas: 1360629)
[PASS] test7ParaswapDeployment() (gas: 5156198)
[PASS] test8SetupMarket() (gas: 2715171)
[PASS] test9TokensMarket() (gas: 3900799)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 23.42ms (9.00ms CPU time)

Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 162086)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 232071)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 160039)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 224488)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81567)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81608)
[PASS] test_atoken_multiple_transfers() (gas: 201287)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 386305, ~: 390609)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 524853)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 395919)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 405468)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.37s (1.32s CPU time)

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

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 53785481)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 64891799)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53262299)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 66721873)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 65398867)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 176.28ms (170.32ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4555943)
[PASS] test10StaticATokenDeployment() (gas: 6703331)
[PASS] test1AaveV3GettersDeployment() (gas: 7834796)
[PASS] test2AaveV3PoolDeployment() (gas: 8515008)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8765684)
[PASS] test4PeripheralsRelease() (gas: 6462446)
[PASS] test5MiscDeployment() (gas: 929335)
[PASS] test6ParaswapRelease() (gas: 5156175)
[PASS] test7SetupMarket() (gas: 2690495)
[PASS] test8TokensMarket() (gas: 3900808)
[PASS] test9ConfigEngineDeployment() (gas: 6574908)
[PASS] testAaveV3FullBatchOrchestration() (gas: 53781872)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 27.93ms (15.56ms CPU time)

Ran 47 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 98864)
[PASS] test_getBorrowLogic() (gas: 13620)
[PASS] test_getBridgeLogic() (gas: 13706)
[PASS] test_getEModeLogic() (gas: 13708)
[PASS] test_getFlashLoanLogic() (gas: 13685)
[PASS] test_getLiquidationLogic() (gas: 13685)
[PASS] test_getPoolLogic() (gas: 13706)
[PASS] test_getSupplyLogic() (gas: 13683)
[PASS] test_getVirtualUnderlyingBalance() (gas: 244672)
[PASS] test_getters_getUserAccountData() (gas: 598641)
[PASS] test_l2_borrow() (gas: 432414)
[PASS] test_l2_liquidationCall() (gas: 1083406)
[PASS] test_l2_partial_withdraw() (gas: 307375)
[PASS] test_l2_repay() (gas: 461025)
[PASS] test_l2_repay_atokens() (gas: 468685)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 630481, ~: 627817)
[PASS] test_l2_set_user_collateral() (gas: 267056)
[PASS] test_l2_supply() (gas: 250760)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 419243, ~: 419248)
[PASS] test_l2_withdraw() (gas: 243292)
[PASS] test_mintToTreasury() (gas: 693612)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 698171)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290835)
[PASS] test_pool_defaultValues() (gas: 4368448)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81924, ~: 82198)
[PASS] test_resetIsolationModeTotalDebt() (gas: 721884)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25515, ~: 25515)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127035, ~: 127035)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4380496)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 43827, ~: 43827)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 969520)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600724)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 296738)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 212016)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 291598)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71869)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 778678)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 34670, ~: 34746)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 899736)
[PASS] test_setUserEmode() (gas: 227668)
[PASS] test_setUserEmode_twice() (gas: 358158)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 968439)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240307)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277892)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 7.12s (7.07s CPU time)

Ran 5 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] test_calculateCompoundInterest_1() (gas: 10340)
[PASS] test_calculateCompoundInterest_2() (gas: 10337)
[PASS] test_calculateCompoundInterest_edge() (gas: 9166)
[PASS] test_calculateLinearInterest() (gas: 9211)
[PASS] test_constants() (gas: 8334)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.71ms (240.62µs CPU time)

Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 196192)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 739972)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 811061)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 912655)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 791019)
[PASS] test_swapAndDeposit() (gas: 891441)
[PASS] test_swapAndDeposit_permit() (gas: 938488)
[PASS] test_swapAndRepay() (gas: 987298)
[PASS] test_swapAndRepay_flashloan() (gas: 1076146)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1118777)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1036783)
[PASS] test_swapAndRepay_permit() (gas: 1034175)
[PASS] test_swap_liquidity_flashloan() (gas: 1002304)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1044846)
[PASS] test_withdrawAndSwap() (gas: 808494)
[PASS] test_withdrawAndSwap_permit() (gas: 851613)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 532838)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 171.39ms (92.31ms CPU time)

Ran 5 tests for tests/protocol/libraries/math/PercentageMath.t.sol:PercentageMathTests
[PASS] test_constants() (gas: 10165)
[PASS] test_percentDiv() (gas: 11147)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 10565, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10618, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 182.51ms (181.14ms CPU time)

Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 556781)
[PASS] test_reverts_borrow_cap() (gas: 303525)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81484)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315212)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 649154)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 390265)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 563284)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 429768)
[PASS] test_reverts_borrow_invalidAmount() (gas: 64941)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 374498)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132863)
[PASS] test_reverts_borrow_reserveInactive() (gas: 140844)
[PASS] test_reverts_borrow_reservePaused() (gas: 103564)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315651)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 708151)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406653)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381059)
[PASS] test_variable_borrow() (gas: 346821)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 72.62ms (17.36ms CPU time)

Ran 26 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 812804)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 949051)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1147466)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1008742)
[PASS] test_liquidate_borrow_bad_debt() (gas: 826108)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1192311)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1039068)
[PASS] test_liquidate_isolated_position() (gas: 898196)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 834625)
[PASS] test_liquidate_variable_borrow_repro() (gas: 1053061)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 687650)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 875856, ~: 876178)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1087419, ~: 1093107)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1086219, ~: 1090603)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1101165, ~: 1107530)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 885481)
[PASS] test_partial_liquidate_variable_borrow() (gas: 837792)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 632503)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 465323)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 596613)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 337410)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 169134)
[PASS] test_reverts_liquidation_reservePaused() (gas: 134538)
[PASS] test_self_liquidate_isolated_position_shoulDisableCollateral() (gas: 852124)
[PASS] test_self_liquidate_isolated_position_shoulEnableCollateralIfIsolatedSupplier() (gas: 902318)
[PASS] test_self_liquidate_position_shoulKeepCollateralEnabled() (gas: 776888)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 23.86s (23.81s CPU time)

Ran 12 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 617482)
[PASS] test_liquidationCall_deficit() (gas: 853978)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1077269)
[PASS] test_liquidationCall_full() (gas: 854084)
[PASS] test_liquidationCall_partial() (gas: 850942)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 867339)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 863738)
[PASS] test_repay() (gas: 775306)
[PASS] test_repay_with_ATokens() (gas: 634105)
[PASS] test_supply() (gas: 1097352)
[PASS] test_withdraw() (gas: 432300)
[PASS] test_withdraw_with_active_borrows() (gas: 615483)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 91.36ms (39.94ms CPU time)

Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 4042895)
[PASS] testBorrowUpdatesNoChange() (gas: 3081778)
[PASS] testBorrowsUpdates() (gas: 3148980)
[PASS] testCapsUpdate() (gas: 3091941)
[PASS] testCollateralUpdateCorrectBonus() (gas: 3106328)
[PASS] testCollateralUpdateWrongBonus() (gas: 732663)
[PASS] testCollateralsUpdates() (gas: 3105921)
[PASS] testCollateralsUpdatesNoChange() (gas: 3079753)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 738297)
[PASS] testEModeCategoryUpdates() (gas: 3178376)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 3077483)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 717805)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 720961)
[PASS] testListings() (gas: 6257318)
[PASS] testListingsCustom() (gas: 9979406)
[PASS] testPriceFeedsUpdates() (gas: 3162892)
[PASS] testRateStrategiesUpdates() (gas: 3159889)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 21.94s (21.90s CPU time)

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

Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120613)
[PASS] testRemoveAddressesProvider() (gas: 97154)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242924)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16393)
[PASS] test_removesLastProvider() (gas: 32653)
[PASS] test_revert_registry_0() (gas: 15558)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27603)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 48.70ms (2.01ms CPU time)

Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 834421, ~: 796595)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 833635, ~: 796809)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 771054, ~: 772844)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 867384, ~: 829207)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832124, ~: 796507)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 771996, ~: 773744)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 816028, ~: 793537)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 822384)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 633216)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 52824)
[PASS] test_rewardTokens() (gas: 631357)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 844850, ~: 863387)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 804163, ~: 797439)
[PASS] test_zeroIncentivesController() (gas: 37692)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 23.43s (23.38s CPU time)

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

Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 190752)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 190810)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 156156)
[PASS] test_backUnbacked_onlyFee() (gas: 356414)
[PASS] test_backUnbacked_withFee() (gas: 356594)
[PASS] test_backUnbacked_withoutFee() (gas: 333892)
[PASS] test_multiple_backUnbacked() (gas: 631087)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 478054)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 419371)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30598)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 86100)
[PASS] test_unbackedMint_with_cap() (gas: 265578)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 64.87ms (16.52ms CPU time)

Ran 5 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 49719)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18193)
[PASS] testTransfer() (gas: 54873)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18217)
[PASS] test_receiveEth() (gas: 20274)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.88ms (363.06µs CPU time)

Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 215705)
[PASS] test_flashloan_borrow() (gas: 529292)
[PASS] test_flashloan_multiple() (gas: 328493)
[PASS] test_flashloan_simple() (gas: 180028)
[PASS] test_flashloan_simple_2() (gas: 180028)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212552)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183528)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 147686)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 103415)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 100166)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 166339, ~: 128314)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144668)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 169198)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 199551)
[PASS] test_reverts_flashloans_eoa() (gas: 113103)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 839876)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 872317)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.45s (1.40s CPU time)

Ran 12 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16650)
[PASS] test_getEModeCategoryData() (gas: 20458)
[PASS] test_getLiquidationGracePeriod() (gas: 18160)
[PASS] test_getReserveData() (gas: 44283)
[PASS] test_getUserAccountData() (gas: 33160)
[PASS] test_getUserAccountData_oneSupplies() (gas: 364584)
[PASS] test_getUserAccountData_oneSupplies_with_eMode_enabled() (gas: 481273)
[PASS] test_getUserAccountData_twoSupplies() (gas: 676569)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1087311)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows_with_eMode_enabled() (gas: 1250814)
[PASS] test_getUserAccountData_twoSupplies_with_eMode_enabled() (gas: 804836)
[PASS] test_getUserAccountData_with_eMode_enabled() (gas: 149667)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 69.73ms (20.12ms CPU time)

Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 575952)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 628389)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 616691)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 415229)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 603253, ~: 604727)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 572316, ~: 570969)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 578194, ~: 576461)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 528545, ~: 524421)
[PASS] test_repay_full_variable_borrow() (gas: 401859)
[PASS] test_revert_repay_full_stable_borrow() (gas: 353430)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51504)
[PASS] test_reverts_borrow_reserveInactive() (gas: 129619)
[PASS] test_reverts_borrow_reservePaused() (gas: 92442)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 327417)
[PASS] test_reverts_repay_no_debt() (gas: 52075)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 11.79s (11.74s CPU time)

Ran 2 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 948068)
[PASS] test_setUserUseReserveAsCollateral() (gas: 385921)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 56.82ms (5.68ms 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, μ: 858028, ~: 858084)
[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 823385, ~: 823429)
[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 821059, ~: 823382)
[PASS] test_hf_gt_095_borrow_gt_threshold_collateral_lt_threshold_closeFactorShouldBe100() (gas: 1073918)
[PASS] test_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50() (gas: 856694)
Logs:
  Bound result 100000000000000000000
  Bound result 970000000000000000

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

[PASS] test_hf_helper(uint256) (runs: 1000, μ: 547833, ~: 547860)
[PASS] test_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100() (gas: 822082)
Logs:
  Bound result 100000000000000000000
  Bound result 940000000000000000

[PASS] test_liquidationdataprovider_edge_range() (gas: 994107)
[PASS] test_liquidationdataprovider_edge_range_reverse() (gas: 1042727)
[PASS] test_shouldRevertIfCloseFactorIs100ButCollateralIsBelowThreshold() (gas: 819553)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 15.75s (15.70s CPU time)

Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 240892)
[PASS] test_first_supply() (gas: 240871)
[PASS] test_first_supply_on_behalf() (gas: 242918)
[PASS] test_reverts_supply_cap() (gas: 105305)
[PASS] test_reverts_supply_invalidAmount() (gas: 47720)
[PASS] test_reverts_supply_reserveFrozen() (gas: 117591)
[PASS] test_reverts_supply_reserveInactive() (gas: 125551)
[PASS] test_reverts_supply_reservePaused() (gas: 88395)
[PASS] test_reverts_supply_to_aToken() (gas: 50239)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 413656, ~: 413686)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 413878, ~: 413894)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 280943, ~: 280945)
[PASS] test_supply_after_collateral_enabled() (gas: 287552)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.48s (6.43s CPU time)

Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549402)
[PASS] test_full_withdraw() (gas: 234777)
[PASS] test_full_withdraw_to() (gas: 240305)
[PASS] test_partial_withdraw() (gas: 231268)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 679099)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247145)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249215)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 203217)
[PASS] test_reverts_withdraw_reservePaused() (gas: 284676)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247118)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248144)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 58.06ms (9.25ms CPU time)

Ran 37 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 99058)
[PASS] test_getBorrowLogic() (gas: 13619)
[PASS] test_getBridgeLogic() (gas: 13617)
[PASS] test_getEModeLogic() (gas: 13618)
[PASS] test_getFlashLoanLogic() (gas: 13598)
[PASS] test_getLiquidationLogic() (gas: 13687)
[PASS] test_getPoolLogic() (gas: 13683)
[PASS] test_getSupplyLogic() (gas: 13682)
[PASS] test_getVirtualUnderlyingBalance() (gas: 244743)
[PASS] test_getters_getUserAccountData() (gas: 598817)
[PASS] test_mintToTreasury() (gas: 693322)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 697947)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290768)
[PASS] test_pool_defaultValues() (gas: 4368459)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81865, ~: 82155)
[PASS] test_resetIsolationModeTotalDebt() (gas: 721635)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25430, ~: 25430)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127079, ~: 127079)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4380474)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 43826, ~: 43826)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22732, ~: 22732)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 969385)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600767)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 296779)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 212145)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 291639)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71802)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 778938)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 34780, ~: 34834)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 899626)
[PASS] test_setUserEmode() (gas: 227533)
[PASS] test_setUserEmode_twice() (gas: 358044)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 968281)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240328)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277847)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.28s (1.23s CPU time)

Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472600)
[PASS] test_getter_getMarketId() (gas: 1435029)
[PASS] test_new_PoolAddressesProvider() (gas: 1444259)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448435)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453612)
[PASS] test_reverts_setters_notOwner() (gas: 1451221)
[PASS] test_setACLManager_changeContract() (gas: 3014111)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248064)
[PASS] test_setAddress() (gas: 1462527)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020261)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132633)
[PASS] test_setAddress_updateAddress() (gas: 1471653)
[PASS] test_setPoolConfiguratorImpl() (gas: 5939538)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10340515)
[PASS] test_setPoolDataProvider() (gas: 1463045)
[PASS] test_setPoolImpl() (gas: 6251535)
[PASS] test_setPoolImpl_upgrade() (gas: 10652172)
[PASS] test_setPriceOracle() (gas: 1463202)
[PASS] test_setPriceOracleSentinel() (gas: 1463073)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472677)
[PASS] test_setPriceOracle_changeContract() (gas: 1472938)
[PASS] test_setter_setMarketId() (gas: 1446179)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 63.70ms (9.66ms CPU time)

Ran 24 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38594, ~: 38594)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 36181, ~: 36181)
[PASS] test_reverts_notAdmin_initReserves((uint8,string,string,string,string,address,address,address,bool),address) (runs: 1000, μ: 1047224, ~: 1047350)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 4.07s (4.02s CPU time)

Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 311493)
[PASS] test_borrow_interests_reach_cap() (gas: 313541)
[PASS] test_borrow_lt_cap() (gas: 299263)
[PASS] test_default_borrowCap_zero() (gas: 27547)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 359964)
[PASS] test_reverts_borrow_gt_cap() (gas: 142508)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48711)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35517)
[PASS] test_setBorrowCap() (gas: 76727)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 319830)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 54.95ms (6.73ms CPU time)

Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 269494)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 249745)
[PASS] test_configureEmodeCategory() (gas: 119120)
[PASS] test_removeBorrowableFromEmode() (gas: 182460)
[PASS] test_removeCollateralFromEmode() (gas: 223997)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59662)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35793)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34377)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34249)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34162)
[PASS] test_setAssetBorrowableInEMode() (gas: 202372)
[PASS] test_setAssetCollateralInEMode() (gas: 182537)
[PASS] test_updateEModeCategory() (gas: 205647)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 57.94ms (8.24ms CPU time)

Ran 9 tests for tests/protocol/pool/Pool.Deficit.sol:PoolDeficitTests
[PASS] test_eliminateReserveDeficit_exactDeficit(address,uint120) (runs: 1000, μ: 1513759, ~: 1513925)
[PASS] test_eliminateReserveDeficit_fullUserBalance(address,uint120) (runs: 1000, μ: 1516793, ~: 1516960)
[PASS] test_eliminateReserveDeficit_parcial(address,uint120,uint120) (runs: 1000, μ: 1502967, ~: 1503080)
[PASS] test_eliminateReserveDeficit_surplus(address,uint120) (runs: 1000, μ: 1512035, ~: 1512211)
[PASS] test_interestRate() (gas: 1495255)
Logs:
  Bound result 500000000000000000000000

[PASS] test_reverts_eliminateReserveDeficit_has_borrows(address,uint120,uint120) (runs: 1000, μ: 1580398, ~: 1580253)
[PASS] test_reverts_eliminateReserveDeficit_invalid_amount(address,uint120) (runs: 1000, μ: 1209584, ~: 1209769)
[PASS] test_reverts_eliminateReserveDeficit_invalid_caller(address,uint120) (runs: 1000, μ: 1184902, ~: 1185065)
[PASS] test_reverts_eliminateReserveDeficit_reserve_not_in_deficit(address) (runs: 1000, μ: 90425, ~: 90425)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 42.29s (42.24s CPU time)

Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423731)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 50.11ms (1.38ms CPU time)

Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 45824)
[PASS] test_getDebtCeiling() (gas: 27099)
[PASS] test_getFlashLoanEnabled() (gas: 27199)
[PASS] test_getInterestRateStrategyAddress() (gas: 50707)
[PASS] test_getIsVirtualAccActive() (gas: 27206)
[PASS] test_getLiquidationProtocolFee() (gas: 27158)
[PASS] test_getPaused() (gas: 27250)
[PASS] test_getReserveCaps() (gas: 27176)
[PASS] test_getReserveConfigurationData() (gas: 28077)
[PASS] test_getReserveTokensAddresses() (gas: 31054)
[PASS] test_getSiloedBorrowing() (gas: 27254)
[PASS] test_getTotalDebt() (gas: 45846)
[PASS] test_getUnbackedMintCap() (gas: 27097)
[PASS] test_getUserReserveData() (gas: 363934)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 54.64ms (3.24ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 510134, ~: 510214)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 452451)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 646622)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 187403)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1045208, ~: 1045285)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 196698)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 291818, ~: 295637)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 34991)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1000260, ~: 1000465)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 900621, ~: 900830)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 958547, ~: 958762)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 13.34s (13.29s CPU time)

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

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

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

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

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

[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 124396, ~: 124622)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 118487, ~: 121027)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 75477, ~: 76058)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 44188, ~: 44123)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68096, ~: 69107)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68509, ~: 69327)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 33329, ~: 32997)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 5.05s (5.00s CPU time)

Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 105716)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 141430, ~: 141430)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 106979)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.30s (1.25s CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52552, ~: 52483)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26307, ~: 26215)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29749, ~: 29829)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27204, ~: 27140)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.29s (2.24s CPU time)

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

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 556192, ~: 556710)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 529500, ~: 529853)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 466809, ~: 466678)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 396127, ~: 396036)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 488035, ~: 487918)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 387024, ~: 386928)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37293)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42239, ~: 42268)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 110147, ~: 110360)
[PASS] test_maxDeposit_freeze() (gas: 116746)
[PASS] test_maxDeposit_noCap() (gas: 98267)
[PASS] test_maxDeposit_paused() (gas: 90020)
[PASS] test_maxRedeem_inSufficientAvailableLiquidity(uint256) (runs: 1000, μ: 975549, ~: 975659)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 547093, ~: 547001)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 518904, ~: 518814)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 457046, ~: 456890)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 248294, ~: 248127)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 578618, ~: 578457)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 585062, ~: 584893)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 605578, ~: 605384)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 537923, ~: 538436)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26117)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 582473, ~: 582312)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 523161, ~: 523000)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 33.64s (33.59s CPU time)

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

Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597826)
[PASS] test_proxy_upgradeTo() (gas: 619697)
[PASS] test_proxy_upgradeToAndCall() (gas: 625580)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594922)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600809)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598615)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.73ms (2.14ms CPU time)

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

Ran 3 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_claimRewards() (gas: 1812394)
[PASS] test_deposit() (gas: 489428)
[PASS] test_depositATokens() (gas: 538568)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 64.80ms (10.45ms CPU time)

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

Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 547024)
[PASS] test_deposit_shouldRevert() (gas: 469980)
[PASS] test_mint_shouldRevert() (gas: 474056)
[PASS] test_redeem_shouldRevert() (gas: 566758)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 544933)
[PASS] test_withdraw_shouldRevert() (gas: 562610)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 250.75ms (203.27ms CPU time)

Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89457)
[PASS] test_permit_expired() (gas: 37491)
[PASS] test_permit_invalidSigner() (gas: 66080)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 51.39ms (2.06ms CPU time)

Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 51936, ~: 51882)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25670, ~: 25598)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29141, ~: 29220)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26614, ~: 26531)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.21s (2.17s CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 764752, ~: 764758)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 190095)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 217036)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 443989)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.12s (3.08s CPU time)

Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 40437, ~: 40356)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 41352, ~: 41282)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38853, ~: 38790)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52531, ~: 52454)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49734, ~: 49659)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26326, ~: 26241)
[PASS] test_overflow_liquidity_rates() (gas: 59548)
[PASS] test_overflow_variable_rates() (gas: 546010)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.09s (4.04s CPU time)

Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 134948)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 99213)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 128637)
[PASS] test_bridgeProtocolFee() (gas: 73193)
[PASS] test_disableLiquidationGracePeriod() (gas: 78005)
[PASS] test_dropReserve() (gas: 148034)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2626084, ~: 2625851)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2619708, ~: 2616718)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30151)
[PASS] test_reverts_dropReserve_notListed() (gas: 53404)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 300232)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 459538)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47308)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2859570, ~: 2858311)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 287295)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35632)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 282164)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35651)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 407073)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30267)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30287)
[PASS] test_setBorrowableInIsolation_false() (gas: 62901)
[PASS] test_setBorrowableInIsolation_true() (gas: 65718)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2602587, ~: 2603261)
[PASS] test_setDebtCeiling() (gas: 113540)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 288265)
[PASS] test_setDebtCeiling_to_zero() (gas: 138288)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 106040)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34809, ~: 34809)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 164124, ~: 167336)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 135407, ~: 135344)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 72726)
[PASS] test_setPoolPause() (gas: 165424)
[PASS] test_setPoolPause_unpause() (gas: 238300)
[PASS] test_setReserveActive_false() (gas: 110807)
[PASS] test_setReserveActive_true() (gas: 67150)
[PASS] test_setReserveFactor() (gas: 993558)
[PASS] test_setReserveFreeze_false() (gas: 98602)
[PASS] test_setReservePause_false() (gas: 66523)
[PASS] test_setReservePause_true() (gas: 69278)
[PASS] test_setSiloedBorrowing() (gas: 97847)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58239)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58131)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 8.43s (8.38s CPU time)

Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 369124)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477618)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 122598)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 76762)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 316749)
[PASS] test_supply_eq_cap() (gas: 298070)
[PASS] test_supply_interests_reach_cap() (gas: 439022)
[PASS] test_supply_lt_cap() (gas: 298071)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 61.99ms (7.56ms CPU time)

Ran 6 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 1851842)
[PASS] test_setReserveInterestRateData() (gas: 152244)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1008800)
[PASS] test_updateAToken() (gas: 2284668)
[PASS] test_updateVariableDebtToken() (gas: 1681854)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 55.26ms (5.37ms CPU time)

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

Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 410764)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 371636)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 370555)
[PASS] test_splitFunds_fixed() (gas: 447716)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 448194, ~: 449895)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 447085, ~: 448359)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100475, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.24s (4...*[Comment body truncated]*

Copy link

♻️ Forge Gas Snapshots

🔕 Unchanged
Path Value
snapshots/AToken.transfer.json
full amount; receiver: ->enableCollateral 144,881
full amount; sender: ->disableCollateral; 103,318
full amount; sender: ->disableCollateral; receiver: ->enableCollateral 145,060
full amount; sender: ->disableCollateral; receiver: dirty, ->enableCollateral 133,158
full amount; sender: collateralDisabled 103,139
partial amount; sender: collateralDisabled; 103,139
partial amount; sender: collateralDisabled; receiver: ->enableCollateral 144,881
partial amount; sender: collateralEnabled; 103,347
partial amount; sender: collateralEnabled; receiver: ->enableCollateral 145,089
snapshots/Pool.Getters.json
getEModeCategoryCollateralConfig 8,000
getEModeCategoryData 11,053
getLiquidationGracePeriod 7,765
getReserveData 32,157
getUserAccountData: supplies: 0, borrows: 0 22,641
getUserAccountData: supplies: 0, borrows: 0 with eMode enabled 7,641
getUserAccountData: supplies: 1, borrows: 0 35,053
getUserAccountData: supplies: 1, borrows: 0 with eMode enabled 27,360
getUserAccountData: supplies: 2, borrows: 0 47,575
getUserAccountData: supplies: 2, borrows: 0 with eMode enabled 40,267
getUserAccountData: supplies: 2, borrows: 1 29,431
getUserAccountData: supplies: 2, borrows: 1 with eMode enabled 30,623
snapshots/Pool.Operations.json
borrow: first borrow->borrowingEnabled 256,480
borrow: recurrent borrow 249,018
liquidationCall: deficit on liquidated asset 392,365
liquidationCall: deficit on liquidated asset + other asset 491,921
liquidationCall: full liquidation 392,365
liquidationCall: full liquidation and receive ATokens 368,722
liquidationCall: partial liquidation 383,166
liquidationCall: partial liquidation and receive ATokens 359,520
repay: full repay 176,521
repay: full repay with ATokens 173,922
repay: partial repay 189,949
repay: partial repay with ATokens 185,129
supply: collateralDisabled 146,755
supply: collateralEnabled 146,755
supply: first supply->collateralEnabled 176,366
withdraw: full withdraw 165,226
withdraw: partial withdraw 181,916
withdraw: partial withdraw with active borrows 239,471
snapshots/Pool.Setters.json
setUserEMode: enter eMode, 1 borrow, 1 supply 140,836
setUserEMode: leave eMode, 1 borrow, 1 supply 112,635
setUserUseReserveAsCollateral: disableCollateral, 1 supply 93,456
setUserUseReserveAsCollateral: enableCollateral, 1 supply 105,167
snapshots/ProtocolDataProvider.json
getATokenTotalSupply 35,491
getFlashLoanEnabled 16,739
getInterestRateStrategyAddress 40,256
getIsVirtualAccActive 16,789
getLiquidationProtocolFee 16,766
getPaused 16,855
getReserveCaps 16,767
getReserveConfigurationData 17,181
getReserveTokensAddresses 20,374
getSiloedBorrowing 16,792
getTotalDebt 35,491
getUnbackedMintCap 16,721
getUserReserveData 29,607
getVirtualUnderlyingBalance 16,533
snapshots/StataTokenV2.json
claimRewards 359,669
deposit 280,955
depositATokens 219,311
redeem 205,837
redeemAToken 152,633
snapshots/WrappedTokenGatewayV3.json
borrowETH 250,413
depositETH 222,614
repayETH 192,937
withdrawETH 259,299

Copy link

🔮 Coverage report
File Line Coverage Function Coverage Branch Coverage
src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol ${\color{red}67.57\%}$
$25 / 37$
23, 24, 78, 79, 80 and 7 more
${\color{green}100\%}$
$4 / 4$
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol ${\color{red}75\%}$
$6 / 8$
67, 68
${\color{red}66.67\%}$
$2 / 3$
ReentrancyGuard._initGuard
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/contracts/AccessControl.sol ${\color{orange}90.63\%}$
$29 / 32$
76, 77, 115
${\color{orange}83.33\%}$
$10 / 12$
AccessControl.supportsInterface, AccessControl.getRoleAdmin
${\color{red}80\%}$
$4 / 5$
src/contracts/dependencies/openzeppelin/contracts/ERC165.sol ${\color{red}0\%}$
$0 / 2$
25, 26
${\color{red}0\%}$
$0 / 1$
ERC165.supportsInterface
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/contracts/ERC20.sol ${\color{red}79.66\%}$
$47 / 59$
182, 183, 184, 201, 205 and 7 more
${\color{orange}83.33\%}$
$15 / 18$
ERC20.increaseAllowance, ERC20.decreaseAllowance, ERC20._burn
${\color{red}41.67\%}$
$5 / 12$
src/contracts/dependencies/openzeppelin/contracts/Ownable.sol ${\color{red}80\%}$
$12 / 15$
55, 56, 57
${\color{red}80\%}$
$4 / 5$
Ownable.renounceOwnership
${\color{red}75\%}$
$3 / 4$
src/contracts/dependencies/openzeppelin/contracts/SafeERC20.sol ${\color{red}47.37\%}$
$9 / 19$
25, 26, 50, 51, 52 and 5 more
${\color{red}50\%}$
$3 / 6$
SafeERC20.safeTransferFrom, SafeERC20.safeIncreaseAllowance, SafeERC20.safeDecreaseAllowance
${\color{red}42.86\%}$
$3 / 7$
src/contracts/dependencies/openzeppelin/contracts/SafeMath.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$5 / 5$
${\color{red}62.5\%}$
$5 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/AdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 5$
21, 26, 27, 33, 34
${\color{red}0\%}$
$0 / 2$
AdminUpgradeabilityProxy.constructor, AdminUpgradeabilityProxy._willFallback
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/BaseAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 26$
35, 36, 39, 46, 47 and 21 more
${\color{red}0\%}$
$0 / 9$
BaseAdminUpgradeabilityProxy.ifAdmin, BaseAdminUpgradeabilityProxy.admin, BaseAdminUpgradeabilityProxy.implementation, BaseAdminUpgradeabilityProxy.changeAdmin, BaseAdminUpgradeabilityProxy.upgradeTo and 4 more
${\color{red}0\%}$
$0 / 8$
src/contracts/dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol ${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$1 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/Initializable.sol ${\color{red}0\%}$
$0 / 12$
30, 31, 36, 37, 38 and 7 more
${\color{red}0\%}$
$0 / 2$
Initializable.initializer, Initializable.isConstructor
${\color{red}0\%}$
$0 / 4$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableAdminUpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 7$
25, 26, 27, 28, 29 and 2 more
${\color{red}0\%}$
$0 / 2$
InitializableAdminUpgradeabilityProxy.initialize, InitializableAdminUpgradeabilityProxy._willFallback
${\color{red}0\%}$
$0 / 2$
src/contracts/dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$1 / 1$
${\color{red}60\%}$
$3 / 5$
src/contracts/dependencies/openzeppelin/upgradeability/Proxy.sol ${\color{orange}87.5\%}$
$14 / 16$
25, 26
${\color{red}80\%}$
$4 / 5$
Proxy.receive
${\color{green}100\%}$
$0 / 0$
src/contracts/dependencies/openzeppelin/upgradeability/UpgradeabilityProxy.sol ${\color{red}0\%}$
$0 / 6$
20, 21, 22, 23, 24 and 1 more
${\color{red}0\%}$
$0 / 1$
UpgradeabilityProxy.constructor
${\color{red}0\%}$
$0 / 3$
src/contracts/dependencies/weth/WETH9.sol ${\color{orange}85.19\%}$
$23 / 27$
31, 32, 47, 48
${\color{red}71.43\%}$
$5 / 7$
WETH9.receive, WETH9.totalSupply
${\color{red}57.14\%}$
$4 / 7$
src/contracts/extensions/paraswap-adapters/BaseParaSwapAdapter.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$6 / 6$
${\color{red}60\%}$
$3 / 5$
src/contracts/extensions/paraswap-adapters/BaseParaSwapBuyAdapter.sol ${\color{orange}90\%}$
$27 / 30$
87, 94, 95
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/BaseParaSwapSellAdapter.sol ${\color{orange}88.89\%}$
$24 / 27$
87, 94, 95
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$8 / 16$
src/contracts/extensions/paraswap-adapters/ParaSwapLiquiditySwapAdapter.sol ${\color{green}100\%}$
$39 / 39$
${\color{green}100\%}$
$4 / 4$
${\color{red}63.64\%}$
$7 / 11$
src/contracts/extensions/paraswap-adapters/ParaSwapRepayAdapter.sol ${\color{lightgreen}95.83\%}$
$46 / 48$
143, 208
${\color{green}100\%}$
$5 / 5$
${\color{red}53.85\%}$
$7 / 13$
src/contracts/extensions/paraswap-adapters/ParaSwapWithdrawSwapAdapter.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$3 / 3$
${\color{red}66.67\%}$
$2 / 3$
src/contracts/extensions/stata-token/ERC20AaveLMUpgradeable.sol ${\color{orange}94.02\%}$
$110 / 117$
97, 114, 116, 126, 213 and 2 more
${\color{lightgreen}95.45\%}$
$21 / 22$
ERC20AaveLMUpgradeable.getCurrentRewardsIndex
${\color{red}66.67\%}$
$10 / 15$
src/contracts/extensions/stata-token/ERC4626StataTokenUpgradeable.sol ${\color{lightgreen}97.09\%}$
$100 / 103$
110, 146, 221
${\color{green}100\%}$
$21 / 21$
${\color{orange}81.82\%}$
$9 / 11$
src/contracts/extensions/stata-token/StataTokenFactory.sol ${\color{orange}88.46\%}$
$23 / 26$
77, 84, 85
${\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$
59, 63, 68
${\color{orange}81.82\%}$
$9 / 11$
StataTokenV2.whoCanRescue, StataTokenV2.maxRescue
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/AaveV3ConfigEngine.sol ${\color{green}100\%}$
$45 / 45$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$4 / 8$
src/contracts/extensions/v3-config-engine/AaveV3Payload.sol ${\color{red}75.56\%}$
$34 / 45$
119, 120, 124, 127, 135 and 6 more
${\color{red}28.57\%}$
$4 / 14$
AaveV3Payload._bpsToRay, AaveV3Payload.newListings, AaveV3Payload.newListingsCustom, AaveV3Payload.capsUpdates, AaveV3Payload.collateralsUpdates and 5 more
${\color{green}100\%}$
$9 / 9$
src/contracts/extensions/v3-config-engine/libraries/BorrowEngine.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$2 / 2$
${\color{red}80\%}$
$8 / 10$
src/contracts/extensions/v3-config-engine/libraries/CapsEngine.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}75\%}$
$3 / 4$
src/contracts/extensions/v3-config-engine/libraries/CollateralEngine.sol ${\color{red}70\%}$
$21 / 30$
39, 42, 48, 50, 51 and 4 more
${\color{green}100\%}$
$2 / 2$
${\color{red}57.14\%}$
$8 / 14$
src/contracts/extensions/v3-config-engine/libraries/EModeEngine.sol ${\color{orange}92.31\%}$
$36 / 39$
78, 82, 87
${\color{green}100\%}$
$4 / 4$
${\color{red}64.29\%}$
$9 / 14$
src/contracts/extensions/v3-config-engine/libraries/ListingEngine.sol ${\color{green}100\%}$
$33 / 33$
${\color{green}100\%}$
$3 / 3$
${\color{red}50\%}$
$2 / 4$
src/contracts/extensions/v3-config-engine/libraries/PriceFeedEngine.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$3 / 6$
src/contracts/extensions/v3-config-engine/libraries/RateEngine.sol ${\color{red}64.52\%}$
$20 / 31$
45, 46, 47, 50, 51 and 6 more
${\color{green}100\%}$
$3 / 3$
${\color{red}14.29\%}$
$1 / 7$
src/contracts/helpers/AaveProtocolDataProvider.sol ${\color{red}66.23\%}$
$51 / 77$
39, 40, 41, 42, 43 and 21 more
${\color{orange}80.95\%}$
$17 / 21$
AaveProtocolDataProvider.getAllReservesTokens, AaveProtocolDataProvider.getAllATokens, AaveProtocolDataProvider.getReserveData, AaveProtocolDataProvider.getReserveDeficit
${\color{red}0\%}$
$0 / 2$
src/contracts/helpers/L2Encoder.sol ${\color{green}100\%}$
$68 / 68$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$0 / 0$
src/contracts/helpers/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.52\%}$
$3 / 119$
38, 41, 42, 45, 48 and 111 more
${\color{red}16.67\%}$
$1 / 6$
UiPoolDataProviderV3.getReservesList, UiPoolDataProviderV3.getReservesData, UiPoolDataProviderV3.getEModes, UiPoolDataProviderV3.getUserReservesData, UiPoolDataProviderV3.bytes32ToString
${\color{red}0\%}$
$0 / 5$
src/contracts/helpers/WalletBalanceProvider.sol ${\color{red}0\%}$
$0 / 31$
31, 33, 42, 43, 44 and 26 more
${\color{red}0\%}$
$0 / 4$
WalletBalanceProvider.receive, WalletBalanceProvider.balanceOf, WalletBalanceProvider.batchBalanceOf, WalletBalanceProvider.getUserWalletBalances
${\color{red}0\%}$
$0 / 6$
src/contracts/helpers/WrappedTokenGatewayV3.sol ${\color{lightgreen}98.18\%}$
$54 / 55$
142
${\color{green}100\%}$
$12 / 12$
${\color{red}80\%}$
$8 / 10$
src/contracts/instances/ATokenInstance.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
${\color{red}50\%}$
$1 / 2$
src/contracts/instances/PoolConfiguratorInstance.sol ${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$0 / 0$
src/contracts/instances/PoolInstance.sol ${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/instances/VariableDebtTokenInstance.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/misc/AaveOracle.sol ${\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$10 / 10$
src/contracts/misc/DefaultReserveInterestRateStrategyV2.sol ${\color{green}100\%}$
$54 / 54$
${\color{green}100\%}$
$15 / 15$
${\color{green}100\%}$
$17 / 17$
src/contracts/misc/PriceOracleSentinel.sol ${\color{green}100\%}$
$27 / 27$
${\color{green}100\%}$
$10 / 10$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/aave-upgradeability/BaseImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$7 / 7$
${\color{red}33.33\%}$
$2 / 6$
src/contracts/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.sol ${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/aave-upgradeability/VersionedInitializable.sol ${\color{green}100\%}$
$13 / 13$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/misc/flashloan/base/FlashLoanReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/misc/flashloan/base/FlashLoanSimpleReceiverBase.sol ${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/configuration/ACLManager.sol ${\color{green}100\%}$
$43 / 43$
${\color{green}100\%}$
$20 / 20$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/configuration/PoolAddressesProvider.sol ${\color{green}100\%}$
$81 / 81$
${\color{green}100\%}$
$23 / 23$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/configuration/PoolAddressesProviderRegistry.sol ${\color{green}100\%}$
$35 / 35$
${\color{green}100\%}$
$8 / 8$
${\color{red}77.78\%}$
$7 / 9$
src/contracts/protocol/libraries/configuration/EModeConfiguration.sol ${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$2 / 2$
${\color{red}66.67\%}$
$4 / 6$
src/contracts/protocol/libraries/configuration/ReserveConfiguration.sol ${\color{green}100\%}$
$92 / 92$
${\color{green}100\%}$
$39 / 39$
${\color{red}60\%}$
$12 / 20$
src/contracts/protocol/libraries/configuration/UserConfiguration.sol ${\color{green}100\%}$
$55 / 55$
${\color{green}100\%}$
$13 / 13$
${\color{red}72.22\%}$
$13 / 18$
src/contracts/protocol/libraries/logic/BorrowLogic.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$9 / 9$
src/contracts/protocol/libraries/logic/BridgeLogic.sol ${\color{green}100\%}$
$31 / 31$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$4 / 4$
src/contracts/protocol/libraries/logic/CalldataLogic.sol ${\color{green}100\%}$
$70 / 70$
${\color{green}100\%}$
$8 / 8$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/ConfiguratorLogic.sol ${\color{green}100\%}$
$34 / 34$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/libraries/logic/EModeLogic.sol ${\color{green}100\%}$
$6 / 6$
${\color{green}100\%}$
$1 / 1$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/libraries/logic/FlashLoanLogic.sol ${\color{green}100\%}$
$42 / 42$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$8 / 8$
src/contracts/protocol/libraries/logic/GenericLogic.sol ${\color{orange}92.31\%}$
$48 / 52$
92, 94, 131, 149
${\color{green}100\%}$
$4 / 4$
${\color{orange}83.33\%}$
$10 / 12$
src/contracts/protocol/libraries/logic/IsolationModeLogic.sol ${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$3 / 3$
src/contracts/protocol/libraries/logic/LiquidationLogic.sol ${\color{orange}93.96\%}$
$140 / 149$
145, 151, 399, 569, 573 and 4 more
${\color{green}100\%}$
$7 / 7$
${\color{orange}82.5\%}$
$33 / 40$
src/contracts/protocol/libraries/logic/PoolLogic.sol ${\color{green}100\%}$
$44 / 44$
${\color{green}100\%}$
$7 / 7$
${\color{red}72.73\%}$
$8 / 11$
src/contracts/protocol/libraries/logic/ReserveLogic.sol ${\color{green}100\%}$
$72 / 72$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$14 / 14$
src/contracts/protocol/libraries/logic/SupplyLogic.sol ${\color{green}100\%}$
$66 / 66$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$17 / 17$
src/contracts/protocol/libraries/logic/ValidationLogic.sol ${\color{green}100\%}$
$124 / 124$
${\color{green}100\%}$
$15 / 15$
${\color{lightgreen}95.38\%}$
$124 / 130$
src/contracts/protocol/libraries/math/PercentageMath.sol ${\color{red}75\%}$
$6 / 8$
34, 55
${\color{green}100\%}$
$2 / 2$
${\color{red}0\%}$
$0 / 2$
src/contracts/protocol/libraries/math/WadRayMath.sol ${\color{red}76\%}$
$19 / 25$
33, 51, 69, 87, 105 and 1 more
${\color{green}100\%}$
$6 / 6$
${\color{red}0\%}$
$0 / 6$
src/contracts/protocol/pool/L2Pool.sol ${\color{green}100\%}$
$29 / 29$
${\color{green}100\%}$
$9 / 9$
${\color{green}100\%}$
$0 / 0$
src/contracts/protocol/pool/Pool.sol ${\color{lightgreen}98.99\%}$
$196 / 198$
185, 294
${\color{green}100\%}$
$71 / 71$
${\color{red}75.86\%}$
$22 / 29$
src/contracts/protocol/pool/PoolConfigurator.sol ${\color{green}100\%}$
$235 / 235$
${\color{green}100\%}$
$45 / 45$
${\color{lightgreen}95.24\%}$
$60 / 63$
src/contracts/protocol/tokenization/AToken.sol ${\color{green}100\%}$
$54 / 54$
${\color{green}100\%}$
$17 / 17$
${\color{green}100\%}$
$12 / 12$
src/contracts/protocol/tokenization/VariableDebtToken.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$12 / 12$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/DebtTokenBase.sol ${\color{green}100\%}$
$19 / 19$
${\color{green}100\%}$
$5 / 5$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/EIP712Base.sol ${\color{green}100\%}$
$11 / 11$
${\color{green}100\%}$
$4 / 4$
${\color{green}100\%}$
$1 / 1$
src/contracts/protocol/tokenization/base/IncentivizedERC20.sol ${\color{green}100\%}$
$65 / 65$
${\color{green}100\%}$
$21 / 21$
${\color{green}100\%}$
$6 / 6$
src/contracts/protocol/tokenization/base/MintableIncentivizedERC20.sol ${\color{green}100\%}$
$16 / 16$
${\color{green}100\%}$
$2 / 2$
${\color{green}100\%}$
$2 / 2$
src/contracts/protocol/tokenization/base/ScaledBalanceTokenBase.sol ${\color{green}100\%}$
$52 / 52$
${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$8 / 8$
src/contracts/rewards/EmissionManager.sol ${\color{green}100\%}$
$30 / 30$
${\color{green}100\%}$
$12 / 12$
${\color{red}50\%}$
$3 / 6$
src/contracts/rewards/RewardsController.sol ${\color{lightgreen}99.04\%}$
$103 / 104$
201
${\color{green}100\%}$
$24 / 24$
${\color{red}60.71\%}$
$17 / 28$
src/contracts/rewards/RewardsDistributor.sol ${\color{lightgreen}99.32\%}$
$145 / 146$
429
${\color{green}100\%}$
$24 / 24$
${\color{orange}80.95\%}$
$17 / 21$
src/contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol ${\color{green}100\%}$
$7 / 7$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$0 / 0$
src/contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol ${\color{green}100\%}$
$18 / 18$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$1 / 2$
src/contracts/rewards/transfer-strategies/TransferStrategyBase.sol ${\color{green}100\%}$
$14 / 14$
${\color{green}100\%}$
$6 / 6$
${\color{red}50\%}$
$2 / 4$
src/contracts/treasury/Collector.sol ${\color{lightgreen}96.77\%}$
$90 / 93$
152, 191, 206
${\color{orange}93.75\%}$
$15 / 16$
Collector.deltaOf
${\color{red}76.19\%}$
$16 / 21$
src/contracts/treasury/RevenueSplitter.sol ${\color{green}100\%}$
$25 / 25$
${\color{green}100\%}$
$3 / 3$
${\color{green}100\%}$
$3 / 3$

@sakulstra sakulstra closed this Feb 24, 2025
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