-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Collector revision-6 Upgrade. (#82) #84
Open
sakulstra
wants to merge
5
commits into
main
Choose a base branch
from
kptk/new-collector
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.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Context The Collector contract (Revision 5) has the limitation of only allowing one address to call its functions, the `_fundsAdmin`, which currently is the Governance Executor contract. To enable the possibility of the [FinanceSteward](https://governance.aave.com/t/arfc-aave-finance-steward/17570) contract to be allowed to call the Collector alongside the Executor, it is recommended to use the `ACL_MANAGER` to manage its access control. A new role is going to be created named `FUNDS_ADMIN` ### Changelog Collector * Initialize function changes to only populate the `nextStreamId` * Created constructor to setup the `ACL_MANAGER` contract address as immutable variable * deprecated `_fundsAdmin` variable * removed getter and setter functions for `_fundsAdmin` and relevant errors and events. * introduced new function to check if an address has the `FUNDS_ADMIN` role named `IsFundsAdmin` * New tests for the Collector
🔧 Build logsCompiling 396 files with Solc 0.8.20
Solc 0.8.20 finished in 103.52s
Compiler run successful with warnings:
Warning (9302): Return value of low-level calls not used.
--> src/contracts/treasury/RevenueSplitter.sol:68:5:
|
68 | RECIPIENT_A.call{value: amount_A}('');
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (9302): Return value of low-level calls not used.
--> src/contracts/treasury/RevenueSplitter.sol:69:5:
|
69 | RECIPIENT_B.call{value: amount_B}('');
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (5740): Unreachable code.
--> src/contracts/dependencies/openzeppelin/ReentrancyGuard.sol:61:5:
|
61 | _status = _NOT_ENTERED;
| ^^^^^^^^^^^^^^^^^^^^^^
| Contract | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
|------------------------------------------------|------------------|-------------------|--------------------|---------------------|
| ACLManager | 3,493 | 4,107 | 21,083 | 45,045 |
| ATokenInstance | 10,163 | 11,058 | 14,413 | 38,094 |
| ATokenMock | 803 | 967 | 23,773 | 48,185 |
| AaveOracle | 2,662 | 3,867 | 21,914 | 45,285 |
| AaveProtocolDataProvider | 9,465 | 9,739 | 15,111 | 39,413 |
| AaveV3BatchOrchestration | 44 | 94 | 24,532 | 49,058 |
| AaveV3ConfigEngine | 7,573 | 9,165 | 17,003 | 39,987 |
| AaveV3DefaultRateStrategyProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3GettersBatchOne | 229 | 32,561 | 24,347 | 16,591 |
| AaveV3GettersBatchTwo | 137 | 11,156 | 24,439 | 37,996 |
| AaveV3GettersProcedureOne | 21 | 47 | 24,555 | 49,105 |
| AaveV3GettersProcedureTwo | 21 | 47 | 24,555 | 49,105 |
| AaveV3HelpersBatchOne | 353 | 34,075 | 24,223 | 15,077 |
| AaveV3HelpersBatchTwo | 229 | 31,223 | 24,347 | 17,929 |
| AaveV3HelpersProcedureOne | 21 | 47 | 24,555 | 49,105 |
| AaveV3HelpersProcedureTwo | 21 | 47 | 24,555 | 49,105 |
| AaveV3IncentiveProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3L2PoolBatch | 137 | 43,953 | 24,439 | 5,199 |
| AaveV3L2PoolProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3LibrariesBatch1 | 353 | 31,273 | 24,223 | 17,879 |
| AaveV3LibrariesBatch2 | 353 | 41,668 | 24,223 | 7,484 |
| AaveV3MiscBatch | 137 | 6,830 | 24,439 | 42,322 |
| AaveV3MiscProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3MockAssetEModeUpdate | 3,420 | 3,649 | 21,156 | 45,503 |
| AaveV3MockBorrowUpdate | 3,300 | 3,491 | 21,276 | 45,661 |
| AaveV3MockBorrowUpdateNoChange | 3,330 | 3,521 | 21,246 | 45,631 |
| AaveV3MockCapUpdate | 3,244 | 3,435 | 21,332 | 45,717 |
| AaveV3MockCollateralUpdate | 3,304 | 3,495 | 21,272 | 45,657 |
| AaveV3MockCollateralUpdateCorrectBonus | 3,304 | 3,495 | 21,272 | 45,657 |
| AaveV3MockCollateralUpdateNoChange | 3,331 | 3,522 | 21,245 | 45,630 |
| AaveV3MockCollateralUpdateWrongBonus | 3,308 | 3,499 | 21,268 | 45,653 |
| AaveV3MockEModeCategoryUpdate | 3,159 | 3,297 | 21,417 | 45,855 |
| AaveV3MockEModeCategoryUpdateEdgeBonus | 3,162 | 3,300 | 21,414 | 45,852 |
| AaveV3MockEModeCategoryUpdateNoChange | 3,221 | 3,359 | 21,355 | 45,793 |
| AaveV3MockListing | 3,598 | 3,827 | 20,978 | 45,325 |
| AaveV3MockListingCustom | 3,891 | 4,203 | 20,685 | 44,949 |
| AaveV3MockPriceFeedUpdate | 3,269 | 3,498 | 21,307 | 45,654 |
| AaveV3MockRatesUpdate | 3,262 | 3,453 | 21,314 | 45,699 |
| AaveV3OracleProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3ParaswapBatch | 189 | 30,420 | 24,387 | 18,732 |
| AaveV3ParaswapProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3PeripheryBatch | 229 | 25,819 | 24,347 | 23,333 |
| AaveV3PoolBatch | 137 | 42,706 | 24,439 | 6,446 |
| AaveV3PoolConfigProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3PoolProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3SetupBatch | 23,936 | 37,265 | 640 | 11,887 |
| AaveV3SetupProcedure | 21 | 47 | 24,555 | 49,105 |
| AaveV3TestListing | 4,977 | 12,409 | 19,599 | 36,743 |
| AaveV3TokensBatch | 137 | 20,321 | 24,439 | 28,831 |
| AaveV3TokensProcedure | 21 | 47 | 24,555 | 49,105 |
| Address | 44 | 94 | 24,532 | 49,058 |
| AdminUpgradeabilityProxy | 1,544 | 2,502 | 23,032 | 46,650 |
| AugustusRegistryMock | 162 | 190 | 24,414 | 48,962 |
| BaseAdminUpgradeabilityProxy | 1,536 | 1,565 | 23,040 | 47,587 |
| BaseImmutableAdminUpgradeabilityProxy | 1,302 | 1,469 | 23,274 | 47,683 |
| BaseUpgradeabilityProxy | 108 | 135 | 24,468 | 49,017 |
| BorrowEngine | 2,526 | 2,579 | 22,050 | 46,573 |
| BorrowLogic | 12,405 | 12,458 | 12,171 | 36,694 |
| BridgeLogic | 6,711 | 6,764 | 17,865 | 42,388 |
| CalldataLogic | 44 | 94 | 24,532 | 49,058 |
| CapsEngine | 1,179 | 1,232 | 23,397 | 47,920 |
| CollateralEngine | 2,723 | 2,776 | 21,853 | 46,376 |
| Collector | 6,325 | 6,518 | 18,251 | 42,634 |
| ConfiguratorInputTypes | 44 | 94 | 24,532 | 49,058 |
| ConfiguratorLogic | 6,539 | 6,592 | 18,037 | 42,560 |
| Create2Utils | 121 | 172 | 24,455 | 48,980 |
| DataTypes | 44 | 94 | 24,532 | 49,058 |
| DefaultMarketInput | 21 | 47 | 24,555 | 49,105 |
| DefaultReserveInterestRateStrategyV2 | 3,997 | 4,291 | 20,579 | 44,861 |
| DeployUtils | 913 | 942 | 23,663 | 48,210 |
| ECDSA | 44 | 94 | 24,532 | 49,058 |
| EIP712SigUtils | 1,563 | 1,616 | 23,013 | 47,536 |
| EModeConfiguration | 44 | 94 | 24,532 | 49,058 |
| EModeEngine | 4,485 | 4,538 | 20,091 | 44,614 |
| EModeLogic | 3,756 | 3,809 | 20,820 | 45,343 |
| ERC1967Proxy | 122 | 967 | 24,454 | 48,185 |
| ERC1967Utils | 44 | 94 | 24,532 | 49,058 |
| ERC20 | 2,085 | 2,833 | 22,491 | 46,319 |
| EmissionManager | 3,455 | 3,916 | 21,121 | 45,236 |
| EngineFlags | 44 | 94 | 24,532 | 49,058 |
| Errors | 4,464 | 4,517 | 20,112 | 44,635 |
| Faucet | 2,064 | 2,596 | 22,512 | 46,556 |
| FlashLoanLogic | 9,520 | 9,573 | 15,056 | 39,579 |
| FlashloanAttacker | 2,123 | 2,547 | 22,453 | 46,605 |
| GPv2SafeERC20 | 44 | 94 | 24,532 | 49,058 |
| GenericLogic | 44 | 94 | 24,532 | 49,058 |
| Initializable | 21 | 47 | 24,555 | 49,105 |
| InitializableAdminUpgradeabilityProxy | 2,388 | 2,417 | 22,188 | 46,735 |
| InitializableImmutableAdminUpgradeabilityProxy | 1,853 | 2,020 | 22,723 | 47,132 |
| InitializableUpgradeabilityProxy | 871 | 900 | 23,705 | 48,252 |
| IsolationModeLogic | 44 | 94 | 24,532 | 49,058 |
| L2Encoder | 3,731 | 3,926 | 20,845 | 45,226 |
| L2PoolInstance | 23,266 | 23,515 | 1,310 | 25,637 |
| LiquidationLogic | 11,787 | 11,840 | 12,789 | 37,312 |
| ListingEngine | 7,156 | 7,209 | 17,420 | 41,943 |
| MarketReportUtils | 44 | 94 | 24,532 | 49,058 |
| Math | 44 | 94 | 24,532 | 49,058 |
| MathUtils | 44 | 94 | 24,532 | 49,058 |
| MathUtilsWrapper | 917 | 946 | 23,659 | 48,206 |
| MessageHashUtils | 44 | 94 | 24,532 | 49,058 |
| MetadataReporter | 12,286 | 12,315 | 12,290 | 36,837 |
| MintableDelegationERC20 | 2,533 | 3,313 | 22,043 | 45,839 |
| MintableERC20 | 3,351 | 4,295 | 21,225 | 44,857 |
| Mock | 182 | 210 | 24,394 | 48,942 |
| MockAToken | 10,165 | 11,062 | 14,411 | 38,090 |
| MockATokenRepayment | 10,246 | 11,143 | 14,330 | 38,009 |
| MockAggregator | 134 | 278 | 24,442 | 48,874 |
| MockBadTransferStrategy | 998 | 1,187 | 23,578 | 47,965 |
| MockERC20AaveLMUpgradeable | 8,401 | 8,626 | 16,175 | 40,526 |
| MockERC4626StataTokenUpgradeable | 9,890 | 10,246 | 14,686 | 38,906 |
| MockFlashLoanATokenReceiver | 2,438 | 2,816 | 22,138 | 46,336 |
| MockFlashLoanReceiver | 2,253 | 2,538 | 22,323 | 46,614 |
| MockFlashLoanSimpleReceiver | 1,476 | 1,761 | 23,100 | 47,391 |
| MockIncentivesController | 132 | 159 | 24,444 | 48,993 |
| MockInitializableFromConstructorImple | 349 | 639 | 24,227 | 48,513 |
| MockInitializableImple | 1,544 | 1,576 | 23,032 | 47,576 |
| MockInitializableImpleV2 | 1,546 | 1,578 | 23,030 | 47,574 |
| MockInitializableV1 | 307 | 339 | 24,269 | 48,813 |
| MockInitializableV2 | 309 | 341 | 24,267 | 48,811 |
| MockL2Pool | 23,293 | 23,542 | 1,283 | 25,610 |
| MockParaSwapAugustus | 2,133 | 3,253 | 22,443 | 45,899 |
| MockParaSwapAugustusRegistry | 179 | 308 | 24,397 | 48,844 |
| MockParaSwapTokenTransferProxy | 905 | 998 | 23,671 | 48,154 |
| MockPeripheryContractV1 | 309 | 338 | 24,267 | 48,814 |
| MockPeripheryContractV2 | 290 | 319 | 24,286 | 48,833 |
| MockPoolInherited | 22,208 | 22,484 | 2,368 | 26,668 |
| MockReentrantInitializableImple | 413 | 445 | 24,163 | 48,707 |
| MockReserveConfiguration | 2,651 | 2,680 | 21,925 | 46,472 |
| MockReserveInterestRateStrategy | 3,314 | 3,612 | 21,262 | 45,540 |
| MockScaledTestnetERC20 | 4,101 | 5,524 | 20,475 | 43,628 |
| MockScaledToken | 3,998 | 4,758 | 20,578 | 44,394 |
| MockVariableDebtToken | 7,281 | 8,162 | 17,295 | 40,990 |
| Ownable | 629 | 722 | 23,947 | 48,430 |
| ParaSwapLiquiditySwapAdapter | 8,733 | 9,850 | 15,843 | 39,302 |
| ParaSwapRepayAdapter | 9,320 | 10,527 | 15,256 | 38,625 |
| ParaSwapWithdrawSwapAdapter | 7,397 | 8,451 | 17,179 | 40,701 |
| PercentageMath | 44 | 94 | 24,532 | 49,058 |
| PercentageMathWrapper | 297 | 326 | 24,279 | 48,826 |
| PoolAddressesProvider | 6,697 | 8,049 | 17,879 | 41,103 |
| PoolAddressesProviderRegistry | 2,148 | 2,609 | 22,428 | 46,543 |
| PoolConfiguratorInstance | 19,780 | 19,812 | 4,796 | 29,340 |
| PoolInstance | 22,019 | 22,268 | 2,557 | 26,884 |
| PoolLogic | 6,823 | 6,876 | 17,753 | 42,276 |
| PoolStorage | 21 | 47 | 24,555 | 49,105 |
| PriceFeedEngine | 1,577 | 1,630 | 22,999 | 47,522 |
| PriceOracle | 469 | 498 | 24,107 | 48,654 |
| PriceOracleSentinel | 1,668 | 1,884 | 22,908 | 47,268 |
| ProxyAdmin | 990 | 1,235 | 23,586 | 47,917 |
| ProxyHelpers | 44 | 94 | 24,532 | 49,058 |
| PullRewardsTransferStrategy | 1,255 | 1,481 | 23,321 | 47,671 |
| RateEngine | 2,348 | 2,401 | 22,228 | 46,751 |
| ReserveConfiguration | 128 | 179 | 24,448 | 48,973 |
| ReserveLogic | 44 | 94 | 24,532 | 49,058 |
| RevenueSplitter | 1,942 | 2,259 | 22,634 | 46,893 |
| RewardsController | 14,226 | 14,420 | 10,350 | 34,732 |
| RewardsDataTypes | 44 | 94 | 24,532 | 49,058 |
| SafeCast | 44 | 94 | 24,532 | 49,058 |
| SafeERC20 | 44 | 94 | 24,532 | 49,058 |
| SafeMath | 44 | 94 | 24,532 | 49,058 |
| SequencerOracle | 865 | 1,326 | 23,711 | 47,826 |
| SigUtils | 492 | 545 | 24,084 | 48,607 |
| SignedMath | 44 | 94 | 24,532 | 49,058 |
| SlotParser | 330 | 383 | 24,246 | 48,769 |
| StakeMock | 355 | 384 | 24,221 | 48,768 |
| StakedTokenTransferStrategy | 2,060 | 2,770 | 22,516 | 46,382 |
| StataTokenFactory | 3,535 | 4,026 | 21,041 | 45,126 |
| StataTokenV2 | 19,991 | 20,693 | 4,585 | 28,459 |
| StorageSlot | 44 | 94 | 24,532 | 49,058 |
| Strings | 44 | 94 | 24,532 | 49,058 |
| SupplyLogic | 11,679 | 11,732 | 12,897 | 37,420 |
| TestnetERC20 | 3,981 | 5,396 | 20,595 | 43,756 |
| TransparentProxyFactory | 5,341 | 5,370 | 19,235 | 43,782 |
| TransparentUpgradeableProxy | 1,088 | 2,274 | 23,488 | 46,878 |
| UiIncentiveDataProviderV3 | 9,125 | 9,154 | 15,451 | 39,998 |
| UiPoolDataProviderV3 | 9,917 | 10,128 | 14,659 | 39,024 |
| UpgradeabilityProxy | 108 | 855 | 24,468 | 48,297 |
| UserConfiguration | 44 | 94 | 24,532 | 49,058 |
| ValidationLogic | 189 | 241 | 24,387 | 48,911 |
| VariableDebtTokenHarness | 7,297 | 8,178 | 17,279 | 40,974 |
| VariableDebtTokenInstance | 7,279 | 8,158 | 17,297 | 40,994 |
| WETH9 | 1,885 | 2,354 | 22,691 | 46,798 |
| WETH9Mock | 2,640 | 3,869 | 21,936 | 45,283 |
| WETH9Mocked | 2,191 | 2,660 | 22,385 | 46,492 |
| WadRayMath | 44 | 94 | 24,532 | 49,058 |
| WadRayMathWrapper | 816 | 845 | 23,760 | 48,307 |
| WalletBalanceProvider | 2,619 | 2,648 | 21,957 | 46,504 |
| WalletMock | 21 | 47 | 24,555 | 49,105 |
| WrappedTokenGatewayV3 | 5,722 | 6,600 | 18,854 | 42,552 | |
forge 0.0.2 (2a54657 2024-12-05T00:29:04.876467617Z) |
🌈 Test ResultsNo files changed, compilation skipped
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1470125)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98836)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125219)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 115150)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 9.73ms (2.99ms CPU time)
Ran 3 tests for tests/protocol/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 680432)
[PASS] test_reverts_initReserves_max() (gas: 196981)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 220386)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 50.47ms (758.55µs CPU time)
Ran 17 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259857)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129479)
[PASS] test_burn_zeroAddress() (gas: 266236)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129290)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 42.11ms (3.48ms CPU time)
Ran 1 test for tests/protocol/tokenization/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98768)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 71.51ms (295.83µs CPU time)
Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 565794)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 654244)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 576417)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 257905)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 579265)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 255080)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 632927)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 51.96ms (11.04ms CPU time)
Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18982)
[PASS] test_emergencyTransfer() (gas: 218794)
[PASS] test_getters() (gas: 18731)
[PASS] test_performTransfer() (gas: 22031)
[PASS] test_renewApproval() (gas: 23102)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 33.60ms (1.27ms CPU time)
Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423531)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 67.66ms (1.16ms CPU time)
Ran 2 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 101104)
[PASS] test_initializeShouldRevert() (gas: 21665)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 41.56ms (350.31µs CPU time)
Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17084)
[PASS] test_revert_notAdmin_mint() (gas: 17178)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17210)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17015)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 84.16ms (268.26µs CPU time)
Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26163)
[PASS] test_cancelPermit() (gas: 100693)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32906)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46698)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47177)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55087)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46525)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 54947)
[PASS] test_submitPermit() (gas: 94296)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 63.37ms (8.71ms CPU time)
Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 274861)
[PASS] test_repay_partialDebt() (gas: 274021)
[PASS] test_revert_repay_withoutFunds() (gas: 180200)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 73.35ms (1.96ms CPU time)
Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 554867)
[PASS] test_deposit_shouldRevert() (gas: 482629)
[PASS] test_mint_shouldRevert() (gas: 486612)
[PASS] test_redeem_shouldRevert() (gas: 574304)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 552776)
[PASS] test_withdraw_shouldRevert() (gas: 570081)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 237.75ms (183.25ms CPU time)
Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77965)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70878)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71617)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 76.97ms (680.57µs CPU time)
Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89457)
[PASS] test_permit_expired() (gas: 37491)
[PASS] test_permit_invalidSigner() (gas: 66080)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 44.85ms (1.89ms CPU time)
Ran 17 tests for tests/protocol/pool/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 216054)
[PASS] test_flashloan_borrow() (gas: 532124)
[PASS] test_flashloan_multiple() (gas: 329244)
[PASS] test_flashloan_simple() (gas: 180097)
[PASS] test_flashloan_simple_2() (gas: 180097)
[PASS] test_revert_flashloan_borrow_stable() (gas: 212771)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 183626)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 156852)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 105545)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 102296)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 174306, ~: 137773)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144646)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 177995)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 208345)
[PASS] test_reverts_flashloans_eoa() (gas: 113203)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 857299)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 889860)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.33s (1.28s CPU time)
Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 161976)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 235451)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 162751)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 229402)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81523)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81564)
[PASS] test_atoken_multiple_transfers() (gas: 201155)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 389031, ~: 393082)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 529057)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 398380)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 404648)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.60s (1.53s CPU time)
Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 936997)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1076187)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1096138)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 918632)
[PASS] testEmptySource() (gas: 821590)
[PASS] testGetBaseCurrencyPrice() (gas: 12315)
[PASS] testGetPriceViaFallbackOracle() (gas: 1000288)
[PASS] testUpdateFallbackOracle() (gas: 178617)
[PASS] testUpdateSingleSource() (gas: 127097)
[PASS] testUpdateSourceBaseCurrency() (gas: 138611)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 822968)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24620)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 68.59ms (2.68ms CPU time)
Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 56718805)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 64892645)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 56195303)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 66719761)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 65399331)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 330.86ms (311.62ms CPU time)
Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 7033382)
[PASS] test10StaticATokenDeployment() (gas: 6451656)
[PASS] test1AaveV3GettersDeployment() (gas: 7880458)
[PASS] test2AaveV3PoolDeployment() (gas: 8646555)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8897349)
[PASS] test4PeripheralsRelease() (gas: 4703542)
[PASS] test5MiscDeployment() (gas: 929135)
[PASS] test6ParaswapRelease() (gas: 5544910)
[PASS] test7SetupMarket() (gas: 4438360)
[PASS] test8TokensMarket() (gas: 3901080)
[PASS] test9ConfigEngineDeployment() (gas: 6715437)
[PASS] testAaveV3FullBatchOrchestration() (gas: 56715094)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 50.39ms (26.85ms CPU time)
Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 780402, ~: 780408)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 197204)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 224896)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 451778)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.72s (3.64s CPU time)
Ran 18 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 241853)
[PASS] test_cancel_delegationWithSig() (gas: 101800)
[PASS] test_delegationWithSig() (gas: 95276)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2741974, ~: 2738844)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2813620, ~: 2811011)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2824250, ~: 2825216)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2825997, ~: 2825325)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34223)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111067)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2626071, ~: 2626208)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3676206, ~: 3676400)
[PASS] test_reverts_operation_not_supported() (gas: 1591579)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33532)
[PASS] test_scaledBalanceOf() (gas: 321292)
[PASS] test_totalScaledSupply() (gas: 360001)
[PASS] test_totalSupply() (gas: 359930)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2825925, ~: 2825247)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.42s (6.38s CPU time)
Ran 12 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13279)
[PASS] test_rayDiv() (gas: 12752)
[PASS] test_rayMul() (gas: 11375)
[PASS] test_rayToWad() (gas: 11057)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13323, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10514, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10779, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12112, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 277.32ms (276.10ms CPU time)
Ran 14 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 478193)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 814411)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 810962)
[PASS] test_depositNativeEthInPool() (gas: 255609)
[PASS] test_fallback_revert() (gas: 10039)
[PASS] test_getWETHAddress() (gas: 10547)
[PASS] test_ownerCanRescueEth() (gas: 25250)
[PASS] test_ownerCanRescueTokens() (gas: 96925)
[PASS] test_sendEthFallback_revert() (gas: 16705)
[PASS] test_sendEth_revert() (gas: 16582)
[PASS] test_withdrawEth_full() (gas: 391279)
[PASS] test_withdrawEth_partial() (gas: 412854)
[PASS] test_withdrawEth_permit() (gas: 447226)
[PASS] test_withdrawEth_permit_full() (gas: 421927)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 47.10ms (12.66ms CPU time)
Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 44982)
[PASS] test_calculate_rates_80_bps_usage() (gas: 45101)
[PASS] test_calculate_rates_80_percent_usage() (gas: 87752)
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 43307)
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 43329)
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 121640, ~: 121713)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114193, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71450, ~: 71769)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39838, ~: 39838)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64081, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64520, ~: 65038)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 29922, ~: 29922)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 13.79s (13.75s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 47597, ~: 47597)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21313, ~: 21313)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 24938, ~: 24938)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22246, ~: 22246)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.76s (3.72s CPU time)
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48199, ~: 48199)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21930, ~: 21930)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25547, ~: 25547)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22855, ~: 22855)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.61s (3.57s CPU time)
Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36071, ~: 36071)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 36997, ~: 36997)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34506, ~: 34506)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 48170, ~: 48170)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 45375, ~: 45375)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21956, ~: 21956)
[PASS] test_overflow_liquidity_rates() (gas: 59538)
[PASS] test_overflow_variable_rates() (gas: 545863)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 6.42s (6.38s CPU time)
Ran 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 931612)
[PASS] test_claimAllRewards() (gas: 887351)
[PASS] test_claimAllRewardsOnBehalf() (gas: 921056)
[PASS] test_claimAllRewardsToSelf() (gas: 886978)
[PASS] test_claimRewards() (gas: 884127)
[PASS] test_claimRewardsOnBehalf() (gas: 922646)
[PASS] test_claimRewardsToSelf() (gas: 883809)
[PASS] test_claimRewards_partial() (gas: 884397)
[PASS] test_claimRewards_zero() (gas: 636639)
[PASS] test_claimRewards_zero_with_rewards() (gas: 643452)
[PASS] test_configureAssets() (gas: 617691)
[PASS] test_initialize_no_op() (gas: 3668534)
[PASS] test_new_RewardsController() (gas: 3644884)
[PASS] test_reverts_initialize_twice() (gas: 3670113)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633550)
[PASS] test_setEmissionPerSecond() (gas: 637684)
[PASS] test_setRewardOracle() (gas: 711308)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913786)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 56.21ms (15.19ms CPU time)
Ran 4 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 50198)
[PASS] testApproveWhenNotFundsAdmin() (gas: 16537)
[PASS] testTransfer() (gas: 54227)
[PASS] testTransferWhenNotFundsAdmin() (gas: 16517)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.81ms (406.60µs CPU time)
Ran 5 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 50199)
[PASS] testApproveWhenNotFundsAdmin() (gas: 16493)
[PASS] testTransfer() (gas: 54273)
[PASS] testTransferWhenNotFundsAdmin() (gas: 16517)
[PASS] test_successful() (gas: 8483)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.84ms (435.84µs CPU time)
Ran 5 tests for tests/treasury/Collector.t.sol:GetRevision
[PASS] testApprove() (gas: 50198)
[PASS] testApproveWhenNotFundsAdmin() (gas: 16493)
[PASS] testTransfer() (gas: 54272)
[PASS] testTransferWhenNotFundsAdmin() (gas: 16517)
[PASS] test_successful() (gas: 8392)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.76ms (370.86µs CPU time)
Ran 6 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 50154)
[PASS] testApproveWhenNotFundsAdmin() (gas: 16493)
[PASS] testTransfer() (gas: 54227)
[PASS] testTransferWhenNotFundsAdmin() (gas: 16517)
[PASS] test_isFundsAdmin() (gas: 23043)
[PASS] test_isNotFundsAdmin() (gas: 15928)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 4.08ms (724.34µs CPU time)
Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 424986)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 385859)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 384777)
[PASS] test_splitFunds_fixed() (gas: 461939)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 462403, ~: 464116)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461045, ~: 462581)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100114, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.94s (4.22s CPU time)
Ran 25 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 50155)
[PASS] testApproveWhenNotFundsAdmin() (gas: 16667)
[PASS] testCancelStreamByFundsAdmin() (gas: 204708)
[PASS] testCancelStreamByRecipient() (gas: 230651)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 240931)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 17799)
[PASS] testCreateStream() (gas: 242164)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 25687)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 23032)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 23476)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 23731)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 23499)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 24199)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 21645)
[PASS] testGetNextStreamId() (gas: 12615)
[PASS] testGetNotExistingStream() (gas: 13439)
[PASS] testGetStream() (gas: 232243)
[PASS] testTransfer() (gas: 54317)
[PASS] testTransferWhenNotFundsAdmin() (gas: 16669)
[PASS] testWithdrawFromStream() (gas: 305112)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 229572)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 242308)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 236803)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 238962)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 17962)
Suite result: ok. 25 passed; 0 failed; 0 skipped; finished in 10.38ms (6.85ms CPU time)
Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 7033361)
[PASS] test10ConfigEngineDeployment() (gas: 6715374)
[PASS] test11StaticATokenDeployment() (gas: 6451673)
[PASS] test12PeripheralsTreasuryPartner() (gas: 4723713)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6551699)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2130240)
[PASS] test3AaveV3PoolDeployment() (gas: 8646521)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8897295)
[PASS] test5PeripheralsRelease() (gas: 4703565)
[PASS] test6MiscDeployment() (gas: 1360185)
[PASS] test7ParaswapDeployment() (gas: 5544933)
[PASS] test8SetupMarket() (gas: 4462923)
[PASS] test9TokensMarket() (gas: 3901228)
[PASS] testCheckInitCodeSizeBatchs() (gas: 989716)
Logs:
AaveV3SetupBatch 37265
AaveV3L2PoolBatch 43953
AaveV3PoolBatch 42706
AaveV3PeripheryBatch 25819
AaveV3MiscBatch 6830
AaveV3ParaswapBatch 30420
AaveV3GettersBatchOne 32561
AaveV3GettersBatchTwo 11156
AaveV3TokensBatch 20321
AaveV3HelpersBatchOne 34075
AaveV3HelpersBatchTwo 31223
AaveV3PeripheryBatchTreasuryPartner 25819
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 21.72ms (9.88ms CPU time)
Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 321716)
[PASS] test_borrow_interests_reach_cap() (gas: 323764)
[PASS] test_borrow_lt_cap() (gas: 299144)
[PASS] test_default_borrowCap_zero() (gas: 27547)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 370192)
[PASS] test_reverts_borrow_gt_cap() (gas: 142685)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48711)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35517)
[PASS] test_setBorrowCap() (gas: 78860)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 319845)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 43.46ms (5.75ms CPU time)
Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 290190)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 270331)
[PASS] test_configureEmodeCategory() (gas: 118599)
[PASS] test_removeBorrowableFromEmode() (gas: 198772)
[PASS] test_removeCollateralFromEmode() (gas: 247032)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59662)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35793)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34377)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34249)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34162)
[PASS] test_setAssetBorrowableInEMode() (gas: 218684)
[PASS] test_setAssetCollateralInEMode() (gas: 198794)
[PASS] test_updateEModeCategory() (gas: 207378)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 45.25ms (7.76ms CPU time)
Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1343394)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1549169)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1405664)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1431282)
[PASS] test_liquidate_isolated_position() (gas: 1334576)
[PASS] test_liquidate_variable_borrow() (gas: 1443510)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1168376)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1103518)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1272407, ~: 1272407)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1461958, ~: 1470816)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1462031, ~: 1468711)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1476621, ~: 1485699)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1281650)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1229552)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 624158)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 598661)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 319337)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160011)
[PASS] test_reverts_liquidation_reservePaused() (gas: 113797)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 21.64s (21.58s CPU time)
Ran 17 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 3734271)
[PASS] testBorrowUpdatesNoChange() (gas: 2739264)
[PASS] testBorrowsUpdates() (gas: 2802276)
[PASS] testCapsUpdate() (gas: 2743935)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2759550)
[PASS] testCollateralUpdateWrongBonus() (gas: 755115)
[PASS] testCollateralsUpdates() (gas: 2759070)
[PASS] testCollateralsUpdatesNoChange() (gas: 2737405)
[PASS] testEModeCategoryUpdates() (gas: 2827721)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2730744)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 743235)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1726267)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 760192)
[PASS] testListings() (gas: 5930946)
[PASS] testListingsCustom() (gas: 9653571)
[PASS] testPriceFeedsUpdates() (gas: 2819633)
[PASS] testRateStrategiesUpdates() (gas: 2809438)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.64s (22.54s CPU time)
Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 55101686)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 55592243)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 46.05ms (41.04ms CPU time)
Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120613)
[PASS] testRemoveAddressesProvider() (gas: 97154)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242924)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16393)
[PASS] test_removesLastProvider() (gas: 32653)
[PASS] test_revert_registry_0() (gas: 15558)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27603)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 37.31ms (1.89ms CPU time)
Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 254579)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 35.27ms (487.98µs CPU time)
Ran 12 tests for tests/protocol/libraries/logic/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 194249)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 194307)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 159653)
[PASS] test_backUnbacked_onlyFee() (gas: 363669)
[PASS] test_backUnbacked_withFee() (gas: 363849)
[PASS] test_backUnbacked_withoutFee() (gas: 341147)
[PASS] test_multiple_backUnbacked() (gas: 644666)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 488647)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 428456)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30598)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 86177)
[PASS] test_unbackedMint_with_cap() (gas: 271296)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 51.32ms (15.66ms CPU time)
Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 549349)
[PASS] test_full_withdraw() (gas: 234895)
[PASS] test_full_withdraw_to() (gas: 240423)
[PASS] test_partial_withdraw() (gas: 231403)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 678632)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 247376)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 249446)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 214658)
[PASS] test_reverts_withdraw_reservePaused() (gas: 287040)
[PASS] test_reverts_withdraw_to_atoken() (gas: 247232)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 248243)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 42.99ms (8.02ms CPU time)
Ran 37 tests for tests/protocol/pool/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 108071)
[PASS] test_getBorrowLogic() (gas: 13641)
[PASS] test_getBridgeLogic() (gas: 13683)
[PASS] test_getEModeLogic() (gas: 13596)
[PASS] test_getFlashLoanLogic() (gas: 13620)
[PASS] test_getLiquidationLogic() (gas: 13709)
[PASS] test_getPoolLogic() (gas: 13661)
[PASS] test_getSupplyLogic() (gas: 13596)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253537)
[PASS] test_getters_getUserAccountData() (gas: 598330)
[PASS] test_mintToTreasury() (gas: 701628)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706320)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290816)
[PASS] test_pool_defaultValues() (gas: 4489181)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81872, ~: 82148)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734317)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25452, ~: 25452)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127719, ~: 127719)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501329)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40838, ~: 40838)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22754, ~: 22754)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983188)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600262)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 298982)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 228127)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293842)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71780)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 790145)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36893, ~: 36991)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904381)
[PASS] test_setUserEmode() (gas: 232430)
[PASS] test_setUserEmode_twice() (gas: 377065)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985883)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240420)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277917)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.08s (1.04s CPU time)
Ran 22 tests for tests/protocol/configuration/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1472801)
[PASS] test_getter_getMarketId() (gas: 1435230)
[PASS] test_new_PoolAddressesProvider() (gas: 1444460)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1448636)
[PASS] test_reverts_setAddress_noAuth() (gas: 1453813)
[PASS] test_reverts_setters_notOwner() (gas: 1451422)
[PASS] test_setACLManager_changeContract() (gas: 3014312)
[PASS] test_setACLManager_setACLAdmin() (gas: 2248265)
[PASS] test_setAddress() (gas: 1462728)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2020462)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2132834)
[PASS] test_setAddress_updateAddress() (gas: 1471854)
[PASS] test_setPoolConfiguratorImpl() (gas: 5950177)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10472002)
[PASS] test_setPoolDataProvider() (gas: 1463246)
[PASS] test_setPoolImpl() (gas: 6372591)
[PASS] test_setPoolImpl_upgrade() (gas: 10893985)
[PASS] test_setPriceOracle() (gas: 1463403)
[PASS] test_setPriceOracleSentinel() (gas: 1463274)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1472878)
[PASS] test_setPriceOracle_changeContract() (gas: 1473139)
[PASS] test_setter_setMarketId() (gas: 1446381)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 58.65ms (9.22ms CPU time)
Ran 24 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38594, ~: 38594)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 36181, ~: 36181)
[PASS] test_reverts_notAdmin_initReserves((uint8,string,string,string,string,address,address,address,bool),address) (runs: 1000, μ: 1049353, ~: 1049433)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 3.41s (3.37s CPU time)
Ran 9 tests for tests/rewards/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 598376)
[PASS] test_new_EmissionManager() (gas: 758986)
[PASS] test_setClaimer() (gas: 51471)
[PASS] test_setDistributionEnd() (gas: 605645)
[PASS] test_setEmissionAdmin() (gas: 43012)
[PASS] test_setEmissionPerSecond() (gas: 612259)
[PASS] test_setRewardOracle() (gas: 687392)
[PASS] test_setRewardsController() (gas: 19086)
[PASS] test_setTransferStrategy() (gas: 888963)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 36.97ms (2.15ms CPU time)
Ran 6 tests for tests/misc/aave-upgradeability/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 597827)
[PASS] test_proxy_upgradeTo() (gas: 619698)
[PASS] test_proxy_upgradeToAndCall() (gas: 625582)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 594923)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 600810)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 598616)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.47ms (1.93ms CPU time)
Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 203409)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 758300)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 826967)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 930429)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 806970)
[PASS] test_swapAndDeposit() (gas: 908883)
[PASS] test_swapAndDeposit_permit() (gas: 955948)
[PASS] test_swapAndRepay() (gas: 1010691)
[PASS] test_swapAndRepay_flashloan() (gas: 1102073)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1144740)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1060252)
[PASS] test_swapAndRepay_permit() (gas: 1057604)
[PASS] test_swap_liquidity_flashloan() (gas: 1019795)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1062355)
[PASS] test_withdrawAndSwap() (gas: 825895)
[PASS] test_withdrawAndSwap_permit() (gas: 869032)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 533093)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 77.07ms (40.76ms CPU time)
Ran 5 tests for tests/protocol/libraries/math/PercentageMath.t.sol:PercentageMathTests
[PASS] test_constants() (gas: 10165)
[PASS] test_percentDiv() (gas: 11147)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 10586, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10623, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 95.01ms (93.88ms CPU time)
Ran 18 tests for tests/protocol/pool/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 570637)
[PASS] test_reverts_borrow_cap() (gas: 303661)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 81579)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 315078)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 658617)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 401639)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 562764)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 432100)
[PASS] test_reverts_borrow_invalidAmount() (gas: 65058)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 383739)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 132958)
[PASS] test_reverts_borrow_reserveInactive() (gas: 150130)
[PASS] test_reverts_borrow_reservePaused() (gas: 103659)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 315809)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 718093)
[PASS] test_reverts_deprecated_stable_borrow() (gas: 406925)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 381356)
[PASS] test_variable_borrow() (gas: 349462)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 51.20ms (15.44ms CPU time)
Ran 47 tests for tests/protocol/pool/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 107965)
[PASS] test_getBorrowLogic() (gas: 13620)
[PASS] test_getBridgeLogic() (gas: 13684)
[PASS] test_getEModeLogic() (gas: 13686)
[PASS] test_getFlashLoanLogic() (gas: 13685)
[PASS] test_getLiquidationLogic() (gas: 13707)
[PASS] test_getPoolLogic() (gas: 13684)
[PASS] test_getSupplyLogic() (gas: 13705)
[PASS] test_getVirtualUnderlyingBalance() (gas: 253510)
[PASS] test_getters_getUserAccountData() (gas: 598198)
[PASS] test_l2_borrow() (gas: 436322)
[PASS] test_l2_liquidationCall() (gas: 1120666)
[PASS] test_l2_partial_withdraw() (gas: 310853)
[PASS] test_l2_repay() (gas: 465666)
[PASS] test_l2_repay_atokens() (gas: 472797)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 642237, ~: 652771)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428578, ~: 428582)
[PASS] test_l2_withdraw() (gas: 246075)
[PASS] test_mintToTreasury() (gas: 701740)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 706366)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290883)
[PASS] test_pool_defaultValues() (gas: 4489170)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81909, ~: 82191)
[PASS] test_resetIsolationModeTotalDebt() (gas: 734652)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25537, ~: 25537)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127785, ~: 127785)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4501351)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40728, ~: 40728)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22733, ~: 22733)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 983168)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 600219)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 298985)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 227975)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 293845)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71847)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 789929)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36805, ~: 36903)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 904358)
[PASS] test_setUserEmode() (gas: 232521)
[PASS] test_setUserEmode_twice() (gas: 377047)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 985820)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240399)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277962)
[PASS] test_updateBridgeProtocolFee() (gas: 187)
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 7.12s (7.08s CPU time)
Ran 5 tests for tests/protocol/libraries/math/MathUtils.t.sol:MathUtilsTests
[PASS] test_calculateCompoundInterest_1() (gas: 10340)
[PASS] test_calculateCompoundInterest_2() (gas: 10337)
[PASS] test_calculateCompoundInterest_edge() (gas: 9166)
[PASS] test_calculateLinearInterest() (gas: 9211)
[PASS] test_constants() (gas: 8334)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.40ms (200.85µs CPU time)
Ran 3 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 107849)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 143962, ~: 143962)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109245)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.03s (998.17ms CPU time)
Ran 17 tests for tests/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 851330, ~: 814473)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 851329, ~: 814688)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789176, ~: 790632)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 886742, ~: 847086)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 851748, ~: 814387)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789313, ~: 791557)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 832767, ~: 811011)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 840155)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 650987)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 53159)
[PASS] test_rewardTokens() (gas: 649128)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 863268, ~: 881340)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 821978, ~: 815322)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 21.33s (21.30s CPU time)
Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524469, ~: 524544)
[PASS] test_getUserAccountData_shouldReflectEmodeParams() (gas: 463155)
[PASS] test_getUserAccountData_shouldReflectMixedCollateral() (gas: 655919)
[PASS] test_getUserEMode_shouldReflectEMode() (gas: 200782)
[PASS] test_liquidations_shouldApplyEModeLBForEmodeAssets(uint256) (runs: 1000, μ: 1102511, ~: 1102598)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296348, ~: 299949)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016682, ~: 1016892)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919649, ~: 919865)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975891, ~: 976116)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 12.06s (12.03s CPU time)
Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.liquidationFee.t.sol:PoolConfiguratorLiquidationFeeTests
[PASS] test_revert_setLiquidationFee_gt_100() (gas: 59237)
[PASS] test_revert_setLiquidationFee_unauthorized() (gas: 59105)
[PASS] test_setLiquidationFee() (gas: 78707)
[PASS] test_setLiquidationFee_100() (gas: 78663)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 35.34ms (880.93µs CPU time)
Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 371747)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 477646)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 124848)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 78895)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 319107)
[PASS] test_supply_eq_cap() (gas: 300294)
[PASS] test_supply_interests_reach_cap() (gas: 438973)
[PASS] test_supply_lt_cap() (gas: 300295)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 42.47ms (8.37ms CPU time)
Ran 6 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 1837548)
[PASS] test_setReserveInterestRateData() (gas: 156713)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1015246)
[PASS] test_updateAToken() (gas: 2312009)
[PASS] test_updateVariableDebtToken() (gas: 1709196)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 39.57ms (5.05ms CPU time)
Ran 28 tests for tests/extensions/stata-token/ERC4626StataTokenUpgradeable.t.sol:ERC4626StataTokenUpgradeableTest
[PASS] test_7201() (gas: 3469)
[PASS] test_convertersAndPreviews(uint128) (runs: 1000, μ: 43191, ~: 43191)
[PASS] test_depositATokens(uint128,uint256,address) (runs: 1000, μ: 531208, ~: 531609)
[PASS] test_depositATokens_self() (gas: 531714)
Logs:
Bound result 1000000000000000000
Bound result 1000000000000000000
[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566030, ~: 566601)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537818, ~: 538404)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476773, ~: 476635)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403915, ~: 403824)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498027, ~: 497897)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394795, ~: 394692)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42158, ~: 42190)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114959, ~: 115171)
[PASS] test_maxDeposit_freeze() (gas: 121657)
[PASS] test_maxDeposit_noCap() (gas: 103956)
[PASS] test_maxDeposit_paused() (gas: 94931)
[PASS] test_maxRedeem_inSufficientAvailableLiquidity(uint256) (runs: 1000, μ: 990382, ~: 990523)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556728, ~: 556632)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526756, ~: 526664)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467174, ~: 467021)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258151, ~: 257984)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586492, ~: 586332)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593581, ~: 593420)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614102, ~: 613910)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545613, ~: 546280)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26024)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 590274, ~: 590112)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 530935, ~: 530781)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 19.13s (31.56s CPU time)
Ran 44 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 137081)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 101346)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 130770)
[PASS] test_bridgeProtocolFee() (gas: 72994)
[PASS] test_disableLiquidationGracePeriod() (gas: 80452)
[PASS] test_dropReserve() (gas: 149902)
[PASS] test_enableBorrowing((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2627609, ~: 2626045)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2618048, ~: 2616867)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30151)
[PASS] test_reverts_dropReserve_notListed() (gas: 53404)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 300324)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 459401)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47308)
[PASS] test_reverts_setCollateralConfig_invalidParams((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2869955, ~: 2867934)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 296578)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35632)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 291447)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35651)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 417360)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30267)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30287)
[PASS] test_setBorrowableInIsolation_false() (gas: 65034)
[PASS] test_setBorrowableInIsolation_true() (gas: 67851)
[PASS] test_setCollateralConfig((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2604657, ~: 2603604)
[PASS] test_setDebtCeiling() (gas: 124864)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 299836)
[PASS] test_setDebtCeiling_to_zero() (gas: 149723)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 108173)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34809, ~: 34809)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 137721, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138272, ~: 138591)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74859)
[PASS] test_setPoolPause() (gas: 139170)
[PASS] test_setPoolPause_unpause() (gas: 197367)
[PASS] test_setReserveActive_false() (gas: 122131)
[PASS] test_setReserveActive_true() (gas: 69283)
[PASS] test_setReserveFactor() (gas: 976606)
[PASS] test_setReserveFreeze_false() (gas: 100868)
[PASS] test_setReservePause_false() (gas: 68656)
[PASS] test_setReservePause_true() (gas: 71411)
[PASS] test_setSiloedBorrowing() (gas: 120382)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48826)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58261)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58175)
Suite result: ok. 44 passed; 0 failed; 0 skipped; finished in 93.73s (7.40s CPU time)
Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 589852)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 643854)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 619703)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 417378)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 606512, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 581420, ~: 573379)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 586853, ~: 578889)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 535545, ~: 526869)
[PASS] test_repay_full_variable_borrow() (gas: 404515)
[PASS] test_revert_repay_full_stable_borrow() (gas: 353370)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51687)
[PASS] test_reverts_borrow_reserveInactive() (gas: 138883)
[PASS] test_reverts_borrow_reservePaused() (gas: 92515)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 327464)
[PASS] test_reverts_repay_no_debt() (gas: 52259)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 112.41s (14.45s CPU time)
Ran 4 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.initReserves.t.sol:PoolConfiguratorInitReservesTest
[PASS] test_initReserves_notEnoughDecimal((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 1052203, ~: 1052199)
[PASS] test_initReserves_validNumberOfAssets((uint8,string,string,string,string,address,address,address,bool)[128],uint8) (runs: 1000, μ: 90067146, ~: 45919753)
[PASS] test_initReserves_zeroAssets() (gas: 62496)
[PASS] test_reverts_initReserves_maxAssets((uint8,string,string,string,string,address,address,address,bool),uint8) (runs: 1000, μ: 384852013, ~: 346905908)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 113.84s (150.82s CPU time)
Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 240984)
[PASS] test_first_supply() (gas: 240985)
[PASS] test_first_supply_on_behalf() (gas: 243032)
[PASS] test_reverts_supply_cap() (gas: 105400)
[PASS] test_reverts_supply_invalidAmount() (gas: 47837)
[PASS] test_reverts_supply_reserveFrozen() (gas: 117686)
[PASS] test_reverts_supply_reserveInactive() (gas: 134837)
[PASS] test_reverts_supply_reservePaused() (gas: 88490)
[PASS] test_reverts_supply_to_aToken() (gas: 50356)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 422679, ~: 422689)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422878, ~: 422897)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 288145, ~: 288148)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 1.88s (4.56s CPU time)
Ran 65 test suites in 137.26s (478.44s CPU time): 778 tests passed, 0 failed, 0 skipped (778 total tests) |
🔮 Coverage report
|
⛽ Gas reportMockERC20
ProxyAdmin
TransparentUpgradeableProxy
WETH9
ParaSwapLiquiditySwapAdapter
ParaSwapRepayAdapter
ParaSwapWithdrawSwapAdapter
StataTokenFactory
StataTokenV2
AaveV3ConfigEngine
AaveProtocolDataProvider
L2Encoder
WrappedTokenGatewayV3
ATokenInstance
L2PoolInstance
PoolConfiguratorInstance
PoolInstance
VariableDebtTokenInstance
AaveOracle
DefaultReserveInterestRateStrategyV2
PriceOracleSentinel
InitializableImmutableAdminUpgradeabilityProxy
MockFlashLoanReceiver
MockFlashLoanSimpleReceiver
MockPoolInherited
MockAggregator
PriceOracle
SequencerOracle
MockParaSwapAugustus
MockParaSwapAugustusRegistry
TestnetERC20
MathUtilsWrapper
PercentageMathWrapper
WadRayMathWrapper
MockATokenRepayment
MockVariableDebtToken
MockScaledToken
MockInitializableImple
MockInitializableImpleV2
MockInitializableV1
MockInitializableV2
ACLManager
PoolAddressesProvider
PoolAddressesProviderRegistry
EmissionManager
RewardsController
PullRewardsTransferStrategy
StakedTokenTransferStrategy
Collector
RevenueSplitter
AaveV3GettersBatchOne
AaveV3GettersBatchTwo
AaveV3HelpersBatchOne
AaveV3HelpersBatchTwo
AaveV3L2PoolBatch
AaveV3MiscBatch
AaveV3ParaswapBatch
AaveV3PeripheryBatch
AaveV3PoolBatch
AaveV3SetupBatch
[AaveV3TokensBatch](https://github.com/aave-dao/aave-v3-origin/blob/a5c3bd20ecf9f7db6474c986f6b95c41...*[Comment body truncated]* |
sakulstra
added a commit
to bgd-labs/aave-v3-origin
that referenced
this pull request
Dec 10, 2024
- refactor to assume the umbrella never has debt Co-authored-by: Ernesto Boado <[email protected]>
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.
Context
The Collector contract (Revision 5) has the limitation of only allowing one address to call its functions, the
_fundsAdmin
, which currently is the Governance Executor contract.To enable the possibility of the FinanceSteward contract to be allowed to call the Collector alongside the Executor, it is recommended to use the
ACL_MANAGER
to manage its access control. A new role is going to be created namedFUNDS_ADMIN
Changelog
Collector
nextStreamId
ACL_MANAGER
contract address as immutable variable_fundsAdmin
variable_fundsAdmin
and relevant errors and events.FUNDS_ADMIN
role namedIsFundsAdmin
Deployment
AaveV3PeripheryBatch
toAaveV3SetupBatch
so as to accommodate passingACL_MANAGER
to the collector contract