Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: Collector Upgrade. (#82) #84

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

feat: Collector Upgrade. (#82) #84

wants to merge 8 commits into from

Conversation

sakulstra
Copy link
Contributor

@sakulstra sakulstra commented Dec 5, 2024

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 a more advanced ACL to manage its access control. A new role is going to be created named FUNDS_ADMIN

Changelog

Collector

  • rely on oz 7201 based initializable for upgradability.
  • Initialize function changes to only populate the nextStreamId, but also the initial default admin of AccessControl
  • 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 ssFundsAdmin
  • New tests for the Collector

Luigy-Lemon and others added 5 commits December 5, 2024 11:35
### 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
Copy link

github-actions bot commented Dec 5, 2024

🔧 Build logs
Compiling 409 files with Solc 0.8.20
Solc 0.8.20 finished in 103.27s
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                               | 24,513           | 37,842            | 63                 | 11,310              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| 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                                      | 7,051            | 7,271             | 17,525             | 41,881              |
|------------------------------------------------+------------------+-------------------+--------------------+---------------------|
| 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              |
╰------------------------------------------------+------------------+-------------------+--------------------+---------------------╯

Copy link

github-actions bot commented Dec 5, 2024

forge 0.0.2 (1b49d91 2025-01-15T00:25:12.807077620Z)

Copy link

github-actions bot commented Dec 5, 2024

🌈 Test Results
No files changed, compilation skipped

Ran 4 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 51875)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18215)
[PASS] testTransfer() (gas: 55904)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18195)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 4.24ms (410.50µs CPU time)

Ran 5 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 51876)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18171)
[PASS] testTransfer() (gas: 55950)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18195)
[PASS] test_successful() (gas: 13389)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.79ms (437.40µs CPU time)

Ran 6 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 51831)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18171)
[PASS] testTransfer() (gas: 55904)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18195)
[PASS] test_isFundsAdmin() (gas: 24333)
[PASS] test_isNotFundsAdmin() (gas: 17573)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 6.50ms (3.01ms CPU time)

Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 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 14.33ms (3.46ms CPU time)

Ran 25 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 51832)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18345)
[PASS] testCancelStreamByFundsAdmin() (gas: 206184)
[PASS] testCancelStreamByRecipient() (gas: 232127)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242254)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22848)
[PASS] testCreateStream() (gas: 244278)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27266)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24611)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25055)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25310)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25078)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25778)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23224)
[PASS] testGetNextStreamId() (gas: 17587)
[PASS] testGetNotExistingStream() (gas: 18426)
[PASS] testGetStream() (gas: 234357)
[PASS] testTransfer() (gas: 55994)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18347)
[PASS] testWithdrawFromStream() (gas: 308205)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 231050)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243637)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238129)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240288)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23014)
Suite result: ok. 25 passed; 0 failed; 0 skipped; finished in 9.53ms (5.89ms CPU time)

Ran 14 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 7149163)
[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: 4630409)
[PASS] test9TokensMarket() (gas: 3901228)
[PASS] testCheckInitCodeSizeBatchs() (gas: 992815)
Logs:
  AaveV3SetupBatch 37842
  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 40.02ms (15.20ms CPU time)

Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 68215)
[PASS] test_getDebtCeiling() (gas: 27099)
[PASS] test_getFlashLoanEnabled() (gas: 27177)
[PASS] test_getInterestRateStrategyAddress() (gas: 53485)
[PASS] test_getIsVirtualAccActive() (gas: 27184)
[PASS] test_getLiquidationProtocolFee() (gas: 27158)
[PASS] test_getPaused() (gas: 27250)
[PASS] test_getReserveCaps() (gas: 27176)
[PASS] test_getReserveConfigurationData() (gas: 28077)
[PASS] test_getReserveTokensAddresses() (gas: 53734)
[PASS] test_getSiloedBorrowing() (gas: 27232)
[PASS] test_getTotalDebt() (gas: 68237)
[PASS] test_getUnbackedMintCap() (gas: 27097)
[PASS] test_getUserReserveData() (gas: 373347)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 68.04ms (3.43ms CPU time)

Ran 8 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 625679)
[PASS] test_liquidationCall_deficit() (gas: 886494)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1077401)
[PASS] test_liquidationCall_full() (gas: 886604)
[PASS] test_liquidationCall_partial() (gas: 863287)
[PASS] test_repay() (gas: 790345)
[PASS] test_supply() (gas: 1114866)
[PASS] test_withdraw() (gas: 439560)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 74.62ms (32.11ms CPU time)

