forked from aave-dao/aave-v3-origin
-
Notifications
You must be signed in to change notification settings - Fork 7
Sync upstream #5
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
Open
miguelmtzinf
wants to merge
61
commits into
main
Choose a base branch
from
sync-upstream
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or 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
…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.
audit: add certora audit audit: add abdk Add MixBytes audit for Aave v3.5.0 fix: add all audits fix: don't prettier audits for PR V3.5 fix: remove duplicate certora audit
Co-authored-by: Ernesto Boado <[email protected]>
fix: update abdk audit fix: abdk report
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The cli was used mainly on aave-helpers, thus it's more natural to move it there and drop it from the origin.
Readme contained wrong links. Aslo there was a bug in foundry nightly used to generate the last report which decreased coverage: foundry-rs/foundry#11432 - merging this pr will update based on latest nightly.
fix: Update solidity-utils with XLayer network
Forge Build Sizes🔕 Unchanged
|
🔮 Coverage report
|
♻️ Forge Gas Snapshots
🔕 Unchanged
|
🌈 Test ResultsNo files changed, compilation skipped
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20677)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65496)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37587)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37653)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37600)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37720)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37717)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29432)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29521)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29416)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29538)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29423)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91896)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76412)
[PASS] test_remove_riskAdmin() (gas: 29432)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72834)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1523412)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98813)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125190)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113970)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 12.55ms (2.04ms CPU time)
Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120369)
[PASS] testRemoveAddressesProvider() (gas: 96895)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242308)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16383)
[PASS] test_removesLastProvider() (gas: 32576)
[PASS] test_revert_registry_0() (gas: 15287)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27258)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 32.87ms (1.52ms CPU time)
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.31ms (268.23µ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.83ms (230.04µ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.79ms (246.05µ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 2.98ms (419.05µs CPU time)
Ran 18 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transferFrom_fullAmount() (gas: 688117)
[PASS] test_transferFrom_fullAmount_dirtyReceiver() (gas: 1123516)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled() (gas: 736921)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1138622)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1089750)
[PASS] test_transferFrom_partialAmount() (gas: 698683)
[PASS] test_transferFrom_partialAmount_receiverNonZeroFunds() (gas: 1100353)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled() (gas: 654674)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1056320)
[PASS] test_transfer_fullAmount() (gas: 624386)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1059813)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 673216)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1074956)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1026150)
[PASS] test_transfer_partialAmount() (gas: 644501)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1046177)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 600449)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1002126)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 65.99ms (33.11ms CPU time)
Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49636)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18335)
[PASS] testCancelStreamByFundsAdmin() (gas: 206160)
[PASS] testCancelStreamByRecipient() (gas: 231265)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242221)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22839)
[PASS] testCreateStream() (gas: 244288)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27252)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24600)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25041)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25296)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25064)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25761)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23210)
[PASS] testGetNextStreamId() (gas: 17592)
[PASS] testGetNotExistingStream() (gas: 18416)
[PASS] testGetStream() (gas: 234347)
[PASS] testTransfer() (gas: 54947)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18337)
[PASS] testWithdrawFromStream() (gas: 307164)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230192)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243607)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238105)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240264)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23004)
[PASS] test_receiveEth() (gas: 20310)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 7.07ms (4.40ms CPU time)
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 147.87ms (89.66ms CPU time)
Ran 16 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay() (gas: 9529378)
[PASS] test_replay_V33_supply() (gas: 2055073)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2074706)
[PASS] test_replay_v33_2setUserEMode() (gas: 2546874)
[PASS] test_replay_v33_2transfer() (gas: 2057276)
[PASS] test_replay_v33_3liquidationCall() (gas: 2583118)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2533568)
[PASS] test_replay_v33_repayWithATokens() (gas: 2480206)
[PASS] test_replay_v33_setReserveActive() (gas: 1976130)
[PASS] test_replay_v33_supply() (gas: 2689800)
[PASS] test_v32_2_borrow() (gas: 2237318)
[PASS] test_v32_borrow() (gas: 2078922)
[PASS] test_v32_mintToTreasury() (gas: 2436701)
[PASS] test_v32_repay() (gas: 1952618)
[PASS] test_v32_setPoolPause() (gas: 4290665)
[PASS] test_v32_withdrawEchidna() (gas: 2063463)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 156.03ms (138.51ms 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 16.31ms (6.60ms CPU time)
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 33.14ms (4.66ms CPU time)
Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 529105)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 615934)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 539716)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 249191)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 542429)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 247410)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 594439)
[PASS] test_mintToTreasury_events() (gas: 85757)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 40.82ms (13.63ms CPU time)
Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 16880)
[PASS] test_revert_notAdmin_mint() (gas: 16883)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 16910)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 16687)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 27.40ms (231.70µs CPU time)
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 31.22ms (4.12ms CPU time)
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 30.05ms (3.25ms CPU time)
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 27.51ms (524.32µs CPU time)
Ran 12 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 156587)
[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: 216580)
[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, μ: 383976, ~: 383900)
Logs:
Bound result 17339104198
Bound result 1183462722
[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: 109535)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 881.99ms (847.52ms CPU time)
Ran 6 tests for tests/gas/ATokenWithDelegation.Transfer.gas.t.sol:ATokenWithDelegation_gas_Tests
[PASS] test_transfer_fullAmountSenderWithAndReceiverWithoutDelegations() (gas: 296412)
[PASS] test_transfer_fullAmountSenderWithoutAndReceiverWithDelegations_notDelegatees() (gas: 288349)
[PASS] test_transfer_fullAmountWithDelegations_delegatees() (gas: 594671)
[PASS] test_transfer_fullAmountWithDelegations_notDelegatees() (gas: 400480)
[PASS] test_transfer_fullAmountWithoutDelegations_delegatees() (gas: 382556)
[PASS] test_transfer_fullAmountWithoutDelegations_notDelegatees() (gas: 184319)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 38.93ms (3.04ms CPU time)
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 29.65ms (820.43µs CPU time)
Ran 7 tests for tests/protocol/tokenization/ATokenRounding.t.sol:ATokenRoundingTest
[PASS] test_balanceShouldRoundDown() (gas: 48501)
[PASS] test_fuzzEdge(uint256,uint256,uint256) (runs: 1000, μ: 324126, ~: 324234)
Logs:
Bound result 73155619664685124479411848892
Bound result 79228162514264337593543950335
Bound result 20253642042474201306205421
[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 722.91ms (692.75ms CPU time)
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 29.20ms (1.10ms CPU time)
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 102.69ms (97.97ms 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 21.38ms (11.43ms CPU time)
Ran 3 tests for tests/protocol/tokenization/AToken_TransferFrom.t.sol:ATokenTransferFromTests
[PASS] test_transferFrom(uint128,uint256) (runs: 1000, μ: 176785, ~: 178469)
Logs:
Bound result 368769765737873333167396913437
Bound result 85162358508258736682
[PASS] test_transferFrom_shouldRevertIfSenderInsufficientAllowance() (gas: 58420)
[PASS] test_transferFrom_shouldRevertIfSenderIsNotApproved() (gas: 31547)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 381.82ms (356.43ms CPU time)
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.05ms (2.19ms 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: 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 28.80ms (608.62µs CPU time)
Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27215)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 47299)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47353)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27126)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 47276)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47374)
[PASS] test_new_PriceOracleSentinel() (gas: 395850)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25429)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22340)
[PASS] test_setGracePeriod() (gas: 32317)
[PASS] test_setSequencerOracle() (gas: 24455)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 28.32ms (879.68µs CPU time)
Ran 18 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 40410)
[PASS] test_getAllATokens() (gas: 75591)
[PASS] test_getAllReservesTokens() (gas: 54844)
[PASS] test_getDebtCeiling() (gas: 21703)
[PASS] test_getFlashLoanEnabled() (gas: 21803)
[PASS] test_getInterestRateStrategyAddress() (gas: 19259)
[PASS] test_getIsVirtualAccActive() (gas: 10855)
[PASS] test_getLiquidationProtocolFee() (gas: 21784)
[PASS] test_getPaused() (gas: 21854)
[PASS] test_getReserveCaps() (gas: 21788)
[PASS] test_getReserveConfigurationData() (gas: 22767)
[PASS] test_getReserveDeficit() (gas: 21302)
[PASS] test_getReserveTokensAddresses() (gas: 25610)
[PASS] test_getSiloedBorrowing() (gas: 21858)
[PASS] test_getTotalDebt() (gas: 40410)
[PASS] test_getUnbackedMintCap() (gas: 10808)
[PASS] test_getUserReserveData() (gas: 534783)
[PASS] test_getVirtualUnderlyingBalance() (gas: 21488)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 33.59ms (2.28ms CPU time)
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 36.59ms (32.80ms CPU time)
Ran 20 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 2732590)
[PASS] testBorrowUpdatesNoChange() (gas: 2444616)
[PASS] testBorrowsUpdates() (gas: 2513379)
[PASS] testCapsUpdate() (gas: 2454311)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2468235)
[PASS] testCollateralUpdateWrongBonus() (gas: 796163)
[PASS] testCollateralsUpdates() (gas: 2468046)
[PASS] testCollateralsUpdatesNoChange() (gas: 2442724)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 801779)
[PASS] testEModeCategoryCreation() (gas: 1239619)
[PASS] testEModeCategoryUpdates() (gas: 2599274)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2600893)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 875932)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 866325)
[PASS] testListingWithEModeCategoryCreation() (gas: 5863840)
[PASS] testListings() (gas: 5574653)
[PASS] testListingsCustom() (gas: 9377515)
[PASS] testListingsCustomWithEModeCategoryCreation() (gas: 9667398)
[PASS] testPriceFeedsUpdates() (gas: 2521845)
[PASS] testRateStrategiesUpdates() (gas: 2509199)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 279.35ms (357.11ms CPU time)
Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 582123)
[PASS] test_new_EmissionManager() (gas: 756819)
[PASS] test_setClaimer() (gas: 51517)
[PASS] test_setDistributionEnd() (gas: 589381)
[PASS] test_setEmissionAdmin() (gas: 43116)
[PASS] test_setEmissionPerSecond() (gas: 595890)
[PASS] test_setRewardOracle() (gas: 671191)
[PASS] test_setRewardsController() (gas: 19122)
[PASS] test_setTransferStrategy() (gas: 856073)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 28.47ms (1.68ms 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.67ms (1.47ms CPU time)
Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 47885)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_bps_usage() (gas: 48004)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage() (gas: 90655)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46210)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46232)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 123498, ~: 123962)
Logs:
Bound result 100
Bound result 2
Bound result 152255124078842365735272538
Bound result 36262502210080922217404354
Bound result 800557957651553420468109767
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 117206, ~: 120332)
Logs:
Bound result 4623
Bound result 125
Bound result 202
Bound result 154
Bound result 18389
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 74890, ~: 75364)
Logs:
Bound result 1471
Bound result 0
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 43515, ~: 43416)
Logs:
Bound result 5699
Bound result 1
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67465, ~: 68630)
Logs:
Bound result 572
Bound result 0
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67485, ~: 68639)
Logs:
Bound result 597
Bound result 1086
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 32802, ~: 33021)
Logs:
Bound result 23220720832484223
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 18549)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 3.96s (3.93s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52131, ~: 52029)
Logs:
Bound result 486
Bound result 2774
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25932, ~: 25843)
Logs:
Bound result 5637
Bound result 10664
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29075, ~: 29184)
Logs:
Bound result 8580
Bound result 167781
[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, μ: 26802, ~: 26699)
Logs:
Bound result 100
Bound result 4743
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23308, ~: 23308)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.14s (2.08s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 51510, ~: 51412)
Logs:
Bound result 167
Bound result 859
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25325, ~: 25210)
Logs:
Bound result 212
Bound result 154
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 28466, ~: 28559)
Logs:
Bound result 2022
Bound result 6382
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21403, ~: 21403)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21451, ~: 21451)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26151, ~: 26074)
Logs:
Bound result 120
Bound result 661
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22683, ~: 22683)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.44s (1.41s CPU time)
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, μ: 611201, ~: 611989)
Logs:
Bound result 17674126842477160696
Bound result 10662620544901568468
Bound result 1669140398
Bound result 240856109
[PASS] test_l2_set_user_collateral() (gas: 246470)
[PASS] test_l2_supply() (gas: 245738)
[PASS] test_l2_supply_permit(uint128,uint120) (runs: 1000, μ: 415608, ~: 415612)
[PASS] test_l2_withdraw() (gas: 236604)
[PASS] test_mintToTreasury() (gas: 664085)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 668668)
[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, μ: 81732, ~: 81992)
Logs:
Bound result 9931482
[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, μ: 36657, ~: 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 7.62s (7.59s 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.68ms (231.59µs CPU time)
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 67.52ms (37.79ms 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, μ: 3857, ~: 3893)
[PASS] test_percentMul() (gas: 4193)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 3625, ~: 3726)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 43.64ms (41.74ms CPU time)
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 42.25ms (13.62ms CPU time)
Ran 11 tests for tests/protocol/pool/Pool.Liquidations.CloseFactor.t.sol:PoolLiquidationCloseFactorTests
[PASS] test_fuzz_hf_gt_095_supply_gt_threshold_closeFactorShouldBe50(uint256,uint256) (runs: 1000, μ: 832266, ~: 832329)
Logs:
Bound result 7332792670153394187698
Bound result 972023210670793068
[PASS] test_fuzz_hf_gt_095_supply_lt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 797566, ~: 797618)
Logs:
Bound result 10000000000000002
Bound result 960000001549980679
[PASS] test_fuzz_hf_lte_095_supply_gt_threshold_closeFactorShouldBe100(uint256,uint256) (runs: 1000, μ: 794903, ~: 792495)
Logs:
Bound result 998888888890774706418
Bound result 940000000000000625
[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, μ: 530904, ~: 530942)
Logs:
Bound result 990000000000864001
[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 10.70s (10.66s CPU time)
Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39991, ~: 39905)
Logs:
Bound result 1191
Bound result 8
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 40982, ~: 40852)
Logs:
Bound result 9818
Bound result 13
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38416, ~: 38324)
Logs:
Bound result 1059
Bound result 242
[PASS] test_initialization() (gas: 26143)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 41972)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52097, ~: 51970)
Logs:
Bound result 8286
Bound result 159
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49308, ~: 49178)
Logs:
Bound result 3807
Bound result 1987
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25930, ~: 25839)
Logs:
Bound result 1063
Bound result 28
[PASS] test_overflow_liquidity_rates() (gas: 55325)
[PASS] test_overflow_variable_rates() (gas: 641714)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 33629, ~: 33629)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30448, ~: 30448)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30524, ~: 30524)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27023, ~: 27023)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 32463, ~: 32463)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 2.47s (2.44s CPU time)
Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15303)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 457649, ~: 457649)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174509)
[PASS] test_splitFund_oneToken() (gas: 410660)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51282)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 371538)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50848)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 370457)
[PASS] test_splitFunds_fixed() (gas: 447612)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 448016, ~: 449782)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 446480, ~: 448247)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100484)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 537581)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29728)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100738, ~: 101899)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 2.76s (2.76s CPU time)
Ran 18 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 910478)
[PASS] test_claimAllRewards() (gas: 865825)
[PASS] test_claimAllRewardsOnBehalf() (gas: 899518)
[PASS] test_claimAllRewardsToSelf() (gas: 865452)
[PASS] test_claimRewards() (gas: 862758)
[PASS] test_claimRewardsOnBehalf() (gas: 901238)
[PASS] test_claimRewardsToSelf() (gas: 862437)
[PASS] test_claimRewards_partial() (gas: 863073)
[PASS] test_claimRewards_zero() (gas: 619939)
[PASS] test_claimRewards_zero_with_rewards() (gas: 626431)
[PASS] test_configureAssets() (gas: 601049)
[PASS] test_initialize_no_op() (gas: 3614302)
[PASS] test_new_RewardsController() (gas: 3610338)
[PASS] test_setClaimer() (gas: 58207)
[PASS] test_setDistributionEnd() (gas: 616897)
[PASS] test_setEmissionPerSecond() (gas: 620924)
[PASS] test_setRewardOracle() (gas: 694643)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 880501)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 50.65ms (21.98ms CPU time)
Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18975)
[PASS] test_emergencyTransfer() (gas: 211756)
[PASS] test_getters() (gas: 18719)
[PASS] test_performTransfer() (gas: 22017)
[PASS] test_renewApproval() (gas: 23091)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 27.15ms (1.61ms CPU time)
Ran 3 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_claimRewards() (gas: 2772084)
[PASS] test_deposit() (gas: 704923)
[PASS] test_depositATokens() (gas: 901262)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 39.62ms (6.99ms CPU time)
Ran 2 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 69928)
[PASS] test_initializeShouldRevert() (gas: 21681)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 26.44ms (224.40µs CPU time)
Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26789)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27282, ~: 27282)
[PASS] test_claimingRewards_shouldRevert() (gas: 541016)
[PASS] test_deposit_shouldRevert() (gas: 464775)
[PASS] test_mint_shouldRevert() (gas: 468841)
[PASS] test_redeem_shouldRevert() (gas: 560741)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30340, ~: 30340)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53839)
[PASS] test_transfer_shouldRevert() (gas: 538932)
[PASS] test_withdraw_shouldRevert() (gas: 556592)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 141.87ms (114.61ms CPU time)
Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89789)
[PASS] test_permit_expired() (gas: 37844)
[PASS] test_permit_invalidSigner() (gas: 66419)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 29.45ms (1.15ms CPU time)
Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3355)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 836736, ~: 797985)
Logs:
Bound result 52387360647651517150697015643
Bound result 6182
Bound result 6623
Bound result 3354
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 836732, ~: 798200)
Logs:
Bound result 304286450254706778918622
Bound result 65193
Bound result 9342428
Bound result 53981455784719867
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 772365, ~: 774264)
Logs:
Bound result 79228162513264337593543959225
Bound result 566827
Bound result 4882
Bound result 757880164
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 867646, ~: 830581)
Logs:
Bound result 56087397729916784276457681301
Bound result 34315
Bound result 19913169
Bound result 9019205275436995629877
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 836658, ~: 797899)
Logs:
Bound result 1000000000000000000
Bound result 1141367294
Bound result 871
Bound result 1357
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 773516, ~: 775178)
Logs:
Bound result 71768289574460797652397033378
Bound result 2008986864
Bound result 32
Bound result 765040
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 817208, ~: 794281)
Logs:
Bound result 54358015596191323620755778235
Bound result 164
Bound result 721386020
Bound result 762490062979793
[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, μ: 850473, ~: 864680)
Logs:
Bound result 79228162513264337593543959744
Bound result 11345
Bound result 435018
Bound result 18365
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 805620, ~: 798820)
Logs:
Bound result 79228162513324172538560580750
Bound result 80495615
Bound result 93
Bound result 655370148243733713
[PASS] test_zeroIncentivesController() (gas: 37689)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 15.57s (15.54s CPU time)
Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 755085, ~: 755089)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 189988)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 216923)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 433772)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.65s (2.63s CPU time)
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, μ: 851830, ~: 852152)
Logs:
Bound result 1692
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1009189, ~: 1012199)
Logs:
Bound result 9894
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1009397, ~: 1012099)
Logs:
Bound result 9571
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1022027, ~: 1026044)
Logs:
Bound result 3017
[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 13.70s (13.67s CPU time)
Ran 22 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 924894)
[PASS] test_borrow_onBehalfOf() (gas: 1018860)
[PASS] test_flashLoanSimple() (gas: 611788)
[PASS] test_flashLoan_with_one_asset() (gas: 741128)
[PASS] test_flashLoan_with_one_asset_with_borrowing() (gas: 1168674)
[PASS] test_flashLoan_with_two_assets() (gas: 1042785)
[PASS] test_flashLoan_with_two_assets_with_borrowing() (gas: 1883678)
[PASS] test_liquidationCall_deficit() (gas: 1349974)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1712260)
[PASS] test_liquidationCall_full() (gas: 1350041)
[PASS] test_liquidationCall_partial() (gas: 1336061)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 1347367)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 1333151)
[PASS] test_mintToTreasury_one_asset() (gas: 969940)
[PASS] test_mintToTreasury_one_asset_zero_amount() (gas: 46525)
[PASS] test_mintToTreasury_two_assets() (gas: 1953671)
[PASS] test_mintToTreasury_two_assets_zero_amount() (gas: 54093)
[PASS] test_repay() (gas: 1292005)
[PASS] test_repay_with_ATokens() (gas: 1134430)
[PASS] test_supply() (gas: 1773385)
[PASS] test_withdraw() (gas: 784945)
[PASS] test_withdraw_with_active_borrows() (gas: 933621)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 78.89ms (45.80ms CPU time)
Ran 3 tests for tests/gas/Pool.OperationsComposition.gas.t.sol:PoolOperationsComposition_gas_Tests
[PASS] test_batchLiquidation() (gas: 2174886)
[PASS] test_repayAndWithdraw() (gas: 1273308)
[PASS] test_supplyAndBorrow() (gas: 658519)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 43.48ms (8.55ms CPU time)
Ran 17 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 230518)
[PASS] test_cancel_delegationWithSig() (gas: 102832)
[PASS] test_delegationWithSig() (gas: 95792)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3431990, ~: 3431117)
Logs:
Bound result 6
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3505808, ~: 3504892)
Logs:
Bound result 9
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3521412, ~: 3522061)
Logs:
Bound result 23
[PASS] test_new_VariableDebtToken_implementation() (gas: 1577216)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3521717, ~: 3520494)
Logs:
Bound result 7
[PASS] test_reverts_OperationNotSupported() (gas: 1593730)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34153)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111764)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2767566, ~: 2767490)
Logs:
Bound result 9
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33544)
[PASS] test_scaledBalanceOf() (gas: 286182)
[PASS] test_totalScaledSupply() (gas: 326506)
[PASS] test_totalSupply() (gas: 326479)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3522705, ~: 3520496)
Logs:
Bound result 6
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 8.33s (8.31s CPU time)
Ran 4 tests for tests/protocol/tokenization/VariableDebtTokenRounding.t.sol:VariableDebtTokenRoundingTest
[PASS] test_balanceShouldRoundUp() (gas: 48195)
[PASS] test_borrowShouldRoundUp() (gas: 236219)
[PASS] test_repayShouldRoundDown() (gas: 346113)
[PASS] test_totalSupplyShouldRoundUp() (gas: 44368)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 31.24ms (1.87ms CPU time)
Ran 3 tests for tests/protocol/tokenization/VariableDebtToken_MintOnBehalf.t.sol:VariableDebtToken_MintOnBehalfTests
[PASS] test_mint(uint128,uint256) (runs: 1000, μ: 87931, ~: 88023)
Logs:
Bound result 99999000000000000000000000005802
Bound result 1000000000000009071
[PASS] test_mint_shouldRevertIfSenderInsufficientAllowance() (gas: 48975)
[PASS] test_mint_shouldRevertIfSenderIsNotApproved() (gas: 22298)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 233.69ms (208.01ms CPU time)
Ran 30 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] testRayDivCeil_Exact() (gas: 3273)
[PASS] testRayDivCeil_RevertOnDivByZero() (gas: 3122)
[PASS] testRayDivCeil_RevertOnOverflow() (gas: 3179)
[PASS] testRayDivCeil_WithCeil() (gas: 3283)
[PASS] testRayDivCeil_ZeroNumerator() (gas: 3236)
[PASS] testRayDivFloor_Exact() (gas: 3289)
[PASS] testRayDivFloor_RevertOnDivByZero() (gas: 3188)
[PASS] testRayDivFloor_RevertOnOverflow() (gas: 3135)
[PASS] testRayDivFloor_Truncation() (gas: 3279)
[PASS] testRayDivFloor_ZeroNumerator() (gas: 3254)
[PASS] testRayMulCeil_Exact() (gas: 3225)
[PASS] testRayMulCeil_RevertOnOverflow() (gas: 3213)
[PASS] testRayMulCeil_WithCeil() (gas: 3220)
[PASS] testRayMulCeil_Zero() (gas: 3781)
[PASS] testRayMulFloor_Exact() (gas: 3290)
[PASS] testRayMulFloor_RevertOnOverflow() (gas: 3147)
[PASS] testRayMulFloor_Truncation() (gas: 3216)
[PASS] testRayMulFloor_Zero() (gas: 3708)
[PASS] test_constants() (gas: 5771)
[PASS] test_rayDiv() (gas: 4844)
[PASS] test_rayMul() (gas: 4283)
[PASS] test_rayToWad() (gas: 4217)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 3937, ~: 3885)
[PASS] test_wadDiv() (gas: 4835)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 3782, ~: 3850)
[PASS] test_wadMul() (gas: 4195)
[PASS] test_wadMul_edge() (gas: 4230)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 3711, ~: 3814)
[PASS] test_wadToRay() (gas: 4160)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 3885, ~: 3947)
Suite result: ok. 30 passed; 0 failed; 0 skipped; finished in 71.29ms (69.72ms CPU time)
Ran 15 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 458333)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 783865)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 775926)
[PASS] test_depositNativeEthInPool() (gas: 249434)
[PASS] test_fallback_revert() (gas: 10080)
[PASS] test_getWETHAddress() (gas: 10589)
[PASS] test_ownerCanRescueEth() (gas: 25215)
[PASS] test_ownerCanRescueTokens() (gas: 96942)
[PASS] test_sendEthFallback_revert() (gas: 16724)
[PASS] test_sendEth_revert() (gas: 16601)
[PASS] test_withdrawEth_full() (gas: 376951)
[PASS] test_withdrawEth_partial() (gas: 394939)
[PASS] test_withdrawEth_permit() (gas: 429761)
[PASS] test_withdrawEth_permit_frontrunRegression() (gas: 430688)
[PASS] test_withdrawEth_permit_full() (gas: 407940)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 43.01ms (16.78ms CPU time)
Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 926818)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 34.31ms (1.82ms CPU time)
Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 506751, ~: 506852)
Logs:
Bound result 20282409603650670423947695286016
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 446626)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 637824)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 193936)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1067620, ~: 1067723)
Logs:
Bound result 20282409603650670423947251287003
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 202775)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 281432, ~: 285051)
Logs:
Bound result 2
Bound result 0
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 32306)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 986707, ~: 986916)
Logs:
Bound result 137091726683033039083
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 895631, ~: 895848)
Logs:
Bound result 20282409603650670423951546187777
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 948611, ~: 948823)
Logs:
Bound result 20282409603650670423947251295577
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 8.63s (8.60s CPU time)
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, μ: 606434, ~: 606942)
[PASS] test_repayWithATokens_shouldRevertIfUnhealthyAfterRepayment() (gas: 358749)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 582905, ~: 583334)
Logs:
Bound result 3026403
Bound result 1048673
Bound result 459462
Bound result 127486
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 588736, ~: 589060)
Logs:
Bound result 610807512869223925970760151
Bound result 417106382817157361044914450
Bound result 247718575890
Bound result 130260019837
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 509111, ~: 509158)
Logs:
Bound result 400628333
Bound result 38945868
Bound result 11416955
Bound result 3902407
[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 10.12s (10.09s CPU time)
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 29.77ms (3.54ms CPU time)
Ran 4 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 1724596)
[PASS] test_setUserEModeOnBehalfOf() (gas: 1365330)
[PASS] test_setUserUseReserveAsCollateral() (gas: 575946)
[PASS] test_setUserUseReserveAsCollateralonBehalfOf() (gas: 638258)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 41.80ms (7.25ms CPU time)
Ran 23 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 185098)
[PASS] test_flashloan_borrow() (gas: 508431)
[PASS] test_flashloan_borrow_inside_flashloan_and_check_rate_after() (gas: 1695781)
[PASS] test_flashloan_multiple() (gas: 290633)
[PASS] test_flashloan_rounding_accruedToTreasury() (gas: 473885)
[PASS] test_flashloan_rounding_premium() (gas: 176418)
[PASS] test_flashloan_simple() (gas: 152110)
[PASS] test_flashloan_simple_2() (gas: 154194)
[PASS] test_flashloan_simple_borrow_inside_flashloan_and_check_rate_after() (gas: 1129882)
[PASS] test_flashloan_simple_rounding_accruedToTreasury() (gas: 451837)
[PASS] test_flashloan_simple_rounding_premium() (gas: 149866)
[PASS] test_revert_flashloan_borrow_stable() (gas: 207194)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 180453)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 143415)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 102622)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 99477)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 158367, ~: 125866)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144317)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 154183)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 184169)
[PASS] test_reverts_flashloans_eoa() (gas: 108030)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 819685)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 851519)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 840.25ms (804.94ms CPU time)
Ran 12 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16609)
[PASS] test_getEModeCategoryData() (gas: 20413)
[PASS] test_getLiquidationGracePeriod() (gas: 18196)
[PASS] test_getReserveData() (gas: 41882)
[PASS] test_getUserAccountData() (gas: 30853)
[PASS] test_getUserAccountData_oneSupplies() (gas: 512372)
[PASS] test_getUserAccountData_oneSupplies_with_eMode_enabled() (gas: 805445)
[PASS] test_getUserAccountData_twoSupplies() (gas: 976724)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1730327)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows_with_eMode_enabled() (gas: 2234672)
[PASS] test_getUserAccountData_twoSupplies_with_eMode_enabled() (gas: 1364229)
[PASS] test_getUserAccountData_with_eMode_enabled() (gas: 213790)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 53.99ms (14.03ms CPU time)
Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1526240)
[PASS] test_getter_getMarketId() (gas: 1488924)
[PASS] test_new_PoolAddressesProvider() (gas: 1498177)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1502343)
[PASS] test_reverts_setAddress_noAuth() (gas: 1507539)
[PASS] test_reverts_setters_notOwner() (gas: 1505033)
[PASS] test_setACLManager_changeContract() (gas: 3067366)
[PASS] test_setACLManager_setACLAdmin() (gas: 2301622)
[PASS] test_setAddress() (gas: 1516437)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2096171)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2228513)
[PASS] test_setAddress_updateAddress() (gas: 1525575)
[PASS] test_setPoolConfiguratorImpl() (gas: 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 43.96ms (11.91ms CPU time)
Ran 28 tests for tests/extensions/stata-token/ERC4626StataTokenUpgradeable.t.sol:ERC4626StataTokenUpgradeableTest
[PASS] test_7201() (gas: 3466)
[PASS] test_convertersAndPreviews(uint128) (runs: 1000, μ: 43704, ~: 43704)
[PASS] test_depositATokens(uint128,uint256,address) (runs: 1000, μ: 517684, ~: 518030)
Logs:
Bound result 52183110283615215135092534570
Bound result 6988312003962990364451053856
[PASS] test_depositATokens_self() (gas: 518131)
Logs:
Bound result 1000000000000000000
Bound result 1000000000000000000
[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 549485, ~: 550036)
Logs:
Bound result 513185349733820952494881
Bound result 2787714336712487324769257419145188094667523676820713
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 523912, ~: 524268)
Logs:
Bound result 72687841688347991367792874705
Bound result 54970099401391415544149
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 460968, ~: 460831)
Logs:
Bound result 14434
Bound result 126794
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 393288, ~: 393195)
Logs:
Bound result 4346
Bound result 4346
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 482228, ~: 482104)
Logs:
Bound result 30039
...*[Comment body truncated]* |
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.
No description provided.