-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: v3.2 pdp (protocol data provider) upgrade #64
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Foundry report forge 0.2.0 (f79c53c 2024-10-10T00:21:39.014342132Z) Build logCompiling 399 files with Solc 0.8.20
Solc 0.8.20 finished in 102.41s
Compiler run successful with warnings:
Warning (9302): Return value of low-level calls not used.
--> src/contracts/treasury/RevenueSplitter.sol:68:5:
|
68 | RECIPIENT_A.call{value: amount_A}('');
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (9302): Return value of low-level calls not used.
--> src/contracts/treasury/RevenueSplitter.sol:69:5:
|
69 | RECIPIENT_B.call{value: amount_B}('');
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (5740): Unreachable code.
--> src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol:61:5:
|
61 | _status = _NOT_ENTERED;
| ^^^^^^^^^^^^^^^^^^^^^^
Warning (2072): Unused local variable.
--> tests/extensions/static-a-token/StataTokenV2Rescuable.sol:47:5:
|
47 | address treasury = IAToken(aToken).RESERVE_TREASURY_ADDRESS();
| ^^^^^^^^^^^^^^^^ Test success 🌈No files changed, compilation skipped
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1470125)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98836)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125219)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 115150)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 8.96ms (3.06ms CPU time)
Ran 17 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259854)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129479)
[PASS] test_burn_zeroAddress() (gas: 266236)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129290)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 37.20ms (3.35ms CPU time)
Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 194249)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 194307)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 159653)
[PASS] test_backUnbacked_onlyFee() (gas: 363669)
[PASS] test_backUnbacked_withFee() (gas: 363849)
[PASS] test_backUnbacked_withoutFee() (gas: 341147)
[PASS] test_multiple_backUnbacked() (gas: 644666)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 488647)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 428456)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30598)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 86177)
[PASS] test_unbackedMint_with_cap() (gas: 271296)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 52.85ms (16.83ms CPU time)
Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4866962)
[PASS] test10ConfigEngineDeployment() (gas: 6715374)
[PASS] test11StaticATokenDeployment() (gas: 6958905)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7387145)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6551699)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2130240)
[PASS] test3AaveV3PoolDeployment() (gas: 8646521)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8897295)
[PASS] test5PeripheralsRelease() (gas: 6900519)
[PASS] test6MiscDeployment() (gas: 1360185)
[PASS] test7ParaswapDeployment() (gas: 5928390)
[PASS] test8SetupMarket() (gas: 2719620)
[PASS] test9TokensMarket() (gas: 3901228)
[PASS] testCheckInitCodeSizeBatchs() (gas: 1070146)
Logs:
AaveV3SetupBatch 26484
AaveV3L2PoolBatch 43953
AaveV3PoolBatch 42706
AaveV3PeripheryBatch 40126
AaveV3MiscBatch 6830
AaveV3ParaswapBatch 32635
AaveV3GettersBatchOne 32561
AaveV3GettersBatchTwo 11156
AaveV3TokensBatch 20321
AaveV3HelpersBatchOne 34075
AaveV3HelpersBatchTwo 32799
AaveV3PeripheryBatchTreasuryPartner 40126
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 18.97ms (8.13ms CPU time)
Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 565806)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 654256)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 576429)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 257905)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 579277)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 255080)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 632939)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 46.78ms (10.47ms 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 31.87ms (264.19µ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 37.58ms (5.73ms CPU time)
Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 274861)
[PASS] test_repay_partialDebt() (gas: 274021)
[PASS] test_revert_repay_withoutFunds() (gas: 180200)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.18ms (1.87ms 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 33.50ms (585.11µs CPU time)
Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 161976)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 235451)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 162751)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 229402)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81523)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81564)
[PASS] test_atoken_multiple_transfers() (gas: 201155)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 388727, ~: 393082)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 529057)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 398380)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 404648)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.15s (1.12s CPU time)
Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 936961)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1076187)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1096138)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 918632)
[PASS] testEmptySource() (gas: 821554)
[PASS] testGetBaseCurrencyPrice() (gas: 12315)
[PASS] testGetPriceViaFallbackOracle() (gas: 1000288)
[PASS] testUpdateFallbackOracle() (gas: 178617)
[PASS] testUpdateSingleSource() (gas: 127061)
[PASS] testUpdateSourceBaseCurrency() (gas: 138611)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 822968)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24620)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 33.84ms (2.47ms CPU time)
Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 55915799)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 64089821)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 55392608)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 65916938)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 64596899)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 116.52ms (111.14ms CPU time)
Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4866983)
[PASS] test10StaticATokenDeployment() (gas: 6958888)
[PASS] test1AaveV3GettersDeployment() (gas: 7880458)
[PASS] test2AaveV3PoolDeployment() (gas: 8646555)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8897349)
[PASS] test4PeripheralsRelease() (gas: 6900496)
[PASS] test5MiscDeployment() (gas: 929135)
[PASS] test6ParaswapRelease() (gas: 5928367)
[PASS] test7SetupMarket() (gas: 2695057)
[PASS] test8TokensMarket() (gas: 3901080)
[PASS] test9ConfigEngineDeployment() (gas: 6715437)
[PASS] testAaveV3FullBatchOrchestration() (gas: 55912046)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 24.74ms (13.68ms CPU time)
Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 240984)
[PASS] test_first_supply() (gas: 240985)
[PASS] test_first_supply_on_behalf() (gas: 243032)
[PASS] test_reverts_supply_cap() (gas: 105400)
[PASS] test_reverts_supply_invalidAmount() (gas: 47837)
[PASS] test_reverts_supply_reserveFrozen() (gas: 117686)
[PASS] test_reverts_supply_reserveInactive() (gas: 134837)
[PASS] test_reverts_supply_reservePaused() (gas: 88490)
[PASS] test_reverts_supply_to_aToken() (gas: 50356)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 422670, ~: 422689)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422859, ~: 422897)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 288147, ~: 288150)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 5.33s (5.29s CPU time)
Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549361)
[PASS] test_full_withdraw() (gas: 234895)
[PASS] test_full_withdraw_to() (gas: 240423)
[PASS] test_partial_withdraw() (gas: 231403)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 678644)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247376)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249446)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 214658)
[PASS] test_reverts_withdraw_reservePaused() (gas: 287040)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247232)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248243)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 39.38ms (7.65ms CPU time)
Ran 37 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 108071)
[PASS] test_getBorrowLogic() (gas: 13641)
[PASS] test_getBridgeLogic() (gas: 13683)
[PASS] test_getEModeLogic() (gas: 13596)
[PASS] test_getFlashLoanLogic() (gas: 13620)
[PASS] test_getLiquidationLogic() (gas: 13709)
[PASS] test_getPoolLogic() (gas: 13661)
[PASS] test_getSupplyLogic() (gas: 13596)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253537)
[PASS] test_getters_getUserAccountData() (gas: 598330)
[PASS] test_mintToTreasury() (gas: 701628)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706320)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290816)
[PASS] test_pool_defaultValues() (gas: 4489181)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81849, ~: 82148)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734317)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25452, ~: 25452)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127719, ~: 127719)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501329)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40838, ~: 40838)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22754, ~: 22754)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983188)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600262)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 298997)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 228127)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293842)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71780)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 790145)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36887, ~: 36991)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904381)
[PASS] test_setUserEmode() (gas: 232430)
[PASS] test_setUserEmode_twice() (gas: 377065)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985883)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240420)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277917)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.01s (981.34ms CPU time)
Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472801)
[PASS] test_getter_getMarketId() (gas: 1435230)
[PASS] test_new_PoolAddressesProvider() (gas: 1444460)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448636)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453813)
[PASS] test_reverts_setters_notOwner() (gas: 1451422)
[PASS] test_setACLManager_changeContract() (gas: 3014312)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248265)
[PASS] test_setAddress() (gas: 1462728)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020462)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132834)
[PASS] test_setAddress_updateAddress() (gas: 1471854)
[PASS] test_setPoolConfiguratorImpl() (gas: 5950177)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10472002)
[PASS] test_setPoolDataProvider() (gas: 1463246)
[PASS] test_setPoolImpl() (gas: 6372591)
[PASS] test_setPoolImpl_upgrade() (gas: 10893985)
[PASS] test_setPriceOracle() (gas: 1463403)
[PASS] test_setPriceOracleSentinel() (gas: 1463274)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472878)
[PASS] test_setPriceOracle_changeContract() (gas: 1473139)
[PASS] test_setter_setMarketId() (gas: 1446381)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 41.74ms (8.57ms 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, μ: 1051501, ~: 1051637)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 3.42s (3.39s CPU time)
Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 321716)
[PASS] test_borrow_interests_reach_cap() (gas: 323764)
[PASS] test_borrow_lt_cap() (gas: 299144)
[PASS] test_default_borrowCap_zero() (gas: 27547)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 370192)
[PASS] test_reverts_borrow_gt_cap() (gas: 142685)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48711)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35517)
[PASS] test_setBorrowCap() (gas: 78860)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 319851)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 44.25ms (5.41ms CPU time)
Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 290109)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 270250)
[PASS] test_configureEmodeCategory() (gas: 118572)
[PASS] test_removeBorrowableFromEmode() (gas: 198718)
[PASS] test_removeCollateralFromEmode() (gas: 246951)
[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: 218630)
[PASS] test_setAssetCollateralInEMode() (gas: 198740)
[PASS] test_updateEModeCategory() (gas: 207297)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 52.41ms (7.18ms CPU time)
Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 44988)
[PASS] test_calculate_rates_80_bps_usage() (gas: 45107)
[PASS] test_calculate_rates_80_percent_usage() (gas: 87758)
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 43313)
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 43335)
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 121599, ~: 121713)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114253, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71570, ~: 71769)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39838, ~: 39838)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64260, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64421, ~: 65038)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 29922, ~: 29922)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 10.92s (10.88s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48199, ~: 48199)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21930, ~: 21930)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25547, ~: 25547)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22855, ~: 22855)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.45s (3.40s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 47597, ~: 47597)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21313, ~: 21313)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 24938, ~: 24938)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22246, ~: 22246)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.95s (2.92s CPU time)
Ran 16 tests for tests/extensions/static-a-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 850379, ~: 814209)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 849784, ~: 814424)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 788811, ~: 790392)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 885686, ~: 846822)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852118, ~: 814123)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789776, ~: 791205)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 830088, ~: 810745)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 839891)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 650723)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 53159)
[PASS] test_rewardTokens() (gas: 648828)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 864022, ~: 881076)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 822079, ~: 815058)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 20.74s (20.71s CPU time)
2024-10-10T11:50:21.082179Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^1.0.0", "diff-snapshots", "./reports/preTestEngineEModeCategoryUpdate.json", "./reports/postTestEngineEModeCategoryUpdate.json", "-o", "./diffs/preTestEngineEModeCategoryUpdate_postTestEngineEModeCategoryUpdate.md"] stderr="file:///home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.js:882
(key) => typeof input2[key] === "object" && (input2[key].hasOwnProperty("from") || input2[key].hasOwnProperty("to"))
^
TypeError: Cannot read properties of null (reading 'hasOwnProperty')
at file:///home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.js:882:62
at Array.find (<anonymous>)
at hasDiff (file:///home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.js:881:32)
at diffReports (file:///home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.js:954:26)
at async Command.<anonymous> (file:///home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.js:1008:21)
Node.js v18.20.4
"
Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36071, ~: 36071)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36997, ~: 36997)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34506, ~: 34506)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48170, ~: 48170)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 45375, ~: 45375)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21956, ~: 21956)
[PASS] test_overflow_liquidity_rates() (gas: 59538)
[PASS] test_overflow_variable_rates() (gas: 545875)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 6.20s (6.16s CPU time)
Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 424986)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 385859)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 384777)
[PASS] test_splitFunds_fixed() (gas: 461939)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 462371, ~: 464116)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461141, ~: 462581)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100577, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.30s (4.30s CPU time)
Ran 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 931606)
[PASS] test_claimAllRewards() (gas: 887345)
[PASS] test_claimAllRewardsOnBehalf() (gas: 921050)
[PASS] test_claimAllRewardsToSelf() (gas: 886972)
[PASS] test_claimRewards() (gas: 884121)
[PASS] test_claimRewardsOnBehalf() (gas: 922640)
[PASS] test_claimRewardsToSelf() (gas: 883803)
[PASS] test_claimRewards_partial() (gas: 884391)
[PASS] test_claimRewards_zero() (gas: 636633)
[PASS] test_claimRewards_zero_with_rewards() (gas: 643446)
[PASS] test_configureAssets() (gas: 617685)
[PASS] test_initialize_no_op() (gas: 3668534)
[PASS] test_new_RewardsController() (gas: 3644884)
[PASS] test_reverts_initialize_twice() (gas: 3670113)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633550)
[PASS] test_setEmissionPerSecond() (gas: 637678)
[PASS] test_setRewardOracle() (gas: 711302)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913774)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 43.77ms (12.75ms CPU time)
Ran 1 test for tests/protocol/tokenization/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98768)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 29.85ms (233.13µs CPU time)
Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18982)
[PASS] test_emergencyTransfer() (gas: 218794)
[PASS] test_getters() (gas: 18731)
[PASS] test_performTransfer() (gas: 22028)
[PASS] test_renewApproval() (gas: 23102)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 30.33ms (1.10ms CPU time)
Ran 3 tests for tests/extensions/static-a-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] testAdmin() (gas: 22505)
[PASS] test_getters() (gas: 105489)
[PASS] test_initializeShouldRevert() (gas: 24012)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 31.80ms (416.15µs CPU time)
Ran 11 tests for tests/extensions/static-a-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] testAdmin() (gas: 22549)
[PASS] test_canPause() (gas: 29245)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 29741, ~: 29741)
[PASS] test_claimingRewards_shouldRevert() (gas: 554103)
[PASS] test_deposit_shouldRevert() (gas: 485323)
[PASS] test_mint_shouldRevert() (gas: 489653)
[PASS] test_redeem_shouldRevert() (gas: 574372)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 32802, ~: 32802)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 57013)
[PASS] test_transfer_shouldRevert() (gas: 552012)
[PASS] test_withdraw_shouldRevert() (gas: 569595)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 213.08ms (181.84ms CPU time)
Ran 4 tests for tests/extensions/static-a-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] testAdmin() (gas: 22494)
[PASS] test_permit() (gas: 92824)
[PASS] test_permit_expired() (gas: 40599)
[PASS] test_permit_invalidSigner() (gas: 69099)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 33.11ms (1.99ms CPU time)
Ran 5 tests for tests/extensions/static-a-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] testAdmin() (gas: 22494)
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 782234, ~: 782239)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 198818)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 226775)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 453656)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.83s (2.80s CPU time)
Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 3734001)
[PASS] testBorrowUpdatesNoChange() (gas: 2739102)
[PASS] testBorrowsUpdates() (gas: 2802114)
[PASS] testCapsUpdate() (gas: 2743773)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2759388)
[PASS] testCollateralUpdateWrongBonus() (gas: 755115)
[PASS] testCollateralsUpdates() (gas: 2758908)
[PASS] testCollateralsUpdatesNoChange() (gas: 2737243)
[PASS] testEModeCategoryUpdates() (gas: 2827478)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2730555)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 743235)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1726186)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 760192)
[PASS] testListings() (gas: 5930784)
[PASS] testListingsCustom() (gas: 9653409)
[PASS] testPriceFeedsUpdates() (gas: 2819471)
[PASS] testRateStrategiesUpdates() (gas: 2809276)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 32.50s (32.46s CPU time)
Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 54926453)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 55415814)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 41.84ms (37.15ms CPU time)
Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120577)
[PASS] testRemoveAddressesProvider() (gas: 97125)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242924)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16357)
[PASS] test_removesLastProvider() (gas: 32624)
[PASS] test_revert_registry_0() (gas: 15558)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27567)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 33.62ms (1.66ms CPU time)
Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 254579)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.32ms (441.06µs CPU time)
Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 371753)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477658)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 124848)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 78895)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 319113)
[PASS] test_supply_eq_cap() (gas: 300294)
[PASS] test_supply_interests_reach_cap() (gas: 438985)
[PASS] test_supply_lt_cap() (gas: 300295)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 38.60ms (6.27ms 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: 1837590)
[PASS] test_setReserveInterestRateData() (gas: 156713)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1015246)
[PASS] test_updateAToken() (gas: 2312009)
[PASS] test_updateVariableDebtToken() (gas: 1709196)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 37.65ms (4.78ms CPU time)
Ran 3 tests for tests/protocol/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 680432)
[PASS] test_reverts_initReserves_max() (gas: 196981)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 220386)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.93ms (694.74µs CPU time)
Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423531)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 37.24ms (995.32µs 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.22ms (191.43µs CPU time)
Ran 22 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_batchClaimToCollector() (gas: 90031)
[PASS] test_batchGetClaimable() (gas: 49393)
[PASS] test_claimToCollector() (gas: 90683)
[PASS] test_getClaimable() (gas: 46510)
[PASS] test_getters() (gas: 13866)
[PASS] test_rescueTokens() (gas: 203426)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 758278)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 827034)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 930429)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 806904)
[PASS] test_swapAndDeposit() (gas: 908861)
[PASS] test_swapAndDeposit_permit() (gas: 955904)
[PASS] test_swapAndRepay() (gas: 1010758)
[PASS] test_swapAndRepay_flashloan() (gas: 1102116)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1144740)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1060298)
[PASS] test_swapAndRepay_permit() (gas: 1057647)
[PASS] test_swap_liquidity_flashloan() (gas: 1019751)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1062333)
[PASS] test_withdrawAndSwap() (gas: 825851)
[PASS] test_withdrawAndSwap_permit() (gas: 869010)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 533049)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 72.61ms (39.11ms 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, μ: 10577, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10638, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 93.11ms (92.10ms CPU time)
Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 570637)
[PASS] test_reverts_borrow_cap() (gas: 303661)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81579)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315078)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 658617)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 401639)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 562764)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 432100)
[PASS] test_reverts_borrow_invalidAmount() (gas: 65058)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 383739)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132958)
[PASS] test_reverts_borrow_reserveInactive() (gas: 150130)
[PASS] test_reverts_borrow_reservePaused() (gas: 103659)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315809)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 718093)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406925)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381356)
[PASS] test_variable_borrow() (gas: 349462)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 47.28ms (14.64ms CPU time)
Ran 18 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 241853)
[PASS] test_cancel_delegationWithSig() (gas: 101800)
[PASS] test_delegationWithSig() (gas: 95276)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2740426, ~: 2740962)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2813271, ~: 2813131)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827702, ~: 2827341)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2827045, ~: 2827450)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34223)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111067)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2628197, ~: 2628327)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3676807, ~: 3678586)
[PASS] test_reverts_operation_not_supported() (gas: 1591579)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33532)
[PASS] test_scaledBalanceOf() (gas: 321292)
[PASS] test_totalScaledSupply() (gas: 360001)
[PASS] test_totalSupply() (gas: 359930)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2826662, ~: 2827365)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 5.78s (5.74s CPU time)
Ran 12 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13279)
[PASS] test_rayDiv() (gas: 12752)
[PASS] test_rayMul() (gas: 11375)
[PASS] test_rayToWad() (gas: 11057)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13320, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10529, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10663, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12139, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 221.01ms (219.96ms CPU time)
Ran 14 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 478193)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 814411)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 810962)
[PASS] test_depositNativeEthInPool() (gas: 255609)
[PASS] test_fallback_revert() (gas: 10039)
[PASS] test_getWETHAddress() (gas: 10547)
[PASS] test_ownerCanRescueEth() (gas: 25250)
[PASS] test_ownerCanRescueTokens() (gas: 96925)
[PASS] test_sendEthFallback_revert() (gas: 16705)
[PASS] test_sendEth_revert() (gas: 16582)
[PASS] test_withdrawEth_full() (gas: 391279)
[PASS] test_withdrawEth_partial() (gas: 412854)
[PASS] test_withdrawEth_permit() (gas: 447226)
[PASS] test_withdrawEth_permit_full() (gas: 421927)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 40.23ms (10.99ms CPU time)
Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 107849)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 143974, ~: 143974)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109245)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 954.47ms (923.43ms CPU time)
Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 137081)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 101346)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 130770)
[PASS] test_bridgeProtocolFee() (gas: 72994)
[PASS] test_disableLiquidationGracePeriod() (gas: 80452)
[PASS] test_dropReserve() (gas: 149902)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2627910, ~: 2628106)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2621300, ~: 2618992)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30151)
[PASS] test_reverts_dropReserve_notListed() (gas: 53404)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 300324)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 459401)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47308)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2868226, ~: 2869919)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 296578)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35632)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 291447)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35651)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 417360)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30267)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30287)
[PASS] test_setBorrowableInIsolation_false() (gas: 65034)
[PASS] test_setBorrowableInIsolation_true() (gas: 67851)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2607238, ~: 2605629)
[PASS] test_setDebtCeiling() (gas: 124882)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 299836)
[PASS] test_setDebtCeiling_to_zero() (gas: 149744)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 108173)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34809, ~: 34809)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 137437, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138268, ~: 138591)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74859)
[PASS] test_setPoolPause() (gas: 139170)
[PASS] test_setPoolPause_unpause() (gas: 197367)
[PASS] test_setReserveActive_false() (gas: 122131)
[PASS] test_setReserveActive_true() (gas: 69283)
[PASS] test_setReserveFactor() (gas: 976606)
[PASS] test_setReserveFreeze_false() (gas: 100868)
[PASS] test_setReservePause_false() (gas: 68656)
[PASS] test_setReservePause_true() (gas: 71411)
[PASS] test_setSiloedBorrowing() (gas: 120382)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58261)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58175)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 6.96s (6.93s CPU time)
Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524458, ~: 524544)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 463155)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 655919)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 200782)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1102532, ~: 1102613)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 295854, ~: 299949)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016664, ~: 1016892)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919646, ~: 919865)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975906, ~: 976116)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 11.70s (11.67s CPU time)
Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 216054)
[PASS] test_flashloan_borrow() (gas: 532124)
[PASS] test_flashloan_multiple() (gas: 329244)
[PASS] test_flashloan_simple() (gas: 180097)
[PASS] test_flashloan_simple_2() (gas: 180097)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212771)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183626)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 156852)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 105545)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 102296)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 170421, ~: 132532)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144646)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 177995)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 208345)
[PASS] test_reverts_flashloans_eoa() (gas: 113203)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 857299)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 889860)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.21s (1.18s CPU time)
Ran 28 tests for tests/extensions/static-a-token/ERC4626StataTokenUpgradeable.t.sol:ERC4626StataTokenUpgradeableTest
[PASS] test_7201() (gas: 3425)
[PASS] test_convertersAndPreviews(uint128) (runs: 1000, μ: 43213, ~: 43213)
[PASS] test_depositATokens(uint128,address) (runs: 1000, μ: 527642, ~: 527556)
[PASS] test_depositATokens_self() (gas: 527558)
Logs:
Bound result 1000000000000000000
[PASS] test_depositWithPermit_aToken(uint128,address) (runs: 1000, μ: 556514, ~: 556435)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,address) (runs: 1000, μ: 533866, ~: 533796)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,address) (runs: 1000, μ: 469424, ~: 469360)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 398216, ~: 398126)
[PASS] test_depositWithPermit_underlying(uint128,address) (runs: 1000, μ: 487762, ~: 487680)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 388987, ~: 388893)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37200)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42118, ~: 42146)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114975, ~: 115284)
[PASS] test_maxDeposit_freeze() (gas: 121679)
[PASS] test_maxDeposit_noCap() (gas: 103978)
[PASS] test_maxDeposit_paused() (gas: 94887)
[PASS] test_maxRedeem_inSufficientAvailableLiquidity(uint256) (runs: 1000, μ: 987195, ~: 987328)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 552526, ~: 552431)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 522555, ~: 522463)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 466209, ~: 466034)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 257080, ~: 256908)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 582310, ~: 582148)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 589387, ~: 589218)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 609930, ~: 609744)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 541471, ~: 542110)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26068)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 586039, ~: 585875)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 526751, ~: 526579)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 30.46s (30.43s CPU time)
Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 598370)
[PASS] test_new_EmissionManager() (gas: 758986)
[PASS] test_setClaimer() (gas: 51471)
[PASS] test_setDistributionEnd() (gas: 605645)
[PASS] test_setEmissionAdmin() (gas: 43012)
[PASS] test_setEmissionPerSecond() (gas: 612253)
[PASS] test_setRewardOracle() (gas: 687386)
[PASS] test_setRewardsController() (gas: 19086)
[PASS] test_setTransferStrategy() (gas: 888948)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 34.77ms (2.11ms CPU time)
Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597827)
[PASS] test_proxy_upgradeTo() (gas: 619698)
[PASS] test_proxy_upgradeToAndCall() (gas: 625582)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594923)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600810)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598616)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.04ms (1.82ms CPU time)
Ran 47 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 107965)
[PASS] test_getBorrowLogic() (gas: 13620)
[PASS] test_getBridgeLogic() (gas: 13684)
[PASS] test_getEModeLogic() (gas: 13686)
[PASS] test_getFlashLoanLogic() (gas: 13685)
[PASS] test_getLiquidationLogic() (gas: 13707)
[PASS] test_getPoolLogic() (gas: 13684)
[PASS] test_getSupplyLogic() (gas: 13705)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253510)
[PASS] test_getters_getUserAccountData() (gas: 598198)
[PASS] test_l2_borrow() (gas: 436319)
[PASS] test_l2_liquidationCall() (gas: 1120678)
[PASS] test_l2_partial_withdraw() (gas: 310853)
[PASS] test_l2_repay() (gas: 465663)
[PASS] test_l2_repay_atokens() (gas: 472794)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 641465, ~: 632148)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428583, ~: 428584)
[PASS] test_l2_withdraw() (gas: 246075)
[PASS] test_mintToTreasury() (gas: 701740)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706366)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290883)
[PASS] test_pool_defaultValues() (gas: 4489170)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81898, ~: 82191)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734652)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25537, ~: 25537)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127785, ~: 127785)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501351)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40728, ~: 40728)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983168)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600219)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 299000)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 227975)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293845)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71847)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 789929)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36793, ~: 36903)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904358)
[PASS] test_setUserEmode() (gas: 232521)
[PASS] test_setUserEmode_twice() (gas: 377047)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985820)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240399)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277962)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 6.71s (6.68s CPU time)
Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1343382)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1549157)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1405652)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1431243)
[PASS] test_liquidate_isolated_position() (gas: 1334564)
[PASS] test_liquidate_variable_borrow() (gas: 1443498)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1168364)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1103506)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1272395, ~: 1272395)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1463358, ~: 1470804)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1458994, ~: 1468699)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1476082, ~: 1485687)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1281638)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1229540)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 624158)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 598661)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 319337)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160011)
[PASS] test_reverts_liquidation_reservePaused() (gas: 113797)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 19.38s (19.35s CPU time)
Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 589852)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 643854)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 619703)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 417378)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 606517, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581743, ~: 573379)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 587397, ~: 578889)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 535570, ~: 526869)
[PASS] test_repay_full_variable_borrow() (gas: 404515)
[PASS] test_revert_repay_full_stable_borrow() (gas: 353370)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51687)
[PASS] test_reverts_borrow_reserveInactive() (gas: 138883)
[PASS] test_reverts_borrow_reservePaused() (gas: 92515)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 327464)
[PASS] test_reverts_repay_no_debt() (gas: 52259)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 11.54s (12.60s CPU time)
Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.initReserves.t.sol:PoolConfiguratorInitReservesTest
[PASS] test_initReserves_notEnoughDecimal((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 1054321, ~: 1054324)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 93093172, ~: 52842708)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 383260176, ~: 349807852)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 120.09s (153.84s CPU time)
Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.liquidationFee.t.sol:PoolConfiguratorLiquidationFeeTests
[PASS] test_revert_setLiquidationFee_gt_100() (gas: 59237)
[PASS] test_revert_setLiquidationFee_unauthorized() (gas: 59105)
[PASS] test_setLiquidationFee() (gas: 78707)
[PASS] test_setLiquidationFee_100() (gas: 78663)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 23.05ms (957.08µs CPU time)
Ran 60 test suites in 130.06s (311.41s CPU time): 741 tests passed, 0 failed, 0 skipped (741 total tests) |
eboadom
reviewed
Oct 9, 2024
Co-authored-by: Ernesto Boado <[email protected]>
eboadom
changed the title
feat: mock stable debt token
feat: v3.2 pdp (protocol data provider) upgrade
Oct 9, 2024
kyzia551
approved these changes
Oct 9, 2024
eboadom
approved these changes
Oct 22, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pr allows returning a "MOCK_STABLE_DEBT" address in the position of
ReserveData.stableDebtToken
configurable via the pool address provider.Context: On the Aave v3.2 upgrade, stable debt tokens were removed.
To maintain backward compatibility, fallbacks were added to the new
protocolDataProvider
which you obtain by fetchinggetPoolDataProvider
. However, some integrations have opted to hard-code this mutable address of an immutable contract for gas optimizations.This hard hard-coded address cannot be easily patched as it relies on things that no longer exist.
To provide an escape hatch, on pools with broken integrations, it's possible to return a non-zero address here, which will not revert for
totalSupply()
andbalanceOf()
calls.