Ran 9 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 415625)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 724697)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 429033)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 649988)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 636599)
[PASS] test_transfer_partialAmount() (gas: 429108)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 650048)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 414092)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 635013)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 61.63ms (21.99ms 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: 266274)
[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 39.03ms (4.03ms 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 52.77ms (12.19ms 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 36.82ms (327.24µ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 41.34ms (6.24ms 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 36.58ms (2.19ms 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 37.04ms (700.67µs CPU time)

Ran 11 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 161976)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 235451)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 162751)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 229402)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81523)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81564)
[PASS] test_atoken_multiple_transfers() (gas: 201155)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 389056, ~: 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.34s (1.30s 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 38.01ms (2.84ms CPU time)

Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 57001952)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 65175792)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 56478450)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 67002908)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 65682478)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 135.81ms (125.00ms CPU time)

Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 7149184)
[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: 4605846)
[PASS] test8TokensMarket() (gas: 3901080)
[PASS] test9ConfigEngineDeployment() (gas: 6715437)
[PASS] testAaveV3FullBatchOrchestration() (gas: 56998241)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 27.50ms (15.72ms 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, μ: 121646, ~: 121727)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 114253, ~: 114293)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 71371, ~: 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, μ: 64320, ~: 64818)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 64421, ~: 65038)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 29922, ~: 29922)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 17.99s (17.95s 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, μ: 606846, ~: 607833)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 580832, ~: 573426)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 586696, ~: 578936)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 535476, ~: 526916)
[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 18.86s (18.82s CPU time)

Ran 2 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 971122)
[PASS] test_setUserUseReserveAsCollateral() (gas: 393094)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 46.45ms (6.18ms 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 5.02s (4.98s 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.53s (22.49s CPU time)

Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 55384833)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 55875863)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 47.65ms (42.21ms 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.88ms (1.94ms 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 36.40ms (541.17µ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 53.93ms (16.56ms 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 48.48ms (8.86ms 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, μ: 850026, ~: 814595)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852822, ~: 814811)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 789116, ~: 790778)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 886137, ~: 847208)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 852021, ~: 814509)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 790122, ~: 791679)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 833250, ~: 811132)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 840249)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 651081)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 53159)
[PASS] test_rewardTokens() (gas: 649222)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 864036, ~: 881462)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 822067, ~: 815444)
[PASS] test_zeroIncentivesController() (gas: 37827)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 25.36s (25.33s 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, μ: 422717, ~: 422736)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 422916, ~: 422944)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 288184, ~: 288188)
[PASS] test_supply_after_collateral_enabled() (gas: 287780)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 6.88s (6.84s 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 52.37ms (9.25ms 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, μ: 81867, ~: 82155)
[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: 983235)
[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, μ: 36867, ~: 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.32s (1.28s 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 4.18s (4.14s 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 47.84ms (9.40ms 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, μ: 1049411, ~: 1049543)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36287, ~: 36287)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35272, ~: 35272)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34033, ~: 34033)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34030, ~: 34030)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35015, ~: 35015)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38679, ~: 38679)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38813, ~: 38813)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38605, ~: 38605)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39132, ~: 39132)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38645, ~: 38645)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38606, ~: 38606)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39368, ~: 39368)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39276, ~: 39276)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38517, ~: 38517)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43151, ~: 43151)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38629, ~: 38629)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38557, ~: 38557)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56180, ~: 56180)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38851, ~: 38851)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39016, ~: 39016)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38993, ~: 38993)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 4.13s (4.09s 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 44.42ms (6.48ms 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 7.49s (7.45s 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: 425061)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 385934)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 384852)
[PASS] test_splitFunds_fixed() (gas: 462014)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 462810, ~: 464195)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 461346, ~: 462656)
[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, μ: 100743, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.65s (4.65s 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 51.61ms (14.72ms 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 33.06ms (278.66µs CPU time)

Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18982)
[PASS] test_emergencyTransfer() (gas: 218832)
[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.37ms (1.39ms CPU time)

Ran 2 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_deposit() (gas: 499515)
[PASS] test_depositATokens() (gas: 549298)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 43.43ms (4.19ms 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 34.44ms (433.46µs 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, μ: 2629151, ~: 2626061)
[PASS] test_enableFlashBorrow((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2618598, ~: 2616801)
[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, μ: 2870665, ~: 2867817)
[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, μ: 2606735, ~: 2603611)
[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, μ: 137294, ~: 139785)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 138279, ~: 138598)
[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 8.25s (8.21s 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 46.16ms (7.48ms 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 41.00ms (5.34ms 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: 554904)
[PASS] test_deposit_shouldRevert() (gas: 482676)
[PASS] test_mint_shouldRevert() (gas: 486659)
[PASS] test_redeem_shouldRevert() (gas: 574341)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 552814)
[PASS] test_withdraw_shouldRevert() (gas: 570119)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 229.50ms (195.26ms 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 37.81ms (797.32µ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 36.78ms (2.03ms 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 42.98ms (1.21ms 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, μ: 13324, ~: 13278)
[PASS] test_wadDiv() (gas: 12873)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10522, ~: 10723)
[PASS] test_wadMul() (gas: 11145)
[PASS] test_wadMul_edge() (gas: 11187)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10743, ~: 11341)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12130, ~: 12349)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 257.04ms (255.79ms 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 45.55ms (12.92ms CPU time)

Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 638254)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 40.95ms (2.69ms CPU time)

Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 780477, ~: 780483)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 197242)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 224934)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 451816)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.27s (3.24s 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, μ: 2737452, ~: 2738844)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2810681, ~: 2811011)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2824747, ~: 2825223)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1572976)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2825874, ~: 2825332)
[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, μ: 2626073, ~: 2626209)
[PASS] test_reverts_initialize_twice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3677356, ~: 3676419)
[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, μ: 2825303, ~: 2825247)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.80s (6.77s 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 39.49ms (1.05ms 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.28s (1.24s 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: 1120713)
[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, μ: 642475, ~: 652818)
[PASS] test_l2_set_user_collateral() (gas: 268482)
[PASS] test_l2_supply() (gas: 253541)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 428620, ~: 428620)
[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, μ: 81912, ~: 82198)
[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: 983215)
[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, μ: 36810, ~: 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 8.16s (8.12s 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.36ms (261.09µs CPU time)

Ran 17 tests for tests/extensions/paraswap-adapters/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_rescueTokens() (gas: 203447)
[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 85.69ms (45.05ms 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, μ: 10563, ~: 10678)
[PASS] test_percentMul() (gas: 11154)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10603, ~: 11209)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 111.28ms (109.31ms 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 52.79ms (16.94ms 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, μ: 531286, ~: 531658)
[PASS] test_depositATokens_self() (gas: 531763)
Logs:
  Bound result 1000000000000000000
  Bound result 1000000000000000000

[PASS] test_depositWithPermit_aToken(uint128,uint256,address) (runs: 1000, μ: 566101, ~: 566662)
[PASS] test_depositWithPermit_emptyPermit_aToken_preApproval(uint128,uint256,address) (runs: 1000, μ: 537938, ~: 538465)
[PASS] test_depositWithPermit_emptyPermit_underlying_preApproval(uint128,uint256,address) (runs: 1000, μ: 476835, ~: 476696)
[PASS] test_depositWithPermit_shouldRevert_emptyPermit_noPreApproval(uint128) (runs: 1000, μ: 403953, ~: 403872)
[PASS] test_depositWithPermit_underlying(uint128,uint256,address) (runs: 1000, μ: 498088, ~: 497958)
[PASS] test_deposit_shouldRevert_insufficientAllowance(uint128) (runs: 1000, μ: 394832, ~: 394741)
[PASS] test_latestAnswer_priceShouldBeEqualOnDefaultIndex() (gas: 37222)
[PASS] test_latestAnswer_priceShouldReflectIndexAccrual(uint256) (runs: 1000, μ: 42164, ~: 42197)
[PASS] test_maxDeposit_cap(uint256) (runs: 1000, μ: 114962, ~: 115178)
[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, μ: 990465, ~: 990608)
[PASS] test_maxRedeem_paused(uint128) (runs: 1000, μ: 556770, ~: 556681)
[PASS] test_maxRedeem_sufficientAvailableLiquidity(uint128) (runs: 1000, μ: 526812, ~: 526713)
[PASS] test_mint(uint256,address) (runs: 1000, μ: 467243, ~: 467070)
[PASS] test_mint_shouldRevert_mintMoreThenBalance(uint256,address) (runs: 1000, μ: 258186, ~: 258032)
[PASS] test_redeem(uint256,address) (runs: 1000, μ: 586538, ~: 586380)
[PASS] test_redeemATokens(uint256,address) (runs: 1000, μ: 593629, ~: 593468)
[PASS] test_redeemATokens_onBehalf(uint256) (runs: 1000, μ: 614147, ~: 613959)
[PASS] test_redeemATokens_onBehalf_shouldRevert_insufficientAllowance(uint256,uint256) (runs: 1000, μ: 545805, ~: 546340)
[PASS] test_totalAssets_shouldbeZeroOnZeroSupply() (gas: 26024)
[PASS] test_withdraw(uint256,address) (runs: 1000, μ: 590319, ~: 590160)
[PASS] test_withdraw_shouldRevert_moreThenAvailable(uint256,address) (runs: 1000, μ: 530986, ~: 530830)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 35.78s (35.74s 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 37.94ms (2.27ms 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 (2.12ms 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, μ: 174202, ~: 145644)
[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.54s (1.50s CPU time)

Ran 8 tests for tests/gas/Pool.Getters.gas.t.sol:PoolGetters_gas_Tests
[PASS] test_getEModeCategoryCollateralConfig() (gas: 16584)
[PASS] test_getEModeCategoryData() (gas: 22835)
[PASS] test_getLiquidationGracePeriod() (gas: 18184)
[PASS] test_getReserveData() (gas: 47016)
[PASS] test_getUserAccountData() (gas: 33182)
[PASS] test_getUserAccountData_oneSupplies() (gas: 371604)
[PASS] test_getUserAccountData_twoSupplies() (gas: 690729)
[PASS] test_getUserAccountData_twoSupplies_oneBorrows() (gas: 1108340)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 49.89ms (10.10ms CPU time)

Ran 11 tests for tests/protocol/pool/Pool.EMode.sol:PoolEModeTests
[PASS] test_borrowing_shouldRevert_ifNonBorrowableOutsideEmode(uint256) (runs: 1000, μ: 524475, ~: 524551)
[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, μ: 1102512, ~: 1102605)
[PASS] test_reenterSameEmode_shouldSucceed() (gas: 210055)
[PASS] test_setUserEMode_shouldAllowSwitchingIfNoBorrows(uint8) (runs: 1000, μ: 296227, ~: 299963)
[PASS] test_setUserEMode_shouldRevertForNonExistingEmode() (gas: 35013)
[PASS] test_setUserEmode_shouldAllowSwitchingWhenAssetIsBorrowableInEmode(uint104) (runs: 1000, μ: 1016691, ~: 1016899)
[PASS] test_setUserEmode_shouldRevertIfAssetNoLongerBorrowable(uint104) (runs: 1000, μ: 919652, ~: 919872)
[PASS] test_setUserEmode_shouldRevertIfHfWouldFallBelow1(uint104) (runs: 1000, μ: 975912, ~: 976123)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 13.97s (13.94s CPU time)

Ran 20 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 1343441)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1549216)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 1405711)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 1431329)
[PASS] test_liquidate_isolated_position() (gas: 1334623)
[PASS] test_liquidate_variable_borrow() (gas: 1443557)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 1168423)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 1103565)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 1272454, ~: 1272454)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1461363, ~: 1470863)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1460566, ~: 1468758)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1477720, ~: 1485746)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 1281697)
[PASS] test_partial_liquidate_variable_borrow() (gas: 1229599)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 624205)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 459000)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 598708)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 319337)
[PASS] test_reverts_liqui...*[Comment body truncated]*

