-
Notifications
You must be signed in to change notification settings - Fork 151
Aave v3.5 protocol #133
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
Aave v3.5 protocol #133
Conversation
…ization on the default path
Aave has historically used half-up / bankers rounding, but the ecosystem has aligned behind 4626, so it makes sense for aave to follow suit.
This(or a variant of this) was recommended by stermi for v3.4. While we did not include it back then, we decided to include it now.
# mixbytes 3
#mixbytes-5
- mixbytes 9
Co-authored-by: Andrey <[email protected]>
fix: undermint to treasury
fix: round in favor of the protocol
this was recommended by stermi on 3.4 and we preferred to move it to 3.5 v3.3 GHO VToken (`GhoVariableDebtToken`) storage layout: ``` ╭-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------╮ | Name | Type | Slot | Offset | Bytes | Contract | +=======================================================================================================================================================================================================+ | lastInitializedRevision | uint256 | 0 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | initializing | bool | 1 | 0 | 1 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | ______gap | uint256[50] | 2 | 0 | 1600 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _nonces | mapping(address => uint256) | 52 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _domainSeparator | bytes32 | 53 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _borrowAllowances | mapping(address => mapping(address => uint256)) | 54 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _underlyingAsset | address | 55 | 0 | 20 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _userState | mapping(address => struct IncentivizedERC20.UserState) | 56 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _allowances | mapping(address => mapping(address => uint256)) | 57 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _totalSupply | uint256 | 58 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _name | string | 59 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _symbol | string | 60 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _decimals | uint8 | 61 | 0 | 1 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _incentivesController | contract IAaveIncentivesController | 61 | 1 | 20 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _ghoAToken | address | 62 | 0 | 20 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _discountToken | contract IERC20 | 63 | 0 | 20 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _discountRateStrategy | contract IGhoDiscountRateStrategy | 64 | 0 | 20 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | |-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------| | _ghoUserState | mapping(address => struct GhoVariableDebtToken.GhoUserState) | 65 | 0 | 32 | src/contracts/facilitators/aave/tokens/GhoVariableDebtToken.sol:GhoVariableDebtToken | ╰-------------------------+--------------------------------------------------------------+------+--------+-------+--------------------------------------------------------------------------------------╯ ``` v3.4 payload upgrade GHO vToken (`VariableDebtTokenMainnetInstanceGHO`) storage layout: ``` ╭-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------╮ | Name | Type | Slot | Offset | Bytes | Contract | +======================================================================================================================================================================================================+ | lastInitializedRevision | uint256 | 0 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | initializing | bool | 1 | 0 | 1 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | ______gap | uint256[50] | 2 | 0 | 1600 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _nonces | mapping(address => uint256) | 52 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _domainSeparator | bytes32 | 53 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _borrowAllowances | mapping(address => mapping(address => uint256)) | 54 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _underlyingAsset | address | 55 | 0 | 20 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _userState | mapping(address => struct IncentivizedERC20.UserState) | 56 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _allowances | mapping(address => mapping(address => uint256)) | 57 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _totalSupply | uint256 | 58 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _name | string | 59 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _symbol | string | 60 | 0 | 32 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _decimals | uint8 | 61 | 0 | 1 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | __deprecated_incentivesController | contract IAaveIncentivesController | 61 | 1 | 20 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _deprecated_ghoAToken | address | 62 | 0 | 20 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _deprecated_discountToken | address | 63 | 0 | 20 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | |-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------| | _deprecated_discountRateStrategy | address | 64 | 0 | 20 | src/VariableDebtTokenMainnetInstanceGHO.sol:VariableDebtTokenMainnetInstanceGHO | ╰-----------------------------------+--------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------╯ ``` v3.5 GHO vToken (`VariableDebtToken`) storage layout: ``` ╭-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------╮ | Name | Type | Slot | Offset | Bytes | Contract | +==================================================================================================================================================================================================+ | lastInitializedRevision | uint256 | 0 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | initializing | bool | 1 | 0 | 1 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | ______gap | uint256[50] | 2 | 0 | 1600 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _nonces | mapping(address => uint256) | 52 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _domainSeparator | bytes32 | 53 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _borrowAllowances | mapping(address => mapping(address => uint256)) | 54 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _underlyingAsset | address | 55 | 0 | 20 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _userState | mapping(address => struct IncentivizedERC20.UserState) | 56 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _allowances | mapping(address => mapping(address => uint256)) | 57 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _totalSupply | uint256 | 58 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _name | string | 59 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _symbol | string | 60 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | _decimals | uint8 | 61 | 0 | 1 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | __deprecated_incentivesController | contract IAaveIncentivesController | 61 | 1 | 20 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | __unusedGap | uint256[3] | 62 | 0 | 96 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | |-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------| | __deprecated_ghoUserState | bytes32 | 65 | 0 | 32 | src/contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken | ╰-----------------------------------+--------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------╯ ```
This instance of the v token is intended to be used with vGHO as long as stkAAVE is not upgraded to remove the discount hook.
…tions in base currency Rounding up the debt usd amount, so that liquidations can also happen on very small amounts.
Fixes an edge case in liquidation: When the liquidated collateral cannot cover the liquidation protocol fee, there is a chance that due to rounding the txn reverts. This pr fixes the edge case by rounding up, so on L377, the fee will be lowered accordingly, resulting a non reverting transferOnLiquidation. stermi 65 certora 12
The protocol switches between scaled and upscaled balance back and forth - sometimes unnecessarily. Therefore, this pr changes the pool operations to consistently work with the scaled balance where possible. --------- Co-authored-by: TepNik <[email protected]> Co-authored-by: Nikita <[email protected]> Co-authored-by: Pavel <[email protected]> Co-authored-by: Andrey <[email protected]>
Historically transferFrom etc have consumed ther users input as allowance. That has never really been accurate, as the users input might not actually be transferrable due to rounding, to account for that we improved the logic to consumer "up to the raw scaled up transfer amount".
liquidation protocol fee is rounded up, not down (in practice is still a bit arbitrary as it rounds multiple times, but the explicit part is now up) add totalSupply to the docs
Certora managed to prove an occasion where the supply of 1 wei could reduce a users hf to to precision loss on avgLt calculation. While this is an extreme adge case on very small amounts, it makes sense to just not lose the precision if possible. Moving the hf check on borrow at the end, reduces code duplication and makes the operation more equivalent to e.g. withdraw.
🌈 Test ResultsNo files changed, compilation skipped
2025-08-07T11:21:46.649327Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:46.650206Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20677)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65496)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37587)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37653)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37600)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37720)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37717)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29432)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29521)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29416)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29538)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29423)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91896)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76412)
[PASS] test_remove_riskAdmin() (gas: 29432)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72834)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1523412)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98813)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125190)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113970)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 15.61ms (5.30ms CPU time)
2025-08-07T11:21:46.654762Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120369)
[PASS] testRemoveAddressesProvider() (gas: 96895)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242308)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16383)
[PASS] test_removesLastProvider() (gas: 32576)
[PASS] test_revert_registry_0() (gas: 15287)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27258)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 33.12ms (1.48ms CPU time)
2025-08-07T11:21:46.667878Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:46.681400Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 226314)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.99ms (296.69µs CPU time)
Ran 5 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 49702)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_receiveEth() (gas: 20265)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.96ms (231.76µs CPU time)
Ran 6 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18161)
[PASS] testTransfer() (gas: 54903)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18185)
[PASS] test_receiveEth() (gas: 20288)
[PASS] test_successful() (gas: 13383)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 2.89ms (245.93µs CPU time)
Ran 7 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_isFundsAdmin() (gas: 24249)
[PASS] test_isNotFundsAdmin() (gas: 17579)
[PASS] test_receiveEth() (gas: 20288)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.07ms (415.02µs CPU time)
Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49636)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18335)
[PASS] testCancelStreamByFundsAdmin() (gas: 206160)
[PASS] testCancelStreamByRecipient() (gas: 231265)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242221)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22839)
[PASS] testCreateStream() (gas: 244288)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27252)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24600)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25041)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25296)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25064)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25761)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23210)
[PASS] testGetNextStreamId() (gas: 17592)
[PASS] testGetNotExistingStream() (gas: 18416)
[PASS] testGetStream() (gas: 234347)
[PASS] testTransfer() (gas: 54947)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18337)
[PASS] testWithdrawFromStream() (gas: 307164)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230192)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243607)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238105)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240264)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23004)
[PASS] test_receiveEth() (gas: 20310)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 5.09ms (2.25ms CPU time)
Ran 16 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay() (gas: 9537430)
[PASS] test_replay_V33_supply() (gas: 2056081)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2075714)
[PASS] test_replay_v33_2setUserEMode() (gas: 2548218)
[PASS] test_replay_v33_2transfer() (gas: 2058284)
[PASS] test_replay_v33_3liquidationCall() (gas: 2584237)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2535248)
[PASS] test_replay_v33_repayWithATokens() (gas: 2481325)
[PASS] test_replay_v33_setReserveActive() (gas: 1977249)
[PASS] test_replay_v33_supply() (gas: 2691144)
[PASS] test_v32_2_borrow() (gas: 2237990)
[PASS] test_v32_borrow() (gas: 2079930)
[PASS] test_v32_mintToTreasury() (gas: 2438045)
[PASS] test_v32_repay() (gas: 1953626)
[PASS] test_v32_setPoolPause() (gas: 4295030)
[PASS] test_v32_withdrawEchidna() (gas: 2064471)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 163.33ms (146.59ms CPU time)
Ran 18 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transferFrom_fullAmount() (gas: 680617)
[PASS] test_transferFrom_fullAmount_dirtyReceiver() (gas: 1111016)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled() (gas: 729421)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1126122)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1077250)
[PASS] test_transferFrom_partialAmount() (gas: 693683)
[PASS] test_transferFrom_partialAmount_receiverNonZeroFunds() (gas: 1090353)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled() (gas: 649674)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1046320)
[PASS] test_transfer_fullAmount() (gas: 616886)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1047313)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 665716)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1062456)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1013650)
[PASS] test_transfer_partialAmount() (gas: 639501)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1036177)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 595449)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 992126)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 236.90ms (157.74ms CPU time)
Ran 13 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 5310733)
[PASS] test10ConfigEngineDeployment() (gas: 7043465)
[PASS] test11StaticATokenDeployment() (gas: 6676133)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7560610)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 4570271)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 3599146)
[PASS] test3AaveV3PoolDeployment() (gas: 7829213)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8089731)
[PASS] test5PeripheralsRelease() (gas: 7071734)
[PASS] test6MiscDeployment() (gas: 1247701)
[PASS] test7ParaswapDeployment() (gas: 5160279)
[PASS] test8SetupMarket() (gas: 2670408)
[PASS] test9TokensMarket() (gas: 3864108)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 17.01ms (7.10ms CPU time)
2025-08-07T11:21:46.909202Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:46.911235Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 10 tests for tests/protocol/tokenization/ATokenDelegation.t.sol:ATokenDelegationTest
[PASS] test_delegate() (gas: 399556)
[PASS] test_getDelegates() (gas: 131759)
[PASS] test_getPowersCurrent() (gas: 639744)
[PASS] test_getPowersCurrent_with_index_growth() (gas: 741809)
[PASS] test_initial_state_without_delegation() (gas: 47493)
[PASS] test_mint_and_burn() (gas: 2659658)
[PASS] test_precision() (gas: 1108451)
[PASS] test_transfer() (gas: 2360500)
[PASS] test_transferFrom() (gas: 2484104)
[PASS] test_transferOnLiquidation() (gas: 2178599)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 98.33ms (63.82ms CPU time)
2025-08-07T11:21:47.005946Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45129)
[PASS] testApproveMax() (gas: 45188)
[PASS] testApproveWithZeroAddressSpender() (gas: 42171)
[PASS] testCheckGetters() (gas: 258237)
[PASS] testDecreaseAllowance() (gas: 53059)
[PASS] testIncreaseAllowance() (gas: 53080)
[PASS] testIncreaseAllowanceFromZero() (gas: 48389)
[PASS] testMintToTreasury_amount_zero() (gas: 15692)
[PASS] testTransferFromZeroAmount() (gas: 126995)
[PASS] test_burn_zeroAddress() (gas: 257704)
[PASS] test_mintToZeroAddress() (gas: 80228)
[PASS] test_reverts_burnAmountScaledZero() (gas: 18964)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19075)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 126806)
[PASS] test_transfer_amount_MAX_UINT_120() (gas: 16576)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 31.21ms (2.42ms CPU time)
2025-08-07T11:21:47.038914Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 529991)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 617256)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 540602)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 249900)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 543315)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 247860)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 595789)
[PASS] test_mintToTreasury_events() (gas: 85757)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 36.94ms (8.89ms CPU time)
2025-08-07T11:21:47.077999Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 16880)
[PASS] test_revert_notAdmin_mint() (gas: 16883)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 16910)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 16687)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 28.00ms (188.99µs CPU time)
2025-08-07T11:21:47.108575Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26147)
[PASS] test_cancelPermit() (gas: 101759)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32932)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46325)
[PASS] test_revert_submitPermit_InvalidExpiration_previosCurrentBlock() (gas: 47222)
[PASS] test_revert_submitPermit_InvalidSignature() (gas: 54771)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55345)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46174)
[PASS] test_submitPermit() (gas: 94824)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 32.19ms (4.09ms CPU time)
2025-08-07T11:21:47.143128Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 244681)
[PASS] test_repay_partialDebt() (gas: 286880)
[PASS] test_revert_repay_withoutFunds() (gas: 133386)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.57ms (1.70ms CPU time)
2025-08-07T11:21:47.174420Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77721)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70425)
[PASS] test_reverts_rescueTokens_UnderlyingCannotBeRescued() (gas: 71084)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.78ms (506.00µs CPU time)
2025-08-07T11:21:47.205316Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 12 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 156593)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 224546)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 152630)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 216604)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 76247)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 76201)
[PASS] test_atoken_multiple_transfers() (gas: 192916)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint256,uint256) (runs: 1000, μ: 383952, ~: 383900)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 505082)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 385179)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 376239)
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 110109)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 896.68ms (862.42ms CPU time)
2025-08-07T11:21:47.551005Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 6 tests for tests/gas/ATokenWithDelegation.Transfer.gas.t.sol:ATokenWithDelegation_gas_Tests
[PASS] test_transfer_fullAmountSenderWithAndReceiverWithoutDelegations() (gas: 293912)
[PASS] test_transfer_fullAmountSenderWithoutAndReceiverWithDelegations_notDelegatees() (gas: 285849)
[PASS] test_transfer_fullAmountWithDelegations_delegatees() (gas: 592171)
[PASS] test_transfer_fullAmountWithDelegations_notDelegatees() (gas: 397980)
[PASS] test_transfer_fullAmountWithoutDelegations_delegatees() (gas: 380056)
[PASS] test_transfer_fullAmountWithoutDelegations_notDelegatees() (gas: 181819)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 129.43ms (30.78ms CPU time)
2025-08-07T11:21:47.680060Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 1 test for tests/protocol/tokenization/ATokenWithDelegationRounding.t.sol:ATokenWithDelegationRoundingTest
[PASS] test_getPowerCurrent_and_delegate_shouldRoundDown() (gas: 227502)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.01ms (843.88µs CPU time)
2025-08-07T11:21:47.713650Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/protocol/tokenization/ATokenRounding.t.sol:ATokenRoundingTest
[PASS] test_balanceShouldRoundDown() (gas: 48501)
[PASS] test_fuzzEdge(uint256,uint256,uint256) (runs: 1000, μ: 324218, ~: 324234)
[PASS] test_supplyShouldRoundDown() (gas: 280484)
[PASS] test_supplyShouldRoundDown_revertIfZero() (gas: 142576)
[PASS] test_totalSupplyShouldRoundDown() (gas: 44267)
[PASS] test_transferAmountShouldBeRoundedUp() (gas: 426288)
[PASS] test_withdrawShouldRoundUp() (gas: 355261)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 762.48ms (734.48ms CPU time)
2025-08-07T11:21:47.971811Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/utils/AaveSetters.t.sol:AaveSettersTest
[PASS] test_setATokenBalance() (gas: 41857)
[PASS] test_setATokenTotalSupply() (gas: 38281)
[PASS] test_setLastUpdateTimestamp() (gas: 61359)
[PASS] test_setLiquidityIndex() (gas: 60081)
[PASS] test_setVTokenBalance() (gas: 41701)
[PASS] test_setVTokenTotalSupply() (gas: 38156)
[PASS] test_setVariableBorrowIndex() (gas: 60124)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 31.72ms (1.10ms CPU time)
2025-08-07T11:21:48.005756Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:48.022419Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:48.045904Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:48.062387Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:48.085188Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 54386000)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 62562606)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53884571)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 64353673)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 63071884)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 107.09ms (102.20ms CPU time)
Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 5310820)
[PASS] test10StaticATokenDeployment() (gas: 6676156)
[PASS] test1AaveV3GettersDeployment() (gas: 7395953)
[PASS] test2AaveV3PoolDeployment() (gas: 7829247)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8089808)
[PASS] test4PeripheralsRelease() (gas: 7071756)
[PASS] test5MiscDeployment() (gas: 844259)
[PASS] test6ParaswapRelease() (gas: 5160256)
[PASS] test7SetupMarket() (gas: 2645975)
[PASS] test8TokensMarket() (gas: 3864106)
[PASS] test9ConfigEngineDeployment() (gas: 7043528)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54383263)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 22.10ms (12.16ms CPU time)
Ran 3 tests for tests/protocol/tokenization/AToken_TransferFrom.t.sol:ATokenTransferFromTests
[PASS] test_transferFrom(uint128,uint256) (runs: 1000, μ: 177045, ~: 178469)
[PASS] test_transferFrom_shouldRevertIfSenderInsufficientAllowance() (gas: 58420)
[PASS] test_transferFrom_shouldRevertIfSenderIsNotApproved() (gas: 31547)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 425.66ms (399.68ms CPU time)
2025-08-07T11:21:48.140929Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:21:48.141650Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 1012313)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1151410)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1171353)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 994026)
[PASS] testEmptySource() (gas: 897261)
[PASS] testGetBaseCurrencyPrice() (gas: 12312)
[PASS] testGetPriceViaFallbackOracle() (gas: 1075832)
[PASS] testUpdateFallbackOracle() (gas: 178435)
[PASS] testUpdateSingleSource() (gas: 126689)
[PASS] testUpdateSourceBaseCurrency() (gas: 138281)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 898200)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24207)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 29.66ms (2.18ms CPU time)
2025-08-07T11:21:48.174650Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 582123)
[PASS] test_new_EmissionManager() (gas: 756819)
[PASS] test_setClaimer() (gas: 51517)
[PASS] test_setDistributionEnd() (gas: 589381)
[PASS] test_setEmissionAdmin() (gas: 43116)
[PASS] test_setEmissionPerSecond() (gas: 595890)
[PASS] test_setRewardOracle() (gas: 671191)
[PASS] test_setRewardsController() (gas: 19122)
[PASS] test_setTransferStrategy() (gas: 856073)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 30.92ms (1.96ms CPU time)
Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 600016)
[PASS] test_proxy_upgradeTo() (gas: 622088)
[PASS] test_proxy_upgradeToAndCall() (gas: 627937)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 597095)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 602961)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 600781)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 2.88ms (1.72ms CPU time)
2025-08-07T11:21:48.217116Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 54 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_approvePositionManager_false() (gas: 42552)
[PASS] test_approvePositionManager_true() (gas: 48988)
[PASS] test_dropReserve() (gas: 96195)
[PASS] test_getBorrowLogic() (gas: 13740)
[PASS] test_getEModeLogic() (gas: 13718)
[PASS] test_getFlashLoanLogic() (gas: 13675)
[PASS] test_getLiquidationLogic() (gas: 13761)
[PASS] test_getPoolLogic() (gas: 13782)
[PASS] test_getSupplyLogic() (gas: 13693)
[PASS] test_getVirtualUnderlyingBalance() (gas: 227268)
[PASS] test_getters_getUserAccountData() (gas: 580422)
[PASS] test_l2_borrow() (gas: 411859)
[PASS] test_l2_liquidationCall() (gas: 1018961)
[PASS] test_l2_partial_withdraw() (gas: 299105)
[PASS] test_l2_repay() (gas: 435639)
[PASS] test_l2_repay_atokens() (gas: 441948)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 611691, ~: 612271)
[PASS] test_l2_set_user_collateral() (gas: 246470)
[PASS] test_l2_supply() (gas: 245738)
[PASS] test_l2_supply_permit(uint128,uint120) (runs: 1000, μ: 415608, ~: 415610)
[PASS] test_l2_withdraw() (gas: 236604)
[PASS] test_mintToTreasury() (gas: 664208)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 668791)
[PASS] test_noop_approvePositionManager_true_when_already_is_activated() (gas: 54177)
[PASS] test_noop_setUserUseReserveAsCollateralOnBehalfOf_true_when_already_is_activated() (gas: 425161)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 256367)
[PASS] test_pool_defaultValues() (gas: 4929087)
[PASS] test_renouncePositionManager() (gas: 38418)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81702, ~: 81992)
[PASS] test_resetIsolationModeTotalDebt() (gas: 699134)
[PASS] test_revert_setUserEModeOnBehalfOf_not_position_manager(address) (runs: 1000, μ: 212735, ~: 212735)
[PASS] test_reverts_impl_initialize() (gas: 4342635)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 24906, ~: 24906)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 98895, ~: 98895)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4442888)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 949578)
[PASS] test_reverts_setUserUseReserveAsCollateralOnBehalfOf_caller_not_position_manager(address) (runs: 1000, μ: 404622, ~: 404622)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 571193)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 270556)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 186187)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 264225)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 50055)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 759988)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36640, ~: 36758)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 26612, ~: 26612)
[PASS] test_setUserEModeOnBehalfOf() (gas: 244549)
[PASS] test_setUserEmode() (gas: 218212)
[PASS] test_setUserEmode_twice() (gas: 356490)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 955664)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_false() (gas: 392928)
[PASS] test_setUserUseReserveAsCollateralOnBehalfOf_true() (gas: 419333)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 218570)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 250570)
[PASS] test_updateBridgeProtocolFee() (gas: 231)
Suite result: ok. 54 passed; 0 failed; 0 skipped; finished in 6.29s (6.26s CPU time)
Ran 11 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] testMulDivCeil_NoRemainder() (gas: 3231)
[PASS] testMulDivCeil_RevertOnDivByZero() (gas: 3150)
[PASS] testMulDivCeil_RevertOnOverflow() (gas: 3166)
[PASS] testMulDivCeil_WithRemainder() (gas: 3230)
[PASS] testMulDivCeil_ZeroAOrB() (gas: 3779)
[PASS] test_calculateCompoundInterest_1() (gas: 4825)
[PASS] test_calculateCompoundInterest_2() (gas: 5264)
[PASS] test_calculateCompoundInterest_edge() (gas: 4972)
[PASS] test_calculateCompoundInterest_shouldNotOverflow() (gas: 4038)
[PASS] test_calculateLinearInterest() (gas: 4652)
[PASS] test_constants() (gas: 3159)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.79ms (203.78µs CPU time)
2025-08-07T11:21:54.535160Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 196269)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 726138)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 795709)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 890876)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 775701)
[PASS] test_swapAndDeposit() (gas: 875433)
[PASS] test_swapAndDeposit_permit() (gas: 922946)
[PASS] test_swapAndRepay() (gas: 963086)
[PASS] test_swapAndRepay_flashloan() (gas: 1026891)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1070015)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1011992)
[PASS] test_swapAndRepay_permit() (gas: 1010447)
[PASS] test_swap_liquidity_flashloan() (gas: 955950)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 998968)
[PASS] test_withdrawAndSwap() (gas: 793147)
[PASS] test_withdrawAndSwap_permit() (gas: 836738)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 518857)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 78.12ms (32.54ms CPU time)
Ran 17 tests for tests/protocol/libraries/math/PercentageMath.t.sol:PercentageMathTests
[PASS] testPercentDivCeil_Exact() (gas: 3267)
[PASS] testPercentDivCeil_RevertOnDivByZero() (gas: 3145)
[PASS] testPercentDivCeil_RevertOnOverflow() (gas: 3178)
[PASS] testPercentDivCeil_WithCeilNeeded() (gas: 3244)
[PASS] testPercentMulCeil_Exact() (gas: 3250)
[PASS] testPercentMulCeil_RevertOnOverflow() (gas: 3212)
[PASS] testPercentMulCeil_WithRoundingUp() (gas: 3292)
[PASS] testPercentMulCeil_ZeroValueOrPercent() (gas: 3770)
[PASS] testPercentMulFloor_Exact() (gas: 3200)
[PASS] testPercentMulFloor_RevertOnOverflow() (gas: 3147)
[PASS] testPercentMulFloor_WithTruncation() (gas: 3243)
[PASS] testPercentMulFloor_ZeroInputs() (gas: 3673)
[PASS] test_constants() (gas: 4281)
[PASS] test_percentDiv() (gas: 4274)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 3862, ~: 3893)
[PASS] test_percentMul() (gas: 4193)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 3635, ~: 3726)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 41.72ms (40.38ms CPU time)
2025-08-07T11:21:54.656447Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 583113)
[PASS] test_reverts_borrow_DebtCeilingExceeded() (gas: 432253)
[PASS] test_reverts_borrow_InconsistentEModeCategory() (gas: 416480)
[PASS] test_reverts_borrow_cap() (gas: 290070)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 219600)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 404005)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 681248)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 573283)
[PASS] test_reverts_borrow_invalidAmount() (gas: 61967)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 414818)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 129062)
[PASS] test_reverts_borrow_reserveInactive() (gas: 135962)
[PASS] test_reverts_borrow_reservePaused() (gas: 99991)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 302921)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 668459)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 387287)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 365730)
[PASS] test_variable_borrow() (gas: 359389)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 54.18ms (12.27ms CPU time)
2025-08-07T11:21:54.700592Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
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, μ: 832269, ~: 832327)
[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 797564, ~: 797618)
[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 795085, ~: 797239)
[PASS] test_hf_gt_095_borrow_gt_threshold_collateral_lt_threshold_closeFactorShouldBe100() (gas: 1041880)
[PASS] test_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50() (gas: 830938)
Logs:
Bound result 100000000000000000000
Bound result 970000000000000000
[PASS] test_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100() (gas: 796139)
Logs:
Bound result 500000000000000000
Bound result 970000000000000000
[PASS] test_hf_helper(uint256) (runs: 1000, μ: 530914, ~: 530942)
[PASS] test_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100() (gas: 796270)
Logs:
Bound result 100000000000000000000
Bound result 940000000000000000
[PASS] test_liquidationdataprovider_edge_range() (gas: 952600)
[PASS] test_liquidationdataprovider_edge_range_reverse() (gas: 1003711)
[PASS] test_shouldRevertIfCloseFactorIs100ButCollateralIsBelowThreshold() (gas: 799733)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 11.48s (11.44s CPU time)
2025-08-07T11:21:58.127219Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3355)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835598, ~: 797985)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 836070, ~: 798200)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772549, ~: 774264)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 868999, ~: 830583)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 834534, ~: 797899)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 773373, ~: 775178)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 816258, ~: 794281)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 823792)
[PASS] test_getReferenceAsset() (gas: 12902)
[PASS] test_isRegisteredRewardToken() (gas: 633916)
[PASS] test_noRewardsInitialized() (gas: 39220)
[PASS] test_noopWhenNotInitialized() (gas: 52782)
[PASS] test_rewardTokens() (gas: 632057)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 846672, ~: 864680)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 806088, ~: 798822)
[PASS] test_zeroIncentivesController() (gas: 37689)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 16.87s (16.84s CPU time)
2025-08-07T11:22:03.779934Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 25 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 802532)
[PASS] test_full_liquidate_atokens_edgecase_collateral_not_enough_to_cover_fee() (gas: 462257)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 966802)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1142693)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1012515)
[PASS] test_liquidate_borrow_bad_debt() (gas: 811802)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1147314)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1044521)
[PASS] test_liquidate_isolated_position() (gas: 902423)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 848908)
[PASS] test_liquidate_variable_borrow_repro() (gas: 1030578)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 670490)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 851825, ~: 852152)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1008814, ~: 1011515)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1008778, ~: 1012783)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1022957, ~: 1026044)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 889476)
[PASS] test_partial_liquidate_variable_borrow() (gas: 847416)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 622140)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 445253)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 580319)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 338519)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 174938)
[PASS] test_reverts_liquidation_reservePaused() (gas: 141768)
[PASS] test_self_liquidate_position_shouldRevert() (gas: 666820)
Suite result: ok. 25 passed; 0 failed; 0 skipped; finished in 14.95s (14.91s CPU time)
2025-08-07T11:22:13.078652Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 20 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 2738737)
[PASS] testBorrowUpdatesNoChange() (gas: 2452188)
[PASS] testBorrowsUpdates() (gas: 2520848)
[PASS] testCapsUpdate() (gas: 2461666)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2476042)
[PASS] testCollateralUpdateWrongBonus() (gas: 796163)
[PASS] testCollateralsUpdates() (gas: 2475574)
[PASS] testCollateralsUpdatesNoChange() (gas: 2450343)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 801779)
[PASS] testEModeCategoryCreation() (gas: 1239619)
[PASS] testEModeCategoryUpdates() (gas: 2605562)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2607322)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 875932)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 866325)
[PASS] testListingWithEModeCategoryCreation() (gas: 5872178)
[PASS] testListings() (gas: 5582409)
[PASS] testListingsCustom() (gas: 9385327)
[PASS] testListingsCustomWithEModeCategoryCreation() (gas: 9675862)
[PASS] testPriceFeedsUpdates() (gas: 2527943)
[PASS] testRateStrategiesUpdates() (gas: 2515291)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 24.96s (24.93s CPU time)
2025-08-07T11:22:13.106449Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:22:13.123980Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52760842)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 53252408)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 41.17ms (35.82ms CPU time)
Ran 22 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 919894)
[PASS] test_borrow_onBehalfOf() (gas: 1011360)
[PASS] test_flashLoanSimple() (gas: 609288)
[PASS] test_flashLoan_with_one_asset() (gas: 738628)
[PASS] test_flashLoan_with_one_asset_with_borrowing() (gas: 1163674)
[PASS] test_flashLoan_with_two_assets() (gas: 1035285)
[PASS] test_flashLoan_with_two_assets_with_borrowing() (gas: 1871178)
[PASS] test_liquidationCall_deficit() (gas: 1339974)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1702260)
[PASS] test_liquidationCall_full() (gas: 1340041)
[PASS] test_liquidationCall_partial() (gas: 1326061)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 1337367)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 1323151)
[PASS] test_mintToTreasury_one_asset() (gas: 964940)
[PASS] test_mintToTreasury_one_asset_zero_amount() (gas: 46525)
[PASS] test_mintToTreasury_two_assets() (gas: 1943671)
[PASS] test_mintToTreasury_two_assets_zero_amount() (gas: 54093)
[PASS] test_repay() (gas: 1282005)
[PASS] test_repay_with_ATokens() (gas: 1126930)
[PASS] test_supply() (gas: 1758385)
[PASS] test_withdraw() (gas: 779945)
[PASS] test_withdraw_with_active_borrows() (gas: 928621)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 138.64ms (65.23ms CPU time)
2025-08-07T11:22:13.219315Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/gas/Pool.OperationsComposition.gas.t.sol:PoolOperationsComposition_gas_Tests
[PASS] test_batchLiquidation() (gas: 2159886)
[PASS] test_repayAndWithdraw() (gas: 1263308)
[PASS] test_supplyAndBorrow() (gas: 653519)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 116.00ms (34.70ms CPU time)
2025-08-07T11:22:13.335702Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:22:19.495343Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-08-07T11:22:21.043444Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/protocol/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 618116)
[PASS] test_reverts_initReserves_max() (gas: 174166)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 197304)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 29.58ms (577.82µs CPU time)
2025-08-07T11:22:21.075628Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27215)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 47299)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47353)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27126)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 47276)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47374)
[PASS] test_new_PriceOracleSentinel() (gas: 395850)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25429)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22340)
[PASS] test_setGracePeriod() (gas: 32317)
[PASS] test_setSequencerOracle() (gas: 24455)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 30.16ms (822.46µs CPU time)
2025-08-07T11:22:21.110389Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 40410)
[PASS] test_getDebtCeiling() (gas: 21703)
[PASS] test_getFlashLoanEnabled() (gas: 21803)
[PASS] test_getInterestRateStrategyAddress() (gas: 19259)
[PASS] test_getIsVirtualAccActive() (gas: 10877)
[PASS] test_getLiquidationProtocolFee() (gas: 21762)
[PASS] test_getPaused() (gas: 21854)
[PASS] test_getReserveCaps() (gas: 21788)
[PASS] test_getReserveConfigurationData() (gas: 22767)
[PASS] test_getReserveTokensAddresses() (gas: 25610)
[PASS] test_getSiloedBorrowing() (gas: 21858)
[PASS] test_getTotalDebt() (gas: 40432)
[PASS] test_getUnbackedMintCap() (gas: 10786)
[PASS] test_getUserReserveData() (gas: 529638)
[PASS] test_getVirtualUnderlyingBalance() (gas: 21488)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 88.09ms (5.28ms CPU time)
2025-08-07T11:22:21.198859Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 16 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 579243)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 652325)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 613837)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 400711)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 606658, ~: 606942)
[PASS] test_repayWithATokens_shouldRevertIfUnhealthyAfterRepayment() (gas: 358749)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 583079, ~: 583335)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 588706, ~: 589143)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 509267, ~: 509522)
[PASS] test_repay_full_variable_borrow() (gas: 388655)
[PASS] test_revert_repay_full_stable_borrow() (gas: 317927)
[PASS] test_reverts_borrow_invalidAmount() (gas: 59808)
[PASS] test_reverts_borrow_reserveInactive() (gas: 133168)
[PASS] test_reverts_borrow_reservePaused() (gas: 97325)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 312483)
[PASS] test_reverts_repay_no_debt() (gas: 60003)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 8.40s (8.37s CPU time)
2025-08-07T11:22:21.741347Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 4 tests for tests/protocol/pool/Pool.Rounding.t.sol:PoolRoundingTests
[PASS] test_borrowCapShouldRoundUp() (gas: 482952)
[PASS] test_debtBalanceInBaseCurrencyShouldRoundUp() (gas: 422717)
[PASS] test_reverts_withdrawShouldRoundDownUserBalance() (gas: 304284)
[PASS] test_supplyCapShouldRoundDown() (gas: 413646)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 32.51ms (3.73ms CPU time)
2025-08-07T11:22:21.777924Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 4 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 1714596)
[PASS] test_setUserEModeOnBehalfOf() (gas: 1360330)
[PASS] test_setUserUseReserveAsCollateral() (gas: 570946)
[PASS] test_setUserUseReserveAsCollateralonBehalfOf() (gas: 633258)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 133.94ms (56.91ms CPU time)
2025-08-07T11:22:21.912414Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 47885)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_bps_usage() (gas: 48004)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage() (gas: 90655)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46210)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46232)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 123407, ~: 123674)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 117445, ~: 120332)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 74768, ~: 75364)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 43499, ~: 43416)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67581, ~: 68630)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67457, ~: 68639)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 32765, ~: 32453)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 18549)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 3.15s (3.12s CPU time)
2025-08-07T11:22:24.350244Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 9 tests for tests/protocol/pool/Pool.Deficit.sol:PoolDeficitTests
[PASS] test_eliminateReserveDeficit_exactDeficit(address,uint120) (runs: 1000, μ: 1519726, ~: 1519898)
[PASS] test_eliminateReserveDeficit_fullUserBalance(address,uint120) (runs: 1000, μ: 1521136, ~: 1521323)
[PASS] test_eliminateReserveDeficit_partial(address,uint120,uint120) (runs: 1000, μ: 1509279, ~: 1509404)
[PASS] test_eliminateReserveDeficit_surplus(address,uint120) (runs: 1000, μ: 1516426, ~: 1516602)
[PASS] test_interestRate() (gas: 1492389)
Logs:
Bound result 500000000000000000000000
[PASS] test_reverts_eliminateReserveDeficit_ReserveNotInDeficit(address) (runs: 1000, μ: 101870, ~: 101870)
[PASS] test_reverts_eliminateReserveDeficit_has_borrows(address,uint120,uint120) (runs: 1000, μ: 1562414, ~: 1562315)
[PASS] test_reverts_eliminateReserveDeficit_invalid_amount(address,uint120) (runs: 1000, μ: 1195387, ~: 1195564)
[PASS] test_reverts_eliminateReserveDeficit_invalid_caller(address,uint120) (runs: 1000, μ: 1170579, ~: 1170745)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 30.20s (30.16s CPU time)
2025-08-07T11:22:24.906693Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1526240)
[PASS] test_getter_getMarketId() (gas: 1488924)
[PASS] test_new_PoolAddressesProvider() (gas: 1498177)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1502343)
[PASS] test_reverts_setAddress_noAuth() (gas: 1507539)
[PASS] test_reverts_setters_notOwner() (gas: 1505033)
[PASS] test_setACLManager_changeContract() (gas: 3067366)
[PASS] test_setACLManager_setACLAdmin() (gas: 2301622)
[PASS] test_setAddress() (gas: 1516437)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2096171)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2228513)
[PASS] test_setAddress_updateAddress() (gas: 1525575)
[PASS] test_setPoolConfiguratorImpl() (gas: 6133438)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10529531)
[PASS] test_setPoolDataProvider() (gas: 1516824)
[PASS] test_setPoolImpl() (gas: 7056415)
[PASS] test_setPoolImpl_upgrade() (gas: 11451622)
[PASS] test_setPriceOracle() (gas: 1516981)
[PASS] test_setPriceOracleSentinel() (gas: 1516852)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1526317)
[PASS] test_setPriceOracle_changeContract() (gas: 1526578)
[PASS] test_setter_setMarketId() (gas: 1500043)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 38.67ms (8.06ms CPU time)
2025-08-07T11:22:24.946897Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52084, ~: 52029)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25924, ~: 25843)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29088, ~: 29186)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22028, ~: 22028)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22076, ~: 22076)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26786, ~: 26699)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23308, ~: 23308)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.30s (1.27s CPU time)
2025-08-07T11:22:25.648862Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 265369)
[PASS] test_first_supply() (gas: 265435)
[PASS] test_...*[Comment body truncated]* |
♻️ Forge Gas Snapshots
🔕 Unchanged
|
🔮 Coverage report
|
Forge Build Sizes🔕 Unchanged
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
fix: update abdk audit fix: abdk report
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certora Run Started (Certora Prover Run)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verification Results
- Group ID: ae9bd1a5-4892-4a8b-b11a-1fe9c81cbfc2
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| token-v3-general.conf | ✅ | 5 | Link |
| token-v3-erc20.conf | ✅ | 9 | Link |
| token-v3-delegate-invariants.conf --rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct --rule_sanity "none" | ✅ | 5 | Link |
| token-v3-delegate-invariants.conf --exclude_rule mirror_votingDelegatee_correct mirror_propositionDelegatee_correct mirror_delegationMode_correct mirror_balance_correct | ✅ | 13 | Link |
| token-v3-delegate-HL-rules.conf --rule vp_change_of_balance_affect_power_NON_DELEGATEE | ✅ | 2 | Link |
| token-v3-delegate-HL-rules.conf --rule vp_change_in_balance_affect_power_DELEGATEE | ✅ | 2 | Link |
| token-v3-delegate-HL-rules.conf --rule pp_change_of_balance_affect_power_NON_DELEGATEE | ✅ | 2 | Link |
| token-v3-delegate-HL-rules.conf --rule pp_change_in_balance_affect_power_DELEGATEE | ✅ | 2 | Link |
| token-v3-delegate-HL-rules.conf --rule no_function_changes_both_balance_and_delegation_state | ✅ | 2 | Link |
| token-v3-delegate-basic.conf | ✅ | 21 | Link |
Certora Run Started (Certora Prover Run)
|
Certora Run Started (Certora Prover Run)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verification Results
- Group ID: 980cb243-42d7-46f8-b5f5-1eb61d3fd0c0
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| rayMulDiv-CVL-check.conf | ✅ | 7 | Link |
Aave Protocol v3.5