Copy link

github-actions bot commented Dec 5, 2024

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

Copy link

github-actions bot commented Dec 5, 2024

Gas report

MockERC20

  • size: 3611 / 49152
Method min mean median max calls
allowance(address,address) 811 1811 1811 2811 8
balanceOf(address) 579 1123 579 2579 327
initialize(string,string,uint8) 157662 157662 157662 157662 110

ProxyAdmin

  • size: 1267 / 49152
Method min mean median max calls
owner() 288 288 288 288 2

TransparentUpgradeableProxy

  • size: 2434 / 49152
Method min mean median max calls
fallback() 684 170277 30310 1961825 315

WETH9

  • size: 2354 / 49152
Method min mean median max calls
allowance(address,address) 800 1500 800 2800 20
approve(address,uint256) 28992 46431 46464 46464 1650
balanceOf(address) 538 939 538 2538 8305
decimals() 2312 2312 2312 2312 722
symbol() 1209 2246 3209 3209 27

ParaSwapLiquiditySwapAdapter

  • size: 9946 / 49152
Method min mean median max calls
owner() 384 384 384 384 2
swapAndDeposit(address,address,uint256,uint256,uint256,bytes,address,(uint256,uint256,uint8,bytes32,bytes32)) 354784 445579 477520 504434 3

ParaSwapRepayAdapter

  • size: 10623 / 49152
Method min mean median max calls
owner() 406 406 406 406 2
rescueTokens(address) 36115 36115 36115 36115 1
swapAndRepay(address,address,uint256,uint256,uint256,uint256,bytes,(uint256,uint256,uint8,bytes32,bytes32)) 404190 512323 538923 567258 4

ParaSwapWithdrawSwapAdapter

  • size: 8547 / 49152
Method min mean median max calls
owner() 406 406 406 406 2
withdrawAndSwap(address,address,uint256,uint256,uint256,bytes,address,(uint256,uint256,uint8,bytes32,bytes32)) 354732 380661 373324 413928 3

StataTokenFactory

  • size: 4154 / 49152
Method min mean median max calls
STATA_TOKEN_IMPL() 248 248 248 248 1
createStataTokens(address[]) 1934402 1934402 1934402 1934402 21
getStataToken(address) 569 569 569 569 21
initialize() 24103 24103 24103 24103 692

StataTokenV2

  • size: 20757 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 6525 6525 6525 6525 3
INCENTIVES_CONTROLLER() 350 350 350 350 1
aToken() 2535 2535 2535 2535 1
allowance(address,address) 806 806 806 806 1
asset() 2449 2449 2449 2449 1
balanceOf(address) 653 653 653 653 1
canPause(address) 11610 11610 11610 11610 2
claimRewardsToSelf(address[]) 3167 3167 3167 3167 1
decimals() 618 618 618 618 1
deposit(uint256,address) 267243 277433 277433 287624 2
depositATokens(uint256,address) 161441 196226 203183 203183 6
emergencyTokenTransfer(address,address,uint256) 6009 82168 86369 149925 4
getReferenceAsset() 2491 2491 2491 2491 1
initialize(address,string,string) 25518 231137 232108 239108 64
maxRedeem(address) 7472 7472 7472 7472 2
maxWithdraw(address) 10138 10138 10138 10138 1
mint(uint256,address) 267337 267337 267337 267337 1
name() 3377 3377 3377 3377 1
nonces(address) 2776 2776 2776 2776 3
paused() 469 1469 1469 2469 2
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 776 30653 33460 57725 3
previewDeposit(uint256) 15959 15959 15959 15959 1
redeem(uint256,address,address) 31682 110055 110055 188428 2
redeemATokens(uint256,address,address) 136074 136074 136074 136074 1
setPaused(bool) 11592 32070 34996 34996 8
symbol() 3389 3389 3389 3389 1
transfer(address,uint256) 2763 2763 2763 2763 1
withdraw(uint256,address,address) 34349 34349 34349 34349 1

AaveV3ConfigEngine

  • size: 9645 / 49152
Method min mean median max calls
DEFAULT_INTEREST_RATE_STRATEGY() 270 270 270 270 5
listAssets((string,string),(address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[]) 1804427 1804427 1804427 1804427 1
listAssetsCustom((string,string),((address,string,address,(uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address))[]) 1803763 5189686 5194695 5194695 686
updateAssetsEMode((address,uint8,uint256,uint256)[]) 190633 190633 190633 190633 1
updateBorrowSide((address,uint256,uint256,uint256,uint256,uint256)[]) 20061 76217 76217 132373 2
updateCaps((address,uint256,uint256)[]) 59693 59693 59693 59693 1
updateCollateralSide((address,uint256,uint256,uint256,uint256,uint256)[]) 8750 30432 8874 62831 5
updateEModeCategories((uint8,uint256,uint256,uint256,string)[]) 10596 50460 28409 101350 5
updatePriceFeeds((address,address)[]) 39269 39269 39269 39269 1
updateRateStrategies((address,(uint256,uint256,uint256,uint256))[]) 124920 124920 124920 124920 1

AaveProtocolDataProvider

  • size: 9771 / 49152
Method min mean median max calls
getATokenTotalSupply(address) 12822 13683 12866 57882 2085
getAllReservesTokens() 16144 28640 39644 39644 27
getDebtCeiling(address) 3244 5944 3244 16744 5
getDebtCeilingDecimals() 214 214 214 214 1
getFlashLoanEnabled(address) 3217 8383 5217 16717 3
getInterestRateStrategyAddress(address) 9534 23579 19512 43034 10
getIsVirtualAccActive(address) 3245 3662 3267 16767 34
getLiquidationProtocolFee(address) 3266 10216 11016 16766 10
getPaused(address) 3333 3864 3355 16855 46
getReserveCaps(address) 3267 8329 3267 16767 48
getReserveConfigurationData(address) 3659 4385 3681 17181 100
getReserveTokensAddresses(address) 9510 12930 9554 43054 479
getSiloedBorrowing(address) 3270 10020 10020 16770 2
getTotalDebt(address) 54903 54903 54903 54903 3
getUnbackedMintCap(address) 16721 16721 16721 16721 1
getUserReserveData(address,address) 19863 29685 27941 46863 27
getVirtualUnderlyingBalance(address) 16533 16533 16533 16533 1

L2Encoder

  • size: 3958 / 49152
Method min mean median max calls
encodeBorrowParams(address,uint256,uint256,uint16) 8851 8851 8851 8851 3
encodeLiquidationCall(address,address,address,uint256,bool) 23237 23237 23237 23237 1
encodeRepayParams(address,uint256,uint256) 8734 8734 8734 8734 1
encodeRepayWithATokensParams(address,uint256,uint256) 8761 8761 8761 8761 1
encodeRepayWithPermitParams(address,uint256,uint256,uint256,uint8,bytes32,bytes32) 13218 13218 13218 13218 1
encodeSetUserUseReserveAsCollateral(address,bool) 8676 8676 8676 8676 1
encodeSupplyParams(address,uint256,uint16) 40279 40279 40279 40279 7
encodeSupplyWithPermitParams(address,uint256,uint16,uint256,uint8,bytes32,bytes32) 40633 40633 40633 40633 1
encodeWithdrawParams(address,uint256) 8620 8653 8653 8687 2

WrappedTokenGatewayV3

  • size: 6696 / 49152
Method min mean median max calls
borrowETH(address,uint256,uint16) 250143 251379 251379 252616 2
depositETH(address,address,uint16) 222665 238055 239979 239979 9
emergencyEtherTransfer(address,uint256) 33792 33792 33792 33792 1
emergencyTokenTransfer(address,address,uint256) 52863 52863 52863 52863 1
getWETHAddress() 200 200 200 200 1
owner() 373 373 373 373 2
receive() 21206 21206 21206 21206 1
repayETH(address,uint256,address) 180936 188413 184149 205774 6
withdrawETH(address,uint256,address) 233365 248343 242018 269647 3
withdrawETHWithPermit(address,uint256,address,uint256,uint8,bytes32,bytes32) 278174 281068 281068 283962 2

ATokenInstance

  • size: 11090 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 455 2271 2455 3539 5
POOL() 326 326 326 326 104
RESERVE_TREASURY_ADDRESS() 419 1255 419 2419 55
UNDERLYING_ASSET_ADDRESS() 441 1961 2441 2441 121
allowance(address,address) 782 1551 782 2782 26
approve(address,uint256) 24586 24586 24586 24586 35
balanceOf(address) 2749 5923 4749 17749 254
burn(address,address,uint256,uint256) 904 42130 45478 63239 73
decimals() 356 1196 356 2356 50
decreaseAllowance(address,uint256) 7705 7705 7705 7705 1
getIncentivesController() 474 595 474 2474 33
getPreviousIndex(address) 651 651 651 651 39
getScaledUserBalanceAndSupply(address) 826 2730 2826 4826 21
handleRepayment(address,address,uint256) 594 594 594 594 56
increaseAllowance(address,uint256) 7772 20597 24872 24872 4
initialize(address,address,address,address,uint8,string,string,bytes) 187036 187672 187036 299168 2216
mint(address,address,uint256,uint256) 932 60366 64402 72156 743
mintToTreasury(uint256,uint256) 442 43917 49192 66292 6
name() 1259 2537 3259 3259 193
nonces(address) 652 1985 2652 2652 9
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 1108 30882 33588 53488 18
rescueTokens(address,address,uint256) 12022 24398 14240 46933 3
scaledBalanceOf(address) 687 2366 2687 2687 742
scaledTotalSupply() 373 2251 2373 2373 33
setIncentivesController(address) 11924 14301 14301 16678 2
symbol() 1324 2542 3324 3324 175
totalSupply() 407 2940 2407 10463 2413
transfer(address,uint256) 576 99173 110839 140167 32
transferFrom(address,address,uint256) 2998 106257 113932 142842 42
transferOnLiquidation(address,address,uint256) 981 34883 37477 44277 26
transferUnderlyingTo(address,uint256) 796 28009 33588 33627 270

L2PoolInstance

  • size: 23547 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 351 351 351 351 177
FLASHLOAN_PREMIUM_TOTAL() 388 1388 1388 2388 126
FLASHLOAN_PREMIUM_TO_PROTOCOL() 437 437 437 437 126
borrow(address,uint256,uint256,uint16,address) 203159 224510 222214 238218 11
borrow(bytes32) 203157 203157 203157 203157 3
configureEModeCategory(uint8,(uint16,uint16,uint16,string)) 7099 43206 49224 49224 7
configureEModeCategoryBorrowableBitmap(uint8,uint128) 23963 23963 23963 23963 2
configureEModeCategoryCollateralBitmap(uint8,uint128) 6843 6843 6843 6843 12
dropReserve(address) 6304 44281 44281 82259 2
getBorrowLogic() 281 281 281 281 1
getBridgeLogic() 345 345 345 345 1
getConfiguration(address) 723 733 723 2723 1462
getEModeCategoryBorrowableBitmap(uint8) 2646 2646 2646 2646 2
getEModeCategoryCollateralBitmap(uint8) 2656 2656 2656 2656 12
getEModeLogic() 345 345 345 345 1
getFlashLoanLogic() 347 347 347 347 1
getLiquidationGracePeriod(address) 2634 2634 2634 2634 1
getLiquidationLogic() 325 325 325 325 1
getPoolLogic() 324 324 324 324 1
getReserveData(address) 5204 8323 7204 29704 343
getReserveNormalizedIncome(address) 823 835 823 1283 37
getReserveNormalizedVariableDebt(address) 845 1419 845 2845 9
getReservesList() 11126 11126 11126 11126 3
getSupplyLogic() 345 345 345 345 1
getUserAccountData(address) 22290 22290 22290 22290 1
getVirtualUnderlyingBalance(address) 724 724 724 724 4
initReserve(address,address,address,address) 6628 161475 161821 167597 146
initialize(address) 45443 45443 45443 45443 63
liquidationCall(bytes32,bytes32) 375920 375920 375920 375920 1
mintToTreasury(address[]) 77264 78657 78657 80050 2
repay(address,uint256,uint256,address) 164468 164468 164468 164468 2
repay(bytes32) 135484 135484 135484 135484 1
repayWithATokens(bytes32) 138509 138509 138509 138509 1
repayWithPermit(bytes32,bytes32,bytes32) 209916 209916 209916 209916 1
rescueTokens(address,address,uint256) 48214 48214 48214 48214 1
resetIsolationModeTotalDebt(address) 4353 4491 4353 15353 147
setConfiguration(address,(uint256)) 2148 4227 2148 24303 1593
setLiquidationGracePeriod(address,uint40) 6364 11408 10850 17012 3
setReserveInterestRateStrategyAddress(address,address) 6384 9907 8731 15782 4
setUserEMode(uint8) 22122 42635 41183 87512 7
setUserUseReserveAsCollateral(address,bool) 53575 69534 71588 102788 17
setUserUseReserveAsCollateral(bytes32) 73756 73756 73756 73756 1
supply(address,uint256,address,uint16) 157134 199041 208434 208434 29
supply(bytes32) 210512 210512 210512 210512 7
supplyWithPermit(bytes32,bytes32,bytes32) 259775 259775 259775 259775 1
syncIndexesState(address) 7299 13932 7299 27199 144
syncRatesState(address) 16005 16005 16005 16005 144
updateBridgeProtocolFee(uint256) 6230 6230 6230 6230 1
updateFlashloanPremiums(uint128,uint128) 1698 11606 6367 21598 127
withdraw(bytes32) 126426 128867 128867 131308 2

PoolConfiguratorInstance

  • size: 19812 / 49152
Method min mean median max calls
MAX_GRACE_PERIOD() 260 260 260 260 7
configureReserveAsCollateral(address,uint256,uint256,uint256) 12220 12544 12264 99552 2072
disableLiquidationGracePeriod(address) 17214 32094 39535 39535 3
dropReserve(address) 14074 51441 43883 104832 6
getConfiguratorLogic() 283 283 283 283 1
getPendingLtv(address) 640 640 640 640 6
initReserves((address,address,bool,address,address,address,address,string,string,string,string,bytes,bytes)[]) 17401 4666253 4382378 191289379 696
initialize(address) 72573 90423 90473 90473 720
setAssetBorrowableInEMode(address,uint8,bool) 46849 85500 87622 100849 18
setAssetCollateralInEMode(address,uint8,bool) 17472 74613 70555 83781 51
setBorrowCap(address,uint256) 11170 11419 11214 44169 2069
setBorrowableInIsolation(address,bool) 10736 11032 10780 43726 2070
setDebtCeiling(address,uint256) 17256 44913 41675 98789 2076
setEModeCategory(uint8,uint16,uint16,uint16,string) 17779 71276 81448 81448 47
setLiquidationProtocolFee(address,uint256) 11241 11420 11285 44240 2065
setPoolPause(bool) 17202 60767 89785 89863 5
setPoolPause(bool,uint40) 17314 62515 62515 107716 2
setReserveActive(address,bool) 14185 82054 93141 95296 12
setReserveBorrowing(address,bool) 10911 11065 10955 41764 2062
setReserveFactor(address,uint256) 17301 43389 36685 124960 2061
setReserveFlashLoaning(address,bool) 10910 11048 10954 43918 2061
setReserveFreeze(address,bool) 20551 59164 67818 73139 17
setReserveInterestRateData(address,bytes) 17558 76842 106484 106484 3
setReserveInterestRateStrategyAddress(address,address,bytes) 17579 131852 133735 165156 45
setReservePause(address,bool) 17347 34577 43192 43192 3
setReservePause(address,bool,uint40) 14424 39754 40844 49360 24
setSiloedBorrowing(address,bool) 11281 11485 11325 94206 2060
setSupplyCap(address,uint256) 11127 12147 11171 44126 2076
setUnbackedMintCap(address,uint256) 44161 44161 44161 44161 7
updateAToken((address,address,address,string,string,address,bytes)) 14035 77281 77281 140527 2
updateBridgeProtocolFee(uint256) 14102 49291 51998 51998 14
updateFlashloanPremiumToProtocol(uint128) 10115 10223 10181 36981 721
updateFlashloanPremiumTotal(uint128) 14052 31997 32046 36946 721
updateVariableDebtToken((address,address,string,string,address,bytes)) 14036 74206 74206 134376 2

PoolInstance

  • size: 22300 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 284 284 284 284 2088
BRIDGE_PROTOCOL_FEE() 349 2109 2349 2349 25
FLASHLOAN_PREMIUM_TOTAL() 410 1413 2410 2410 1318
FLASHLOAN_PREMIUM_TO_PROTOCOL() 459 460 459 2459 1315
MAX_NUMBER_RESERVES() 286 286 286 286 4
backUnbacked(address,uint256,uint256) 98313 114497 111899 132885 9
borrow(address,uint256,uint256,uint16,address) 46604 247997 277802 304578 257
configureEModeCategory(uint8,(uint16,uint16,uint16,string)) 7121 47065 49246 49246 35
configureEModeCategoryBorrowableBitmap(uint8,uint128) 4041 21503 23941 23941 16
configureEModeCategoryCollateralBitmap(uint8,uint128) 3976 6649 6776 6776 38
deposit(address,uint256,address,uint16) 32702 189423 206817 208433 47
dropReserve(address) 6326 37538 28245 82325 7
finalizeTransfer(address,address,address,uint256,uint256,uint256) 20725 46276 48063 87949 71
flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16) 30247 128991 93606 322330 12
flashLoanSimple(address,address,uint256,bytes,uint16) 23396 345141 191517 760848 11
getBorrowLogic() 325 325 325 325 1
getBridgeLogic() 345 345 345 345 1
getConfiguration(address) 745 767 745 2745 19633
getEModeCategoryBorrowableBitmap(uint8) 668 1887 2668 2668 41
getEModeCategoryCollateralBitmap(uint8) 678 1852 2678 2678 63
getEModeCategoryCollateralConfig(uint8) 885 1695 885 2885 111
getEModeCategoryData(uint8) 8291 8291 8291 8291 4
getEModeCategoryLabel(uint8) 1328 1642 1583 3328 25
getEModeLogic() 278 278 278 278 1
getFlashLoanLogic() 302 302 302 302 1
getLiquidationGracePeriod(address) 2656 2656 2656 2656 11
getLiquidationLogic() 347 347 347 347 1
getPoolLogic() 279 279 279 279 1
getReserveAddressById(uint16) 662 662 662 662 1
getReserveData(address) 5248 7712 5248 29748 4915
getReserveDataExtended(address) 3476 4142 3476 5476 6
getReserveNormalizedIncome(address) 867 1409 867 5327 705
getReserveNormalizedVariableDebt(address) 889 1318 889 6475 146
getReservesCount() 392 392 392 392 2
getReservesList() 3170 7876 11170 26147 88
getSupplyLogic() 281 281 281 281 1
getUserAccountData(address) 12141 24368 22686 46663 28
getUserConfiguration(address) 703 865 703 2703 37
getUserEMode(address) 634 634 634 634 21
getVirtualUnderlyingBalance(address) 657 767 657 2657 127
initReserve(address,address,address,address) 6564 164781 161757 207007 2074
initialize(address) 45378 45467 45378 66895 661
liquidationCall(address,address,address,uint256,bool) 53082 253451 323142 394320 35
mintToTreasury(address[]) 77264 78657 78657 80050 2
mintUnbacked(address,uint256,address,uint16) 12183 118303 103419 165752 17
repay(address,uint256,uint256,address) 33243 104341 109003 164534 24
repayWithATokens(address,uint256,uint256) 155257 161888 162302 165893 6
repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32) 154051 171135 170261 189093 3
rescueTokens(address,address,uint256) 48149 48149 48149 48149 1
resetIsolationModeTotalDebt(address) 4265 4277 4265 15265 1917
setConfiguration(address,(uint256)) 2170 4401 2170 24325 21341
setLiquidationGracePeriod(address,uint40) 6386 12550 13534 17034 16
setReserveInterestRateStrategyAddress(address,address) 6406 7522 7304 15804 48
setUserEMode(uint8) 14165 46812 41117 113854 28
setUserUseReserveAsCollateral(address,bool) 53552 74193 71565 135389 32
supply(address,uint256,address,uint16) 29399 192373 206840 216210 645
supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32) 113713 196479 218122 257604 3
syncIndexesState(address) 7211 13929 7211 62577 1961
syncRatesState(address) 13459 15982 16005 22505 1961
updateBridgeProtocolFee(uint256) 6185 22141 23369 23369 14
updateFlashloanPremiums(uint128,uint128) 1720 11658 6520 21620 1313
withdraw(address,uint256,address) 39154 103519 87632 177428 49

VariableDebtTokenInstance

  • size: 8190 / 49152
Method min mean median max calls
UNDERLYING_ASSET_ADDRESS() 397 397 397 397 29
approveDelegation(address,uint256) 27009 27009 27009 27009 2
balanceOf(address) 675 4587 4753 10336 158
borrowAllowance(address,address) 828 828 828 828 5
burn(address,uint256,uint256) 19171 25789 26171 26172 55
decimals() 334 334 334 334 29
delegationWithSig(address,address,uint256,uint256,uint8,bytes32,bytes32) 1043 28679 21652 55852 7
getIncentivesController() 430 430 430 430 29
initialize(address,address,address,uint8,string,string,bytes) 143853 167626 164290 276648 2216
mint(address,address,uint256,uint256) 26353 61465 62553 72340 253
name() 1004 2078 1554 3259 119
nonces(address) 574 574 574 574 1
scaledBalanceOf(address) 687 2196 2687 2687 261
scaledTotalSupply() 417 1636 2417 2417 5466
symbol() 1280 2084 1575 3280 112
totalSupply() 4052 7563 6466 19052 15

AaveOracle

  • size: 4123 / 49152
Method min mean median max calls
BASE_CURRENCY() 292 292 292 292 3
BASE_CURRENCY_UNIT() 261 261 261 261 1
getAssetPrice(address) 0 5574 7865 7865 1177
getAssetsPrices(address[]) 2286 3392 2286 5605 3
getFallbackOracle() 364 1030 364 2364 3
getSourceOfAsset(address) 550 1339 550 2550 119
setAssetSources(address[],address[]) 37323 52868 61918 62158 9
setFallbackOracle(address) 59524 59524 59524 59524 4

DefaultReserveInterestRateStrategyV2

  • size: 4323 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 228 228 228 228 5
MAX_BORROW_RATE() 239 239 239 239 27
MAX_OPTIMAL_POINT() 261 261 261 261 33
MIN_OPTIMAL_POINT() 260 260 260 260 33
calculateInterestRates((uint256,uint256,uint256,uint256,uint256,address,bool,uint256)) 0 3106 2251 5973 3255
getBaseVariableBorrowRate(address) 744 1559 744 2744 103
getInterestRateData(address) 1788 1788 1788 1788 1
getInterestRateDataBps(address) 983 983 983 983 1
getMaxVariableBorrowRate(address) 968 968 968 968 89
getOptimalUsageRatio(address) 734 754 734 2734 96
getVariableRateSlope1(address) 774 774 774 774 100
getVariableRateSlope2(address) 795 795 795 795 93
setInterestRateParams(address,(uint16,uint32,uint32,uint32)) 28329 29721 29092 36794 11
setInterestRateParams(address,bytes) 28674 33745 37121 37133 30

PriceOracleSentinel

  • size: 1980 / 49152
Method min mean median max calls
ADDRESSES_PROVIDER() 205 205 205 205 1
getGracePeriod() 301 301 301 301 1
getSequencerOracle() 341 341 341 341 1
isBorrowAllowed() 3808 5978 5985 10308 5
isLiquidationAllowed() 3763 5933 5940 10263 5
setGracePeriod(uint256) 36148 39043 39043 41938 2
setSequencerOracle(address) 33011 33527 33527 34043 2

InitializableImmutableAdminUpgradeabilityProxy

  • size: 2052 / 49152
Method min mean median max calls
admin() 21388 21388 21388 21388 8
fallback() 0 14787 1354 192256320 46250
upgradeTo(address) 26845 28735 28735 30625 2
upgradeToAndCall(address,bytes) 28747 152620 187393 187393 8

MockFlashLoanReceiver

  • size: 2570 / 49152
Method min mean median max calls
setFailExecutionTransfer(bool) 43635 43635 43635 43635 1
setSimulateEOA(bool) 43679 43679 43679 43679 1

MockFlashLoanSimpleReceiver

  • size: 1793 / 49152
Method min mean median max calls
setFailExecutionTransfer(bool) 43657 43657 43657 43657 1
setSimulateEOA(bool) 43679 43679 43679 43679 1

MockPoolInherited

  • size: 22516 / 49152
Method min mean median max calls
initialize(address) 28391 28391 28391 28391 2

MockAggregator

  • size: 310 / 49152
Method min mean median max calls
_latestAnswer() 315 315 315 315 76
decimals() 143 143 143 143 83
description() 168 168 168 168 83
latestAnswer() 279 2047 2279 2279 3225
name() 168 168 168 168 83

PriceOracle

  • size: 498 / 49152
Method min mean median max calls
getAssetPrice(address) 547 547 547 547 3
setAssetPrice(address,uint256) 25768 39062 45704 45716 3

SequencerOracle

  • size: 1358 / 49152
Method min mean median max calls
latestRoundData() 724 1527 729 4729 10
setAnswer(bool,uint256) 26203 27465 26203 46115 72

MockParaSwapAugustus

  • size: 3253 / 49152
Method min mean median max calls
expectBuy(address,address,uint256,uint256,uint256) 133433 133433 133433 133433 6
expectSwap(address,address,uint256,uint256,uint256) 133501 133514 133525 133525 9
getTokenTransferProxy() 238 238 238 238 15

MockParaSwapAugustusRegistry

  • size: 340 / 49152
Method min mean median max calls
isValidAugustus(address) 321 321 321 321 66

TestnetERC20

  • size: 5652 / 49152
Method min mean median max calls
DOMAIN_SEPARATOR() 2339 2339 2339 2339 1
allowance(address,address) 833 1944 2833 2833 9
approve(address,uint256) 26300 46551 46584 46584 3394
balanceOf(address) 648 1111 648 2648 1027
decimals() 311 2182 2311 2311 1732
mint(address,uint256) 36475 59093 53587 70795 3273
name() 3236 3236 3236 3236 8
nonces(address) 2601 2601 2601 2601 1
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) 76493 76511 76511 76529 2
symbol() 1323 2323 2323 3323 56
totalSupply() 348 748 348 2348 60
transfer(address,uint256) 46925 51017 51701 51701 7
transferOwnership(address) 28797 28797 28797 28797 31

MathUtilsWrapper

  • size: 946 / 49152
Method min mean median max calls
SECONDS_PER_YEAR() 223 223 223 223 1
calculateCompoundedInterest(uint256,uint40) 1837 1837 1837 1837 1
calculateCompoundedInterest(uint256,uint40,uint256) 577 1183 1183 1789 2
calculateLinearInterest(uint256,uint40) 666 666 666 666 1

PercentageMathWrapper

  • size: 326 / 49152
Method min mean median max calls
HALF_PERCENTAGE_FACTOR() 146 146 146 146 3
PERCENTAGE_FACTOR() 223 223 223 223 4
percentDiv(uint256,uint256) 428 428 428 428 4
percentMul(uint256,uint256) 431 431 431 431 4

WadRayMathWrapper

  • size: 845 / 49152
Method min mean median max calls
HALF_RAY() 246 246 246 246 1
HALF_WAD() 223 223 223 223 3
RAY() 224 224 224 224 1
WAD() 179 179 179 179 4
WAD_RAY_RATIO() 268 268 268 268 7
rayDiv(uint256,uint256) 494 494 494 494 4
rayMul(uint256,uint256) 497 497 497 497 3
rayToWad(uint256) 384 384 384 384 5
wadDiv(uint256,uint256) 538 538 538 538 5
wadMul(uint256,uint256) 431 431 431 431 7
wadToRay(uint256) 357 357 357 357 5

MockATokenRepayment

  • size: 11175 / 49152
Method min mean median max calls
RESERVE_TREASURY_ADDRESS() 419 419 419 419 1
getIncentivesController() 474 474 474 474 1
initialize(address,address,address,address,uint8,string,string,bytes) 61739 61739 61739 61739 1
name() 1259 1259 1259 1259 1
symbol() 1324 1324 1324 1324 1

MockVariableDebtToken

  • size: 8194 / 49152
Method min mean median max calls
getIncentivesController() 430 430 430 430 1
initialize(address,address,address,uint8,string,string,bytes) 56093 56093 56093 56093 1
name() 1259 1259 1259 1259 1
symbol() 1280 1280 1280 1280 1

MockScaledToken

  • size: 4790 / 49152
Method min mean median max calls
balanceOf(address) 584 584 584 584 4
setStorage(address,address,uint256,uint256,uint256) 67846 67846 67846 67846 1
transferWithIndex(address,address,uint256,uint256) 48893 48893 48893 48893 1

MockInitializableImple

  • size: 1576 / 49152
Method min mean median max calls
REVISION() 260 260 260 260 6
initialize(uint256,string,uint256[]) 157388 157388 157388 157388 6
setValue(uint256) 5255 5255 5255 5255 1
text() 1166 1166 1166 1166 6
upgradeTo(address) 169 169 169 169 1
upgradeToAndCall(address,bytes) 169 169 169 169 1
value() 317 317 317 317 7
values(uint256) 594 594 594 594 12

MockInitializableImpleV2

  • size: 1578 / 49152
Method min mean median max calls
REVISION() 260 260 260 260 2
initialize(uint256,string,uint256[]) 51991 51991 51991 51991 1
setValue(uint256) 5255 5255 5255 5255 2
text() 1166 1166 1166 1166 2
value() 317 317 317 317 4
values(uint256) 594 594 594 594 4

MockInitializableV1

  • size: 339 / 49152
Method min mean median max calls
initialize(address) 45128 45128 45128 45128 2

MockInitializableV2

  • size: 341 / 49152
Method min mean median max calls
initialize(address) 28031 28031 28031 28031 1

ACLManager

  • size: 4139 / 49152
Method min mean median max calls
DEFAULT_ADMIN_ROLE() 282 282 282 282 1456
FLASH_BORROWER_ROLE() 315 315 315 315 20
POOL_ADMIN_ROLE() 292 292 292 292 718
addAssetListingAdmin(address) 50955 50955 50955 50955 3
addBridge(address) 51021 51021 51021 51021 14
addEmergencyAdmin(address) 50956 50956 50956 50956 3
addFlashBorrower(address) 50977 52114 50977 55528 4
addPoolAdmin(address) 50988 50999 51000 51000 705
addRiskAdmin(address) 51021 51021 51021 51021 14
grantRole(bytes32,address) 51474 52044 51474 56036 8
hasRole(bytes32,address) 737 2526 2737 2737 19
isAssetListingAdmin(address) 809 1827 2809 2809 1400
isBridge(address) 2786 2786 2786 2786 26
isEmergencyAdmin(address) 742 2608 2742 2742 30
isFlashBorrower(address) 2828 2828 2828 2828 13
isPoolAdmin(address) 752 845 752 2752 23827
isRiskAdmin(address) 742 836 742 2742 20873
removeAssetListingAdmin(address) 29047 29047 29047 29047 2
removeBridge(address) 29016 29016 29016 29016 1
removeEmergencyAdmin(address) 28992 28992 28992 28992 1
removeFlashBorrower(address) 29015 42272 42272 55529 2
removePoolAdmin(address) 29045 29045 29045 29045 1
removeRiskAdmin(address) 28992 28992 28992 28992 1
setRoleAdmin(bytes32,bytes32) 48883 49717 48883 53887 6

PoolAddressesProvider

  • size: 8177 / 49152
Method min mean median max calls
getACLAdmin() 477 551 477 2477 750
getACLManager() 531 627 531 2531 23868
getAddress(bytes32) 543 872 543 2543 5984
getMarketId() 1346 1346 1346 1346 6
getPool() 466 1110 466 2466 5296
getPoolConfigurator() 509 569 509 2509 36127
getPoolDataProvider() 486 1168 486 2486 2146
getPriceOracle() 574 2147 2574 2574 769
getPriceOracleSentinel() 487 2387 2487 2487 342
owner() 363 363 363 363 723
setACLAdmin(address) 24013 46933 47617 47617 64
setACLManager(address) 24056 37484 39110 47660 4
setAddress(bytes32,address) 24622 35608 31536 48636 5
setAddressAsProxy(bytes32,address) 24328 224316 57038 507830 5
setMarketId(string) 24420 28552 28552 32685 2
setPoolConfiguratorImpl(address) 24012 287005 295057 533894 4
setPoolDataProvider(address) 24101 37529 39155 47705 4
setPoolImpl(address) 24057 273450 281500 506744 4
setPriceOracle(address) 24080 37508 39134 47684 4
setPriceOracleSentinel(address) 24123 40943 47727 47727 6

PoolAddressesProviderRegistry

  • size: 2641 / 49152
Method min mean median max calls
getAddressesProviderAddressById(uint256) 519 519 519 519 4
getAddressesProviderIdByAddress(address) 556 1222 556 2556 6
getAddressesProvidersList() 671 3400 3288 5014 5
owner() 329 2323 2329 2329 720
registerAddressesProvider(address,uint256) 24438 104006 119920 119920 6
unregisterAddressesProvider(address) 26441 39021 39997 49652 4

EmissionManager

  • size: 3948 / 49152
Method min mean median max calls
configureAssets((uint88,uint256,uint32,address,address,address,address)[]) 284134 287763 289908 289908 32
getEmissionAdmin(address) 547 547 547 547 6
getRewardsController() 385 1385 1385 2385 2
owner() 384 384 384 384 2
setClaimer(address,address) 58795 58795 58795 58795 5
setDistributionEnd(address,address,uint32) 43712 43712 43712 43712 2
setEmissionAdmin(address,address) 48602 48609 48614 48614 42
setEmissionPerSecond(address,address[],uint88[]) 60987 60987 60987 60987 2
setRewardOracle(address,address) 46875 46875 46875 46875 2
setRewardsController(address) 28729 28729 28729 28729 1
setTransferStrategy(address,address) 44422 44422 44422 44422 2

RewardsController

  • size: 14452 / 49152
Method min mean median max calls
EMISSION_MANAGER() 326 326 326 326 722
claimAllRewards(address[],address) 92263 92263 92263 92263 1
claimAllRewardsOnBehalf(address[],address,address) 94562 94562 94562 94562 1
claimAllRewardsToSelf(address[]) 92062 92062 92062 92062 1
claimRewards(address[],uint256,address,address) 952 56925 84899 97899 7
claimRewardsOnBehalf(address[],uint256,address,address,address) 88363 88363 88363 88363 1
claimRewardsToSelf(address[],uint256,address) 85866 85866 85866 85866 1
configureAssets((uint88,uint256,uint32,address,address,address,address)[]) 246530 250101 252244 252244 32
getAllUserRewards(address[],address) 8567 8567 8567 8567 1
getAssetDecimals(address) 656 656 656 656 2
getAssetIndex(address,address) 2484 7555 8974 11392 44
getClaimer(address) 625 1625 1625 2625 4
getDistributionEnd(address,address) 789 789 789 789 1
getEmissionManager() 258 258 258 258 5
getRewardOracle(address) 649 649 649 649 1
getRewardsByAsset(address) 1768 2999 3046 5768 122
getRewardsData(address,address) 976 976 976 976 3
getRewardsList() 1111 1111 1111 1111 30
getTransferStrategy(address) 648 648 648 648 1
getUserAccruedRewards(address,address) 1641 1641 1641 1641 1
getUserAssetIndex(address,address,address) 1005 1005 1005 1005 1
getUserRewards(address[],address,address) 6793 7662 6793 12368 12
handleAction(address,uint256,uint256) 728 2595 2728 38069 1320
initialize(address) 26065 45245 45250 53154 720
setClaimer(address,address) 24279 24279 24279 24279 5
setDistributionEnd(address,address,uint32) 8884 8884 8884 8884 2
setEmissionPerSecond(address,address[],uint88[]) 24303 24303 24303 24303 2
setRewardOracle(address,address) 12318 12318 12318 12318 2
setTransferStrategy(address,address) 9855 9855 9855 9855 2

PullRewardsTransferStrategy

  • size: 1577 / 49152
Method min mean median max calls
getRewardsVault() 278 278 278 278 1

StakedTokenTransferStrategy

  • size: 2866 / 49152
Method min mean median max calls
dropApproval() 25881 25881 25881 25881 1
emergencyWithdrawal(address,address,uint256) 52967 52967 52967 52967 1
getIncentivesController() 246 246 246 246 1
getRewardsAdmin() 234 234 234 234 1
getStakeContract() 256 256 256 256 1
getUnderlyingToken() 278 278 278 278 1
performTransfer(address,address,uint256) 27084 27084 27084 27084 1
renewApproval() 27973 27973 27973 27973 1

Collector

  • size: 7271 / 49152
Method min mean median max calls
FUNDS_ADMIN_ROLE() 245 245 245 245 81
approve(address,address,uint256) 2941 17790 17790 32640 8
balanceOf(uint256,address) 3754 3942 3942 4131 4
cancelStream(uint256) 7637 42840 35368 92988 4
createStream(address,uint256,address,uint256,uint256) 2916 122840 206717 206717 17
getNextStreamId() 2326 2326 2326 2326 1
getStream(uint256) 679 1420 1290 2679 6
grantRole(bytes32,address) 29754 29754 29754 29754 80
hasRole(bytes32,address) 705 705 705 705 1
initialize(uint256,address) 71748 92690 93857 93857 758
isFundsAdmin(address) 2809 2809 2809 2809 3
transfer(address,address,uint256) 2964 20016 20016 37068 8
withdrawFromStream(uint256,uint256) 7682 36012 20516 89090 6

RevenueSplitter

  • size: 2355 / 49152
Method min mean median max calls
RECIPIENT_A() 237 237 237 237 3
RECIPIENT_B() 281 281 281 281 3
SPLIT_PERCENTAGE_RECIPIENT_A() 170 170 170 170 18
receive() 0 0 0 0 3
splitNativeRevenue() 23633 69147 80156 92645 4
splitRevenue(address[]) 24246 76565 58340 135765 8

AaveV3GettersBatchOne

  • size: 32657 / 49152
Method min mean median max calls
getGettersReportOne() 968 968 968 968 742

AaveV3GettersBatchTwo

  • size: 11284 / 49152
Method min mean median max calls
getGettersReportTwo() 533 533 533 533 716

AaveV3HelpersBatchOne

  • size: 34331 / 49152
Method min mean median max calls
getConfigEngineReport() 1693 1693 1693 1693 690

AaveV3HelpersBatchTwo

  • size: 31319 / 49152
Method min mean median max calls
staticATokenReport() 968 968 968 968 690

AaveV3L2PoolBatch

  • size: 43985 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 76

AaveV3MiscBatch

  • size: 6958 / 49152
Method min mean median max calls
getMiscReport() 533 533 533 533 742

AaveV3ParaswapBatch

  • size: 31124 / 49152
Method min mean median max calls
getParaswapReport() 757 757 757 757 34

AaveV3PeripheryBatch

  • size: 26555 / 49152
Method min mean median max calls
getPeripheryReport() 968 970 968 2968 742

AaveV3PoolBatch

  • size: 42738 / 49152
Method min mean median max calls
getPoolReport() 533 533 533 533 666

AaveV3SetupBatch

  • size: 39666 / 49152
Method min mean median max calls
getInitialReport() 552 552 552 552 742
setMarketReport((address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address)) 629994 632329 629994 750846 690
setupAaveV3Market((address,address,address),(address,address,string,uint8,address,address,uint256,uint256,bytes32,address,address,uint128,uint128,address,address,address,uint16),address,address,address,address,address,address,address) 4079525 4573887 4572693 5037728 718

AaveV3TokensBatch

  • size: 20353 / 49152
Method min mean median max calls
getTokensReport() 533 533 533 533 716

MockERC20AaveLMUpgradeable

  • size: 8658 / 49152
Method min mean median max calls
claimRewards(address,address[]) 58636 58636 58636 58636 1
claimRewardsOnBehalf(address,address,address[]) 34383 52148 59174 62888 3
claimRewardsToSelf(address[]) 172901 172901 172901 172901 1
collectAndUpdateRewards(address) 48341 89398 89398 130455 2
getClaimableRewards(address,address) 6203 8042 6589 26280 16
getReferenceAsset() 2495 2495 2495 2495 1
getTotalClaimableRewards(address) 11376 18015 18015 24654 2
getUnclaimedRewards(address,address) 818 818 818 818 2
isRegisteredRewardToken(address) 575 1241 575 2575 3
mint(address,uint256) 53655 91181 97646 97646 11
mockInit(address) 79952 79952 79952 79952 17
refreshRewardTokens() 116549 116590 116557 116975 12
rewardTokens() 1012 1012 1012 1012 1
transfer(address,uint256) 60612 81856 81856 103101 2

MockScaledTestnetERC20

  • size: 5780 / 49152
Method min mean median max calls
decimals() 2333 2333 2333 2333 12
getScaledUserBalanceAndSupply(address) 735 3535 4735 4735 5
mint(address,uint256) 51476 67059 68648 68648 11
scaledTotalSupply() 394 1848 2394 2394 55
transfer(address,uint256) 29803 45406 46975 46975 11

MockERC4626StataTokenUpgradeable

  • size: 10278 / 49152
Method min mean median max calls
approve(address,uint256) 46495 46495 46495 46495 2
balanceOf(address) 607 607 607 607 11
convertToAssets(uint256) 2937 2937 2937 2937 1
convertToShares(uint256) 15938 15938 15938 15938 1
decimals() 540 540 540 540 1
depositATokens(uint256,address) 59688 198594 210752 215806 12
depositWithPermit(uint256,address,uint256,(uint8,bytes32,bytes32),bool) 76019 248459 266978 353916 5
latestAnswer() 19765 19765 19765 19765 2
maxDeposit(address) 28852 32396 29121 42493 4
maxMint(address) 9466 9466 9466 9466 1
maxRedeem(address) 2593 5823 7434 7444 3
mint(uint256,address) 74703 193698 193698 312693 2
mockInit(address) 134255 134255 134255 134255 28
previewDeposit(uint256) 2981 11647 15981 15981 3
previewMint(uint256) 2977 2977 2977 2977 1
previewRedeem(uint256) 2913 2913 2913 2913 2
previewWithdraw(uint256) 2959 2959 2959 2959 1
redeem(uint256,address,address) 174667 174667 174667 174667 1
redeemATokens(uint256,address,address) 40863 121379 161203 162073 3
totalAssets() 2930 7930 2930 17930 3
withdraw(uint256,address,address) 51155 114391 114391 177627 2

AaveV3MockAssetEModeUpdate

  • size: 3745 / 49152
Method min mean median max calls
execute() 217757 217757 217757 217757 1

AaveV3MockBorrowUpdate

  • size: 3555 / 49152
Method min mean median max calls
execute() 159137 159137 159137 159137 1

AaveV3MockBorrowUpdateNoChange

  • size: 3585 / 49152
Method min mean median max calls
execute() 47048 47048 47048 47048 1

AaveV3MockCapUpdate

  • size: 3499 / 49152
Method min mean median max calls
execute() 85927 85927 85927 85927 1

AaveV3MockCollateralUpdate

  • size: 3559 / 49152
Method min mean median max calls
execute() 89599 89599 89599 89599 1

AaveV3MockCollateralUpdateNoChange

  • size: 3586 / 49152
Method min mean median max calls
execute() 35864 35864 35864 35864 2

AaveV3MockCollateralUpdateCorrectBonus

  • size: 3559 / 49152
Method min mean median max calls
execute() 89599 89599 89599 89599 1

AaveV3MockCollateralUpdateWrongBonus

  • size: 3563 / 49152
Method min mean median max calls
execute() 35285 35285 35285 35285 1

AaveV3MockEModeCategoryUpdate

  • size: 3329 / 49152
Method min mean median max calls
execute() 128344 128344 128344 128344 2

AaveV3MockEModeCategoryUpdateEdgeBonus

  • size: 3332 / 49152
Method min mean median max calls
execute() 55082 55082 55082 55082 1

AaveV3MockEModeCategoryUpdateNoChange

  • size: 3391 / 49152
Method min mean median max calls
execute() 37816 37816 37816 37816 2

AaveV3MockListing

  • size: 3923 / 49152
Method min mean median max calls
execute() 1795274 1795274 1795274 1795274 1
newListings() 2697 2697 2697 2697 4

AaveV3MockListingCustom

  • size: 4363 / 49152
Method min mean median max calls
execute() 1795295 1795295 1795295 1795295 1
newListingsCustom() 3170 3170 3170 3170 4

AaveV3MockPriceFeedUpdate

  • size: 3594 / 49152
Method min mean median max calls
execute() 65289 65289 65289 65289 1

AaveV3MockRatesUpdate

  • size: 3517 / 49152
Method min mean median max calls
execute() 151474 151474 151474 151474 1
rateStrategiesUpdates() 1175 1175 1175 1175 4

VariableDebtTokenHarness

  • size: 8210 / 49152
Method min mean median max calls
DEBT_TOKEN_REVISION() 305 305 305 305 15
POOL() 282 282 282 282 15
UNDERLYING_ASSET_ADDRESS() 375 1322 375 2375 19
allowance(address,address) 902 902 902 902 1
approve(address,uint256) 22100 22100 22100 22100 1
approveDelegation(address,uint256) 48653 48653 48653 48653 1
burn(address,uint256,uint256) 52003 52015 52015 52027 2
decimals() 334 334 334 334 15
decreaseAllowance(address,uint256) 22121 22121 22121 22121 1
getIncentivesController() 430 430 430 430 15
increaseAllowance(address,uint256) 22121 22121 22121 22121 1
initialize(address,address,address,uint8,string,string,bytes) 30465 137845 156537 202407 8
mint(address,address,uint256,uint256) 86731 88013 86779 91766 4
name() 1259 1294 1259 1789 15
scaledBalanceOf(address) 687 687 687 687 4
symbol() 1025 1322 1280 1575 15
transfer(address,uint256) 22143 22143 22143 22143 1
transferFrom(address,address,uint256) 22369 22369 22369 22369 1

AaveV3TestListing

  • size: 13561 / 49152
Method min mean median max calls
USDX_ADDRESS() 293 293 293 293 682
WBTC_ADDRESS() 249 249 249 249 682
execute() 5115928 5116792 5116858 5116858 685

AugustusRegistryMock

  • size: 190 / 49152
Method min mean median max calls
isValidAugustus(address) 342 342 342 342 108

StakeMock

  • size: 384 / 49152
Method min mean median max calls
STAKED_TOKEN() 175 175 175 175 5

EIP712SigUtils

  • size: 1616 / 49152
Method min mean median max calls
getDomainSeparator(bytes,bytes,address) 1487 1487 1487 1487 2

SlotParser

  • size: 383 / 49152

| Method | min | mean | median | ...[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]>
@sakulstra sakulstra changed the title feat: Collector revision-6 Upgrade. (#82) feat: Collector Upgrade. (#82) Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants