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

Update METADEPOSIT_TYPEHASH #44

Merged
merged 2 commits into from
Aug 7, 2024
Merged

Conversation

kyzia551
Copy link
Contributor

@kyzia551 kyzia551 commented Aug 7, 2024

After continuous internal discussion, we decided to exclude permit data from METADEPOSIT_TYPEHASH, because it gets validated on the third-party contract and signed by the user independently.

Also metaDeposit function has try-catch around permit execution to prevent griefing, and enforcing depositor's and stataToken data on it

Copy link

github-actions bot commented Aug 7, 2024

Foundry report

forge 0.2.0 (4351742 2024-08-07T00:20:56.277958970Z)
Build log
Compiling 380 files with Solc 0.8.19
Solc 0.8.19 finished in 97.39s
Compiler run successful with warnings:
Warning (5740): Unreachable code.
  --> src/periphery/contracts/dependencies/openzeppelin/ReentrancyGuard.sol:61:5:
   |
61 |     _status = _NOT_ENTERED;
   |     ^^^^^^^^^^^^^^^^^^^^^^
Test success 🌈
No files changed, compilation skipped

Ran 20 tests for tests/core/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20708)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65556)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37672)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37619)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37739)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37736)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29480)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29552)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29464)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29499)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29453)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91952)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76510)
[PASS] test_remove_riskAdmin() (gas: 29480)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 73230)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1501515)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 99205)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125600)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 115771)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 9.64ms (2.94ms CPU time)

Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 261764)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 53.72ms (407.74µs CPU time)

Ran 11 tests for tests/core/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 578317)
[PASS] test_full_withdraw() (gas: 248488)
[PASS] test_full_withdraw_to() (gas: 254032)
[PASS] test_partial_withdraw() (gas: 245010)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 711747)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 261419)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 263488)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 219952)
[PASS] test_reverts_withdraw_reservePaused() (gas: 301069)
[PASS] test_reverts_withdraw_to_atoken() (gas: 261238)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 261883)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 56.03ms (7.95ms CPU time)

Ran 17 tests for tests/core/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45139)
[PASS] testApproveMax() (gas: 45244)
[PASS] testApproveWithZeroAddressSpender() (gas: 42177)
[PASS] testCheckGetters() (gas: 272011)
[PASS] testDecreaseAllowance() (gas: 53103)
[PASS] testIncreaseAllowance() (gas: 53147)
[PASS] testIncreaseAllowanceFromZero() (gas: 48450)
[PASS] testMintToTreasury_amount_zero() (gas: 15809)
[PASS] testTransferFromZeroAmount() (gas: 129551)
[PASS] test_burn_zeroAddress() (gas: 266604)
[PASS] test_mintToZeroAddress() (gas: 82322)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35873)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40453)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19463)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19608)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129385)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16482)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 68.64ms (3.07ms CPU time)

Ran 12 tests for tests/core/BridgeLogic.t.sol:BridgeLogicTests
[PASS] test_backUnbacked_but_unbacked_is_zero_with_fee() (gas: 202394)
[PASS] test_backUnbacked_but_unbacked_is_zero_with_only_fee() (gas: 202497)
[PASS] test_backUnbacked_but_unbacked_is_zero_without_fee() (gas: 167843)
[PASS] test_backUnbacked_onlyFee() (gas: 373129)
[PASS] test_backUnbacked_withFee() (gas: 373243)
[PASS] test_backUnbacked_withoutFee() (gas: 350607)
[PASS] test_multiple_backUnbacked() (gas: 659140)
[PASS] test_multiple_unbackedMint_with_cap() (gas: 500676)
[PASS] test_revert_multiple_unbackedMint_with_cap() (gas: 441248)
[PASS] test_revert_unathorized_unbackedMint() (gas: 30680)
[PASS] test_revert_unbackedMint_zero_cap() (gas: 99181)
[PASS] test_unbackedMint_with_cap() (gas: 279518)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 60.60ms (13.22ms CPU time)

Ran 8 tests for tests/core/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 588436)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 681884)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 599118)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 266939)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 601922)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 259742)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 657726)
[PASS] test_mintToTreasury_events() (gas: 90235)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 54.35ms (12.37ms CPU time)

Ran 13 tests for tests/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4827163)
[PASS] test10ConfigEngineDeployment() (gas: 7154681)
[PASS] test11StaticATokenDeployment() (gas: 6831879)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 7540833)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2296629)
[PASS] test3AaveV3PoolDeployment() (gas: 9057735)
[PASS] test4AaveV3L2PoolDeployment() (gas: 9349045)
[PASS] test5PeripheralsRelease() (gas: 7001175)
[PASS] test6MiscDeployment() (gas: 1429036)
[PASS] test7ParaswapDeployment() (gas: 5988176)
[PASS] test8SetupMarket() (gas: 2783917)
[PASS] test9TokensMarket() (gas: 5138969)
[PASS] testCheckInitCodeSizeBatchs() (gas: 1053545)
Logs:
  AaveV3SetupBatch 26315
  AaveV3L2PoolBatch 46144
  AaveV3PoolBatch 44694
  AaveV3PeripheryBatch 38221
  AaveV3MiscBatch 7213
  AaveV3ParaswapBatch 33014
  AaveV3GettersBatchOne 37558
  AaveV3GettersBatchTwo 12045
  AaveV3TokensBatch 27018
  AaveV3HelpersBatchOne 36589
  AaveV3HelpersBatchTwo 32261

Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 19.79ms (7.40ms CPU time)

Ran 9 tests for tests/periphery/EmissionsManager.t.sol:EmissionManagerTest
[PASS] test_configureAssets() (gas: 602211)
[PASS] test_new_EmissionManager() (gas: 776194)
[PASS] test_setClaimer() (gas: 51492)
[PASS] test_setDistributionEnd() (gas: 609486)
[PASS] test_setEmissionAdmin() (gas: 43028)
[PASS] test_setEmissionPerSecond() (gas: 616073)
[PASS] test_setRewardOracle() (gas: 692195)
[PASS] test_setRewardsController() (gas: 19144)
[PASS] test_setTransferStrategy() (gas: 896480)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 44.49ms (1.86ms CPU time)

Ran 6 tests for tests/core/InitializableImmutableAdminUpgradeabilityProxy.t.sol:InitializableImmutableAdminUpgradeabilityProxyTests
[PASS] test_proxy_fallback() (gas: 609072)
[PASS] test_proxy_upgradeTo() (gas: 631037)
[PASS] test_proxy_upgradeToAndCall() (gas: 636947)
[PASS] test_proxy_upgradeToAndCall_initialize() (gas: 606146)
[PASS] test_reverts_upgradeToAndCall_notAdmin() (gas: 611973)
[PASS] test_reverts_upgradeTo_notAdmin() (gas: 609855)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.21ms (1.70ms CPU time)

Ran 4 tests for tests/core/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17111)
[PASS] test_revert_notAdmin_mint() (gas: 17206)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17237)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17041)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 89.48ms (251.84µs CPU time)

Ran 9 tests for tests/core/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26218)
[PASS] test_cancelPermit() (gas: 100921)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 33005)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46835)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47317)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55246)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46596)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 55002)
[PASS] test_submitPermit() (gas: 94399)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 59.49ms (3.96ms CPU time)

Ran 3 tests for tests/core/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 290908)
[PASS] test_repay_partialDebt() (gas: 290911)
[PASS] test_revert_repay_withoutFunds() (gas: 196771)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 92.55ms (1.83ms CPU time)

Ran 3 tests for tests/core/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 78031)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70952)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71677)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 71.70ms (568.14µs CPU time)

Ran 37 tests for tests/core/Pool.t.sol:PoolTests
[PASS] test_dropReserve() (gas: 114537)
[PASS] test_getBorrowLogic() (gas: 13657)
[PASS] test_getBridgeLogic() (gas: 13699)
[PASS] test_getEModeLogic() (gas: 13634)
[PASS] test_getFlashLoanLogic() (gas: 13613)
[PASS] test_getLiquidationLogic() (gas: 13680)
[PASS] test_getPoolLogic() (gas: 13744)
[PASS] test_getSupplyLogic() (gas: 13634)
[PASS] test_getVirtualUnderlyingBalance() (gas: 260739)
[PASS] test_getters_getUserAccountData() (gas: 626530)
[PASS] test_mintToTreasury() (gas: 728042)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 732752)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 306918)
[PASS] test_pool_defaultValues() (gas: 4645956)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81891, ~: 82196)
[PASS] test_resetIsolationModeTotalDebt() (gas: 755357)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25654, ~: 25654)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 128247, ~: 128247)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4634770)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40900, ~: 40900)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22786, ~: 22786)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 978186)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 628342)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 313084)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 232606)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 307917)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 82802)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 817959)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36951, ~: 37061)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27177, ~: 27177)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 960881)
[PASS] test_setUserEmode() (gas: 215689)
[PASS] test_setUserEmode_twice() (gas: 338428)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 959077)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 252486)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 292016)
[PASS] test_updateBridgeProtocolFee() (gas: 254)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.16s (1.10s CPU time)

Ran 22 tests for tests/core/PoolAddressesProvider.t.sol:PoolAddressesProviderTests
[PASS] test_PoolDataProvider_changeContract() (gas: 1504494)
[PASS] test_getter_getMarketId() (gas: 1466834)
[PASS] test_new_PoolAddressesProvider() (gas: 1476113)
[PASS] test_reverts_setAddressAsProxy_notAuth() (gas: 1480306)
[PASS] test_reverts_setAddress_noAuth() (gas: 1485504)
[PASS] test_reverts_setters_notOwner() (gas: 1483152)
[PASS] test_setACLManager_changeContract() (gas: 3077524)
[PASS] test_setACLManager_setACLAdmin() (gas: 2295674)
[PASS] test_setAddress() (gas: 1494352)
[PASS] test_setAddressAsProxy_new_proxy() (gas: 2064702)
[PASS] test_setAddressAsProxy_upgrade_proxy() (gas: 2178805)
[PASS] test_setAddress_updateAddress() (gas: 1503510)
[PASS] test_setPoolConfiguratorImpl() (gas: 6249979)
[PASS] test_setPoolConfiguratorImpl_upgrade() (gas: 10927768)
[PASS] test_setPoolDataProvider() (gas: 1494897)
[PASS] test_setPoolImpl() (gas: 6570876)
[PASS] test_setPoolImpl_upgrade() (gas: 11226411)
[PASS] test_setPriceOracle() (gas: 1495032)
[PASS] test_setPriceOracleSentinel() (gas: 1494925)
[PASS] test_setPriceOracleSentinel_changeContract() (gas: 1504549)
[PASS] test_setPriceOracle_changeContract() (gas: 1504832)
[PASS] test_setter_setMarketId() (gas: 1478084)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 80.51ms (20.45ms CPU time)

Ran 11 tests for tests/core/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 162110)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 250607)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 172888)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 248634)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81603)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81646)
[PASS] test_atoken_multiple_transfers() (gas: 201449)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 404185, ~: 408111)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 565515)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 419711)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 420541)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.47s (1.38s CPU time)

Ran 12 tests for tests/core/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 949453)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1091050)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1111001)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 933561)
[PASS] testEmptySource() (gas: 837983)
[PASS] testGetBaseCurrencyPrice() (gas: 12326)
[PASS] testGetPriceViaFallbackOracle() (gas: 1014098)
[PASS] testUpdateFallbackOracle() (gas: 181042)
[PASS] testUpdateSingleSource() (gas: 128196)
[PASS] testUpdateSourceBaseCurrency() (gas: 139684)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 834379)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24595)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 85.34ms (2.37ms CPU time)

Ran 3 tests for tests/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 59231875)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 69464862)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 71435609)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 218.93ms (201.42ms CPU time)

Ran 12 tests for tests/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4827250)
[PASS] test10StaticATokenDeployment() (gas: 6831973)
[PASS] test1AaveV3GettersDeployment() (gas: 8958323)
[PASS] test2AaveV3PoolDeployment() (gas: 9057791)
[PASS] test3AaveV3L2PoolDeployment() (gas: 9349122)
[PASS] test4PeripheralsRelease() (gas: 7001197)
[PASS] test5MiscDeployment() (gas: 988959)
[PASS] test6ParaswapRelease() (gas: 5988176)
[PASS] test7SetupMarket() (gas: 2759406)
[PASS] test8TokensMarket() (gas: 5138777)
[PASS] test9ConfigEngineDeployment() (gas: 7154747)
[PASS] testAaveV3FullBatchOrchestration() (gas: 59229410)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 50.44ms (25.41ms CPU time)
2024-08-07T14:00:44.623530Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineAssetEModeUpdate.json", "./reports/postTestEngineAssetEModeUpdate.json", "-o", "./diffs/preTestEngineAssetEModeUpdate_postTestEngineAssetEModeUpdate.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineAssetEModeUpdate_postTestEngineAssetEModeUpdate.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineAssetEModeUpdate_postTestEngineAssetEModeUpdate.md'
}

Node.js v18.20.4
"

Ran 26 tests for tests/core/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38774, ~: 38774)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 36205, ~: 36205)
[PASS] test_reverts_notAdmin_initReserves(address) (runs: 1000, μ: 39024, ~: 39024)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 36355, ~: 36355)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 35312, ~: 35312)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumProtocol(address) (runs: 1000, μ: 34123, ~: 34123)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 34054, ~: 34054)
[PASS] test_reverts_notAdmin_updateStableDebtToken(address) (runs: 1000, μ: 35094, ~: 35094)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 35204, ~: 35204)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38717, ~: 38717)
[PASS] test_reverts_notRiskAdmin_setAssetEModeCategory(address) (runs: 1000, μ: 38770, ~: 38770)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38641, ~: 38641)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 39290, ~: 39290)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38682, ~: 38682)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38665, ~: 38665)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 39343, ~: 39343)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateStrategyAddress(address) (runs: 1000, μ: 39408, ~: 39408)
[PASS] test_reverts_notRiskAdmin_setReserveStableRateBorrowing(address) (runs: 1000, μ: 38770, ~: 38770)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38687, ~: 38687)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 43200, ~: 43200)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38687, ~: 38687)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38702, ~: 38702)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 56412, ~: 56412)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38889, ~: 38889)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 39009, ~: 39009)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 39053, ~: 39053)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 3.25s (3.17s CPU time)

Ran 10 tests for tests/core/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 332041)
[PASS] test_borrow_interests_reach_cap() (gas: 334103)
[PASS] test_borrow_lt_cap() (gas: 312997)
[PASS] test_default_borrowCap_zero() (gas: 27532)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 384883)
[PASS] test_reverts_borrow_gt_cap() (gas: 154099)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48745)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35582)
[PASS] test_setBorrowCap() (gas: 78888)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 333628)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 45.35ms (5.30ms CPU time)

Ran 16 tests for tests/core/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_configureEmodeCategory() (gas: 137323)
[PASS] test_removeEModeCategoryFromAsset() (gas: 177968)
[PASS] test_reverts_configureEmodeCategory_bad_lq() (gas: 170150)
[PASS] test_reverts_configureEmodeCategory_bad_ltv() (gas: 170032)
[PASS] test_reverts_configureEmodeCategory_input_lt_lt_reserve_emode_lt() (gas: 167417)
[PASS] test_reverts_configureEmodeCategory_input_ltv_lt_reserve_emode_ltv() (gas: 175243)
[PASS] test_reverts_configureEmodeCategory_input_ltv_lt_reserve_emode_pendingLtv() (gas: 213939)
[PASS] test_reverts_setAssetEModeCategory_invalid() (gas: 139383)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 59915)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35964)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 34539)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 34434)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 34347)
[PASS] test_setAssetEModeCategory() (gas: 164660)
[PASS] test_updateAssetEModeCategory() (gas: 257554)
[PASS] test_updateEModeCategory() (gas: 179075)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 44.51ms (6.86ms CPU time)
2024-08-07T14:00:46.075921Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineBorrowNoChange.json", "./reports/postTestEngineBorrowNoChange.json", "-o", "./diffs/preTestEngineBorrowNoChange_postTestEngineBorrowNoChange.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineBorrowNoChange_postTestEngineBorrowNoChange.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineBorrowNoChange_postTestEngineBorrowNoChange.md'
}

Node.js v18.20.4
"

Ran 49 tests for tests/core/L2Pool.t.sol:L2PoolTests
[PASS] test_dropReserve() (gas: 114572)
[PASS] test_getBorrowLogic() (gas: 13658)
[PASS] test_getBridgeLogic() (gas: 13678)
[PASS] test_getEModeLogic() (gas: 13635)
[PASS] test_getFlashLoanLogic() (gas: 13656)
[PASS] test_getLiquidationLogic() (gas: 13745)
[PASS] test_getPoolLogic() (gas: 13678)
[PASS] test_getSupplyLogic() (gas: 13657)
[PASS] test_getVirtualUnderlyingBalance() (gas: 260689)
[PASS] test_getters_getUserAccountData() (gas: 626618)
[PASS] test_l2_borrow() (gas: 447895)
[PASS] test_l2_liquidationCall() (gas: 1168914)
[PASS] test_l2_partial_withdraw() (gas: 320233)
[PASS] test_l2_rebalance_borrow() (gas: 101580)
[PASS] test_l2_repay() (gas: 481285)
[PASS] test_l2_repay_atokens() (gas: 488577)
[PASS] test_l2_repay_permit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 662273, ~: 672954)
[PASS] test_l2_set_user_collateral() (gas: 276801)
[PASS] test_l2_supply() (gas: 258148)
[PASS] test_l2_supply_permit(uint128,uint128) (runs: 1000, μ: 432609, ~: 432613)
[PASS] test_l2_swap_borrow_rate() (gas: 644488)
[PASS] test_l2_withdraw() (gas: 253540)
[PASS] test_mintToTreasury() (gas: 728548)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 733192)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 307178)
[PASS] test_pool_defaultValues() (gas: 4645967)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81950, ~: 82239)
[PASS] test_resetIsolationModeTotalDebt() (gas: 756024)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25675, ~: 25675)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 128514, ~: 128514)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4634792)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 40790, ~: 40790)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22787, ~: 22787)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 978028)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 628494)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 313202)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 232527)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 308035)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 82911)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 818106)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 36922, ~: 36995)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27155, ~: 27155)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 960880)
[PASS] test_setUserEmode() (gas: 215577)
[PASS] test_setUserEmode_twice() (gas: 338048)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 958871)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 252529)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 292167)
[PASS] test_updateBridgeProtocolFee() (gas: 188)
Suite result: ok. 49 passed; 0 failed; 0 skipped; finished in 6.48s (6.44s CPU time)

Ran 5 tests for tests/core/MathUtils.t.sol:MathUtilsTests
[PASS] test_calculateCompoundInterest_1() (gas: 10358)
[PASS] test_calculateCompoundInterest_2() (gas: 10355)
[PASS] test_calculateCompoundInterest_edge() (gas: 9177)
[PASS] test_calculateLinearInterest() (gas: 9220)
[PASS] test_constants() (gas: 8338)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.43ms (213.70µs CPU time)

Ran 5 tests for tests/core/PoolConfigurator.initReserves.t.sol:PoolConfiguratorInitReservesTest
[PASS] test_initReserves_multipleAssets() (gas: 12382418)
[PASS] test_initReserves_notEnoughDecimal(uint8) (runs: 1000, μ: 1000881, ~: 1000881)
[PASS] test_initReserves_singleAsset(bool) (runs: 1000, μ: 3167546, ~: 3167551)
[PASS] test_initReserves_zeroAssets() (gas: 62605)
[PASS] test_reverts_initReserves_maxAssets() (gas: 385967012)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.11s (2.07s CPU time)

Ran 22 tests for tests/periphery/ParaswapAdapters.t.sol:ParaswapAdaptersTest
[PASS] test_batchClaimToCollector() (gas: 90020)
[PASS] test_batchGetClaimable() (gas: 49436)
[PASS] test_claimToCollector() (gas: 90760)
[PASS] test_getClaimable() (gas: 46540)
[PASS] test_getters() (gas: 13875)
[PASS] test_rescueTokens() (gas: 203756)
[PASS] test_reverts_offset_out_of_range_swap_liquidity_permit_flashloan() (gas: 775711)
[PASS] test_reverts_swapAndDeposit_offset() (gas: 849979)
[PASS] test_reverts_swapAndRepay_offset_out_of_range() (gas: 961322)
[PASS] test_reverts_withdrawAndSwap_offset_out_of_range() (gas: 829870)
[PASS] test_swapAndDeposit() (gas: 934908)
[PASS] test_swapAndDeposit_permit() (gas: 982033)
[PASS] test_swapAndRepay() (gas: 1042211)
[PASS] test_swapAndRepay_flashloan() (gas: 1134736)
[PASS] test_swapAndRepay_flashloan_permit() (gas: 1177382)
[PASS] test_swapAndRepay_no_collateral_leftovers() (gas: 1114843)
[PASS] test_swapAndRepay_permit() (gas: 1089268)
[PASS] test_swap_liquidity_flashloan() (gas: 1048918)
[PASS] test_swap_liquidity_permit_flashloan() (gas: 1091521)
[PASS] test_withdrawAndSwap() (gas: 848882)
[PASS] test_withdrawAndSwap_permit() (gas: 892088)
[PASS] test_withdrawSwapAdapter_reverts_flashloan() (gas: 557739)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 91.11ms (42.75ms CPU time)

Ran 4 tests for tests/core/PoolConfigurator.liquidationFee.t.sol:PoolConfiguratorLiquidationFeeTests
[PASS] test_revert_setLiquidationFee_gt_100() (gas: 59058)
[PASS] test_revert_setLiquidationFee_unauthorized() (gas: 58926)
[PASS] test_setLiquidationFee() (gas: 78487)
[PASS] test_setLiquidationFee_100() (gas: 78443)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 38.17ms (963.24µs CPU time)

Ran 5 tests for tests/core/PercentageMath.t.sol:PercentageMathTests
[PASS] test_constants() (gas: 10180)
[PASS] test_percentDiv() (gas: 11166)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 1000, μ: 10618, ~: 10717)
[PASS] test_percentMul() (gas: 11173)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 1000, μ: 10621, ~: 11227)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 92.65ms (91.47ms CPU time)

Ran 33 tests for tests/core/Pool.Borrow.t.sol:PoolBorrowTests
[PASS] test_borrow_variable_in_isolation() (gas: 592520)
[PASS] test_rebalance_borrow_rate() (gas: 84398)
[PASS] test_reverts_borrow_cap() (gas: 318112)
[PASS] test_reverts_borrow_collateral_balance_zero() (gas: 92890)
[PASS] test_reverts_borrow_collateral_can_not_cover() (gas: 336333)
[PASS] test_reverts_borrow_debt_ceiling() (gas: 688501)
[PASS] test_reverts_borrow_debt_ceiling_exceeded() (gas: 418932)
[PASS] test_reverts_borrow_hf_lt_1() (gas: 591262)
[PASS] test_reverts_borrow_inconsistent_emode_category() (gas: 462837)
[PASS] test_reverts_borrow_invalidAmount() (gas: 76127)
[PASS] test_reverts_borrow_invalid_rate() (gas: 317989)
[PASS] test_reverts_borrow_not_borrowable_isolation() (gas: 400922)
[PASS] test_reverts_borrow_reserveFrozen() (gas: 144260)
[PASS] test_reverts_borrow_reserveInactive() (gas: 155578)
[PASS] test_reverts_borrow_reservePaused() (gas: 115038)
[PASS] test_reverts_borrow_sentinel_oracle_down() (gas: 330239)
[PASS] test_reverts_borrow_sioled_borrowing_violation() (gas: 748357)
[PASS] test_reverts_borrow_stable_amount_gt_max_loan_size_stable() (gas: 334687)
[PASS] test_reverts_borrow_stable_borrow_not_enabled() (gas: 379854)
[PASS] test_reverts_borrow_stable_collateral_same_borrow() (gas: 249484)
[PASS] test_reverts_rebalance_borrow_rate_conditions_not_met() (gas: 464513)
[PASS] test_reverts_rebalance_borrow_rate_reserve_inactive() (gas: 139215)
[PASS] test_reverts_rebalance_borrow_rate_reserve_paused() (gas: 98620)
[PASS] test_reverts_swap_borrow_rate_reserve_inactive() (gas: 144598)
[PASS] test_reverts_swap_borrow_rate_reserve_invalid_rate_mode() (gas: 63724)
[PASS] test_reverts_swap_borrow_rate_reserve_paused() (gas: 106135)
[PASS] test_reverts_swap_borrow_rate_reserve_stable_no_debt() (gas: 63625)
[PASS] test_reverts_swap_borrow_rate_reserve_variable_no_debt() (gas: 63675)
[PASS] test_reverts_variable_borrow_transferred_funds() (gas: 405185)
[PASS] test_stable_borrow() (gas: 341630)
[PASS] test_swap_borrow_rate_from_variable_to_stable() (gas: 467307)
[PASS] test_swap_borrow_rate_reserve_frozen() (gas: 537006)
[PASS] test_variable_borrow() (gas: 362645)
Suite result: ok. 33 passed; 0 failed; 0 skipped; finished in 61.04ms (21.81ms CPU time)
2024-08-07T14:00:47.583208Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineBorrow.json", "./reports/postTestEngineBorrow.json", "-o", "./diffs/preTestEngineBorrow_postTestEngineBorrow.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineBorrow_postTestEngineBorrow.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineBorrow_postTestEngineBorrow.md'
}

Node.js v18.20.4
"

Ran 3 tests for tests/core/PoolConfigurator.pendingLTV.t.sol:PoolConfiguratorPendingLtvTests
[PASS] test_freezeReserve_ltvSetTo0() (gas: 107816)
[PASS] test_setLtv_ltvSetPendingLtvSet(uint256,uint256) (runs: 1000, μ: 143833, ~: 143833)
[PASS] test_unfreezeReserve_pendingSetToLtv() (gas: 109202)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.03s (988.19ms CPU time)

Ran 16 tests for tests/core/Pool.FlashLoans.t.sol:PoolFlashLoansTests
[PASS] test_flashloan() (gas: 228617)
[PASS] test_flashloan_borrow() (gas: 553821)
[PASS] test_flashloan_multiple() (gas: 351527)
[PASS] test_flashloan_simple() (gas: 192192)
[PASS] test_flashloan_simple_2() (gas: 192214)
[PASS] test_reverts_flashLoan_invalid_return() (gas: 173503)
[PASS] test_reverts_flashLoan_reserve_inactive() (gas: 142273)
[PASS] test_reverts_flashLoan_reserve_not_flash_loan_enabled() (gas: 94775)
[PASS] test_reverts_flashLoan_reserve_paused() (gas: 91454)
[PASS] test_reverts_flashLoan_same_asset_more_then_once(uint8) (runs: 1000, μ: 170207, ~: 131574)
[PASS] test_reverts_flashLoan_simple_invalid_return() (gas: 144765)
[PASS] test_reverts_flashloan_simple_transferred_funds() (gas: 185210)
[PASS] test_reverts_flashloan_transferred_funds() (gas: 203263)
[PASS] test_reverts_flashloans_eoa() (gas: 101070)
[PASS] test_reverts_supply_flashloan_simple_transfer_withdraw() (gas: 881768)
[PASS] test_reverts_supply_flashloan_transfer_withdraw() (gas: 902101)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 1.04s (999.16ms CPU time)
2024-08-07T14:00:49.110742Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineCaps.json", "./reports/postTestEngineCaps.json", "-o", "./diffs/preTestEngineCaps_postTestEngineCaps.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineCaps_postTestEngineCaps.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineCaps_postTestEngineCaps.md'
}

Node.js v18.20.4
"

Ran 46 tests for tests/core/PoolConfigurator.reserveRiskConfig.t.sol:PoolConfiguratorReserveRiskConfigs
[PASS] test_EmergencyAdminSetReserveFreeze_true() (gas: 137117)
[PASS] test_PoolAdminSetReserveFreeze_true() (gas: 101364)
[PASS] test_RiskAdminSetReserveFreeze_true() (gas: 130794)
[PASS] test_bridgeProtocolFee() (gas: 73060)
[PASS] test_disableLiquidationGracePeriod() (gas: 80675)
[PASS] test_dropReserve() (gas: 152362)
[PASS] test_enableBorrowing() (gas: 3170641)
[PASS] test_enableFlashBorrow() (gas: 3161563)
[PASS] test_enableStableBorrowing() (gas: 3183456)
[PASS] test_reverts_bridgeProtocolFee() (gas: 30233)
[PASS] test_reverts_dropReserve_notListed() (gas: 53487)
[PASS] test_reverts_dropReserve_supplyNotZero() (gas: 320402)
[PASS] test_reverts_dropReserve_variableDebtNotZero() (gas: 484167)
[PASS] test_reverts_dropReserve_zeroAddress() (gas: 47282)
[PASS] test_reverts_enableStableBorrowing_borrowNotEnabled() (gas: 3140657)
[PASS] test_reverts_setCollateralConfig_invalidParams() (gas: 3416249)
[PASS] test_reverts_setDebtCeiling_suppliers() (gas: 302885)
[PASS] test_reverts_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 35653)
[PASS] test_reverts_setReserveActive_false_if_suppliers() (gas: 297670)
[PASS] test_reverts_setReserveFactor_gt_percentageFactor() (gas: 35650)
[PASS] test_reverts_setSiloedBorrowing_borrowers() (gas: 430561)
[PASS] test_reverts_updateFlashloanPremiumToProtocol() (gas: 30348)
[PASS] test_reverts_updateFlashloanPremiumTotal() (gas: 30305)
[PASS] test_setBorrowableInIsolation_false() (gas: 65055)
[PASS] test_setBorrowableInIsolation_true() (gas: 67912)
[PASS] test_setCollateralConfig() (gas: 3148173)
[PASS] test_setDebtCeiling() (gas: 121193)
[PASS] test_setDebtCeiling_suppliers_ltZero() (gas: 306096)
[PASS] test_setDebtCeiling_to_zero() (gas: 146212)
[PASS] test_setFrozenReserveFreeze_true_revert() (gas: 108200)
[PASS] test_setLiquidationGracePeriodAboveCap(uint40) (runs: 1000, μ: 34885, ~: 34885)
[PASS] test_setLiquidationGracePeriodPool(uint40) (runs: 1000, μ: 137835, ~: 140125)
[PASS] test_setLiquidationGracePeriodReserve(uint40) (runs: 1000, μ: 135345, ~: 135345)
[PASS] test_setLiquidationProtocolFee_amount_gt_percentageFactor() (gas: 74772)
[PASS] test_setPoolPause() (gas: 136670)
[PASS] test_setPoolPause_unpause() (gas: 192335)
[PASS] test_setReserveActive_false() (gas: 118386)
[PASS] test_setReserveActive_true() (gas: 69293)
[PASS] test_setReserveFactor() (gas: 1047332)
[PASS] test_setReserveFreeze_false() (gas: 100883)
[PASS] test_setReservePause_false() (gas: 68555)
[PASS] test_setReservePause_true() (gas: 71307)
[PASS] test_setSiloedBorrowing() (gas: 125856)
[PASS] test_setUnfrozenReserveFreeze_false_revert() (gas: 48817)
[PASS] test_updateFlashloanPremiumToProtocol() (gas: 58382)
[PASS] test_updateFlashloanPremiumTotal() (gas: 58386)
Suite result: ok. 46 passed; 0 failed; 0 skipped; finished in 1.59s (1.55s CPU time)

Ran 11 tests for tests/core/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27532)
[PASS] test_multiple_setSupplyCap() (gas: 383997)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 498452)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48724)
[PASS] test_reverts_supply_gt_cap() (gas: 135930)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35542)
[PASS] test_setSupplyCap() (gas: 78924)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 331244)
[PASS] test_supply_eq_cap() (gas: 312388)
[PASS] test_supply_interests_reach_cap() (gas: 455804)
[PASS] test_supply_lt_cap() (gas: 312389)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 42.70ms (5.79ms CPU time)

Ran 6 tests for tests/core/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13626)
[PASS] test_interestRateStrategy_update() (gas: 1965318)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1081867)
[PASS] test_updateAToken() (gas: 2346693)
[PASS] test_updateStableDebtToken() (gas: 1243940)
[PASS] test_updateVariableDebtToken() (gas: 1732551)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 43.71ms (4.80ms CPU time)

Ran 3 tests for tests/core/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 755282)
[PASS] test_reverts_initReserves_max() (gas: 222618)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 246207)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 39.08ms (794.06µs CPU time)

Ran 11 tests for tests/core/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27232)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46960)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47013)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27165)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46937)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47012)
[PASS] test_new_PriceOracleSentinel() (gas: 432463)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25930)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22767)
[PASS] test_setGracePeriod() (gas: 32524)
[PASS] test_setSequencerOracle() (gas: 24656)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 33.49ms (677.81µs CPU time)

Ran 33 tests for tests/periphery/static-a-token/StaticATokenLM.t.sol:StaticATokenLMTest
[PASS] testAdmin() (gas: 22594)
[PASS] testFail_claimRewardsOnBehalfOf() (gas: 558292)
[PASS] testFail_mintAboveBalance() (gas: 383526)
[PASS] testFail_redeemAboveBalance() (gas: 554298)
[PASS] testFail_redeemOverflowAllowance() (gas: 598723)
[PASS] testFail_withdrawAboveBalance() (gas: 768895)
[PASS] test_claimRewards() (gas: 560182)
[PASS] test_claimRewardsToSelf() (gas: 558595)
[PASS] test_collectAndUpdateRewards() (gas: 504799)
[PASS] test_convertersAndPreviews() (gas: 55801)
[PASS] test_depositATokenClaimWithdrawClaim() (gas: 742786)
[PASS] test_depositWETHClaimWithdrawClaim() (gas: 742784)
[PASS] test_getUnclaimedRewards() (gas: 550492)
[PASS] test_getters() (gas: 61234)
[PASS] test_initializeShouldRevert() (gas: 22126)
[PASS] test_maxDeposit_50kCap() (gas: 136820)
[PASS] test_maxDeposit_5kCap() (gas: 110143)
[PASS] test_maxDeposit_freeze() (gas: 124285)
[PASS] test_maxDeposit_noCap() (gas: 106560)
[PASS] test_maxDeposit_paused() (gas: 97540)
[PASS] test_maxRedeem_allAvailable() (gas: 430402)
[PASS] test_maxRedeem_nonAvailable() (gas: 889189)
[PASS] test_maxRedeem_partAvailable() (gas: 904127)
[PASS] test_maxRedeem_paused() (gas: 458660)
[PASS] test_mint() (gas: 414345)
[PASS] test_permit() (gas: 89138)
[PASS] test_permit_expired() (gas: 38145)
[PASS] test_permit_invalidSigner() (gas: 64903)
[PASS] test_redeem() (gas: 509566)
[PASS] test_redeemAToken() (gas: 511711)
[PASS] test_redeemAllowance() (gas: 548859)
[PASS] test_transfer() (gas: 862590)
[PASS] test_withdraw() (gas: 513772)
Suite result: ok. 33 passed; 0 failed; 0 skipped; finished in 105.09ms (39.51ms CPU time)

Ran 6 tests for tests/periphery/static-a-token/StaticATokenMetaTransactions.t.sol:StaticATokenMetaTransactions
[PASS] testAdmin() (gas: 22567)
[PASS] test_metaDepositAToken() (gas: 626341)
[PASS] test_metaDepositATokenUnderlying() (gas: 556942)
[PASS] test_metaDepositATokenUnderlyingNoPermit() (gas: 521382)
[PASS] test_metaWithdraw() (gas: 653125)
[PASS] test_validateDomainSeparator() (gas: 79780)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 63.13ms (8.73ms CPU time)

Ran 3 tests for tests/periphery/static-a-token/StaticATokenNoLM.t.sol:StaticATokenNoLMTest
[PASS] testAdmin() (gas: 22501)
[PASS] test_claimRewardsToSelfWithLMDisabled() (gas: 464463)
[PASS] test_collectAndUpdateRewardsWithLMDisabled() (gas: 463475)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 46.29ms (2.17ms CPU time)

Ran 19 tests for tests/core/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 255664)
[PASS] test_cancel_delegationWithSig() (gas: 102022)
[PASS] test_default_revision() (gas: 1587041)
[PASS] test_delegationWithSig() (gas: 95366)
[PASS] test_initialize_VariableDebtToken() (gas: 2740315)
[PASS] test_mint_variableDebt_caller_alice() (gas: 2812485)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice() (gas: 2826718)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1600042)
[PASS] test_partial_burn_variableDebt() (gas: 2826889)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34328)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111267)
[PASS] test_reverts_initialize_pool_do_not_match() (gas: 2673069)
[PASS] test_reverts_initialize_twice() (gas: 3702013)
[PASS] test_reverts_operation_not_supported() (gas: 1618639)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33591)
[PASS] test_scaledBalanceOf() (gas: 343361)
[PASS] test_totalScaledSupply() (gas: 380428)
[PASS] test_totalSupply() (gas: 380401)
[PASS] test_total_burn_variableDebt() (gas: 2826801)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 52.91ms (13.35ms CPU time)

Ran 12 tests for tests/core/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13263)
[PASS] test_rayDiv() (gas: 12777)
[PASS] test_rayMul() (gas: 11416)
[PASS] test_rayToWad() (gas: 11075)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13348, ~: 13301)
[PASS] test_wadDiv() (gas: 12898)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10516, ~: 10740)
[PASS] test_wadMul() (gas: 11164)
[PASS] test_wadMul_edge() (gas: 11234)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10735, ~: 11314)
[PASS] test_wadToRay() (gas: 10885)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12160, ~: 12368)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 201.56ms (200.26ms CPU time)

Ran 14 tests for tests/periphery/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 496588)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 851638)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 845287)
[PASS] test_depositNativeEthInPool() (gas: 267677)
[PASS] test_fallback_revert() (gas: 10071)
[PASS] test_getWETHAddress() (gas: 10618)
[PASS] test_ownerCanRescueEth() (gas: 25214)
[PASS] test_ownerCanRescueTokens() (gas: 96947)
[PASS] test_sendEthFallback_revert() (gas: 16736)
[PASS] test_sendEth_revert() (gas: 16590)
[PASS] test_withdrawEth_full() (gas: 399490)
[PASS] test_withdrawEth_partial() (gas: 423186)
[PASS] test_withdrawEth_permit() (gas: 457653)
[PASS] test_withdrawEth_permit_full() (gas: 430276)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 51.70ms (11.77ms CPU time)

Ran 2 tests for tests/core/ZeroInteresRateStrategy.t.sol:ZeroReserveInterestRateStrategyTests
[PASS] test_calculate_rates() (gas: 939801)
[PASS] test_new_ZeroReserveInterestRateStrategy() (gas: 912026)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 75.23ms (536.30µs CPU time)
2024-08-07T14:00:50.616475Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineCollateralEdgeBonus.json", "./reports/postTestEngineCollateralEdgeBonus.json", "-o", "./diffs/preTestEngineCollateralEdgeBonus_postTestEngineCollateralEdgeBonus.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineCollateralEdgeBonus_postTestEngineCollateralEdgeBonus.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineCollateralEdgeBonus_postTestEngineCollateralEdgeBonus.md'
}

Node.js v18.20.4
"
2024-08-07T14:00:52.105768Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineCollateral.json", "./reports/postTestEngineCollateral.json", "-o", "./diffs/preTestEngineCollateral_postTestEngineCollateral.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineCollateral_postTestEngineCollateral.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineCollateral_postTestEngineCollateral.md'
}

Node.js v18.20.4
"
2024-08-07T14:00:53.690403Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineCollateralNoChange.json", "./reports/postTestEngineCollateralNoChange.json", "-o", "./diffs/preTestEngineCollateralNoChange_postTestEngineCollateralNoChange.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineCollateralNoChange_postTestEngineCollateralNoChange.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineCollateralNoChange_postTestEngineCollateralNoChange.md'
}

Node.js v18.20.4
"
2024-08-07T14:00:55.194784Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineEModeCategoryUpdate.json", "./reports/postTestEngineEModeCategoryUpdate.json", "-o", "./diffs/preTestEngineEModeCategoryUpdate_postTestEngineEModeCategoryUpdate.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineEModeCategoryUpdate_postTestEngineEModeCategoryUpdate.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineEModeCategoryUpdate_postTestEngineEModeCategoryUpdate.md'
}

Node.js v18.20.4
"
2024-08-07T14:00:56.646692Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineEModeCategoryNoChange.json", "./reports/postTestEngineEModeCategoryNoChange.json", "-o", "./diffs/preTestEngineEModeCategoryNoChange_postTestEngineEModeCategoryNoChange.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineEModeCategoryNoChange_postTestEngineEModeCategoryNoChange.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineEModeCategoryNoChange_postTestEngineEModeCategoryNoChange.md'
}

Node.js v18.20.4
"
2024-08-07T14:00:58.237720Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineListing.json", "./reports/postTestEngineListing.json", "-o", "./diffs/preTestEngineListing_postTestEngineListing.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineListing_postTestEngineListing.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineListing_postTestEngineListing.md'
}

Node.js v18.20.4
"

Ran 32 tests for tests/core/RateStrategy.t.sol:RateStrategyTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 63800)
[PASS] test_calculate_rates_100_percent_usage_50_percent_stable_debt_50_percent_variable_debt_10_percent_avg_stable_rate() (gas: 63919)
[PASS] test_calculate_rates_80_bps_usage() (gas: 63932)
[PASS] test_calculate_rates_80_percent_usage() (gas: 108885)
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 62185)
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 62229)
[PASS] test_calculate_rates_above_op_usage(uint16,uint256,uint256,uint32,uint32,uint32,uint256) (runs: 1000, μ: 143305, ~: 143403)
[PASS] test_calculate_rates_below_op_usage(uint16,uint256,uint256,uint32,uint32,uint32,uint256) (runs: 1000, μ: 135677, ~: 135777)
[PASS] test_calculate_rates_below_op_usage_when_no_debt(uint16,uint256,uint32,uint32,uint32,uint256) (runs: 1000, μ: 91848, ~: 92147)
[PASS] test_calculate_rates_empty_reserve(uint16,uint32,uint32,uint32) (runs: 1000, μ: 57741, ~: 57741)
[PASS] test_calculate_rates_when_not_using_virtual_valance(uint16,uint256,uint32,uint32,uint32,uint256) (runs: 1000, μ: 84339, ~: 84976)
[PASS] test_calculate_rates_when_total_debt_0(uint16,uint256,uint32,uint32,uint32,uint256) (runs: 1000, μ: 84772, ~: 85350)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 33870, ~: 33870)
[PASS] test_getInterestRateDataBps(uint16,uint32,uint32,uint32) (runs: 1000, μ: 53168, ~: 53168)
[PASS] test_getInterestRateDataRay(uint16,uint32,uint32,uint32) (runs: 1000, μ: 54037, ~: 54037)
[PASS] test_getMaxVariableBorrowRate(uint16,uint32,uint32,uint32) (runs: 1000, μ: 51641, ~: 51641)
[PASS] test_initialization() (gas: 14078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42185)
[PASS] test_new_SetReserveInterestRateParams(uint16,uint32,uint32,uint32) (runs: 1000, μ: 65208, ~: 65208)
[PASS] test_new_SetReserveInterestRateParams_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 64604, ~: 64604)
[PASS] test_new_SetReserveInterestRateParams_override_method_when_not_configurator(uint16,uint32,uint32,uint32) (runs: 1000, μ: 21252, ~: 21252)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator(uint16,uint32,uint32,uint32) (runs: 1000, μ: 21917, ~: 21917)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate(uint16,uint32,uint32,uint32) (runs: 1000, μ: 25588, ~: 25588)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 24911, ~: 24911)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op(uint16,uint32,uint32,uint32) (runs: 1000, μ: 22631, ~: 22631)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 21931, ~: 21931)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op(uint16,uint32,uint32,uint32) (runs: 1000, μ: 22658, ~: 22658)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 22001, ~: 22001)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0(uint16,uint32,uint32,uint32) (runs: 1000, μ: 19289, ~: 19289)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 18585, ~: 18585)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 23928, ~: 23928)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2_override_method(uint16,uint32,uint32,uint32) (runs: 1000, μ: 23927, ~: 23927)
Suite result: ok. 32 passed; 0 failed; 0 skipped; finished in 18.63s (18.59s CPU time)

Ran 2 tests for tests/core/RatesOverflow.t.sol:RatesOverflowCheckTests
[PASS] test_overflow_liquidity_rates() (gas: 97862)
[PASS] test_overflow_variable_rates() (gas: 432940)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 39.66ms (866.77µs CPU time)

Ran 19 tests for tests/periphery/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 952753)
[PASS] test_claimAllRewards() (gas: 903459)
[PASS] test_claimAllRewardsOnBehalf() (gas: 937163)
[PASS] test_claimAllRewardsToSelf() (gas: 903085)
[PASS] test_claimRewards() (gas: 900222)
[PASS] test_claimRewardsOnBehalf() (gas: 938778)
[PASS] test_claimRewardsToSelf() (gas: 899903)
[PASS] test_claimRewards_partial() (gas: 900473)
[PASS] test_claimRewards_zero() (gas: 640623)
[PASS] test_claimRewards_zero_with_rewards() (gas: 647475)
[PASS] test_configureAssets() (gas: 621605)
[PASS] test_initialize_no_op() (gas: 3736168)
[PASS] test_new_RewardsController() (gas: 3712512)
[PASS] test_reverts_initialize_twice() (gas: 3737756)
[PASS] test_setClaimer() (gas: 58290)
[PASS] test_setDistributionEnd() (gas: 637521)
[PASS] test_setEmissionPerSecond() (gas: 641682)
[PASS] test_setRewardOracle() (gas: 716252)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 921447)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 51.92ms (12.14ms CPU time)

Ran 1 test for tests/core/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98875)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 36.94ms (212.12µs CPU time)

Ran 22 tests for tests/core/StableDebtToken.t.sol:StableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 15757)
[PASS] test_cancel_delegationWithSig() (gas: 101955)
[PASS] test_default_revision() (gas: 1098437)
[PASS] test_delegationWithSig() (gas: 95359)
[PASS] test_getAverageStableRate() (gas: 13453)
[PASS] test_getSupplyData() (gas: 15090)
[PASS] test_getTotalSupplyAndAvgRate() (gas: 14071)
[PASS] test_getTotalSupplyLastUpdated() (gas: 13592)
[PASS] test_getUserLastUpdated() (gas: 15904)
[PASS] test_getUserStableRate() (gas: 15830)
[PASS] test_initialize_StableDebtToken() (gas: 2253047)
[PASS] test_mint_stableDebt_caller_alice() (gas: 2258018)
[PASS] test_mint_stableDebt_caller_bob_onBehalf_alice() (gas: 2290889)
[PASS] test_new_StableDebtToken_implementation() (gas: 1112446)
[PASS] test_principalBalanceOf() (gas: 15788)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34395)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111283)
[PASS] test_reverts_initialize_pool_do_not_match() (gas: 2185777)
[PASS] test_reverts_initialize_twice() (gas: 3214693)
[PASS] test_reverts_operation_not_supported() (gas: 1141516)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33658)
[PASS] test_totalSupply() (gas: 13564)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 48.82ms (8.23ms CPU time)

Ran 5 tests for tests/periphery/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 19000)
[PASS] test_emergencyTransfer() (gas: 219101)
[PASS] test_getters() (gas: 18748)
[PASS] test_performTransfer() (gas: 22047)
[PASS] test_renewApproval() (gas: 23130)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 41.68ms (1.17ms CPU time)

Ran 4 tests for tests/periphery/static-a-token/StataOracle.t.sol:StataOracleTest
[PASS] testAdmin() (gas: 22523)
[PASS] test_assetPrice() (gas: 57618)
[PASS] test_assetsPrices() (gas: 147241)
[PASS] test_error(uint256) (runs: 1000, μ: 96835, ~: 96838)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 439.56ms (395.03ms CPU time)

Ran 1 test for tests/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 58211178)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 54.81ms (50.54ms CPU time)

Ran 7 tests for tests/core/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120670)
[PASS] testRemoveAddressesProvider() (gas: 97213)
[PASS] testRemoveMultipleAddressesProvider() (gas: 243012)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16362)
[PASS] test_removesLastProvider() (gas: 32708)
[PASS] test_revert_registry_0() (gas: 15614)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27611)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 41.82ms (1.86ms CPU time)
2024-08-07T14:00:59.709947Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineListingCustom.json", "./reports/postTestEngineListingCustom.json", "-o", "./diffs/preTestEngineListingCustom_postTestEngineListingCustom.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineListingCustom_postTestEngineListingCustom.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineListingCustom_postTestEngineListingCustom.md'
}

Node.js v18.20.4
"
2024-08-07T14:01:01.166989Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEnginePriceFeed.json", "./reports/postTestEnginePriceFeed.json", "-o", "./diffs/preTestEnginePriceFeed_postTestEnginePriceFeed.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEnginePriceFeed_postTestEnginePriceFeed.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEnginePriceFeed_postTestEnginePriceFeed.md'
}

Node.js v18.20.4
"
2024-08-07T14:01:02.844232Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^0.7.2", "diff-snapshots", "./reports/preTestEngineRates.json", "./reports/postTestEngineRates.json", "-o", "./diffs/preTestEngineRates_postTestEngineRates.md"] stderr="node:fs:596
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open './diffs/preTestEngineRates_postTestEngineRates.md'
    at Object.openSync (node:fs:596:3)
    at Object.writeFileSync (node:fs:2322:35)
    at Command.<anonymous> (/home/runner/work/aave-v3-origin/aave-v3-origin/node_modules/@bgd-labs/aave-cli/dist/cli.cjs:766:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './diffs/preTestEngineRates_postTestEngineRates.md'
}

Node.js v18.20.4
"

Ran 17 tests for tests/periphery/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 4087128)
[PASS] testBorrowUpdatesNoChange() (gas: 3259101)
[PASS] testBorrowsUpdates() (gas: 3330747)
[PASS] testCapsUpdate() (gas: 3262724)
[PASS] testCollateralUpdateCorrectBonus() (gas: 3273240)
[PASS] testCollateralUpdateWrongBonus() (gas: 777514)
[PASS] testCollateralsUpdates() (gas: 3272668)
[PASS] testCollateralsUpdatesNoChange() (gas: 3251673)
[PASS] testEModeCategoryUpdates() (gas: 3312569)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 3247594)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 771548)
[PASS] testFailCollateralsUpdatesNoChange() (gas: 1705683)
[PASS] testFailEModeCategoryUpdatesNoChange() (gas: 788954)
[PASS] testListings() (gas: 7177817)
[PASS] testListingsCustom() (gas: 12060805)
[PASS] testPriceFeedsUpdates() (gas: 3333841)
[PASS] testRateStrategiesUpdates() (gas: 3326003)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 20.41s (20.35s CPU time)

Ran 14 tests for tests/core/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 611488)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 664556)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 648179)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 436196)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 634720, ~: 636197)
[PASS] test_repayWithPermit(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 606155, ~: 598167)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 612117, ~: 603664)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint120,uint120,uint120,uint120) (runs: 1000, μ: 559900, ~: 551553)
[PASS] test_repay_full_variable_borrow() (gas: 423195)
[PASS] test_reverts_borrow_invalidAmount() (gas: 64118)
[PASS] test_reverts_borrow_reserveInactive() (gas: 145501)
[PASS] test_reverts_borrow_reservePaused() (gas: 104914)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 347457)
[PASS] test_reverts_repay_no_debt() (gas: 64673)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 12.74s (12.67s CPU time)

Ran 13 tests for tests/core/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 253040)
[PASS] test_first_supply() (gas: 253041)
[PASS] test_first_supply_on_behalf() (gas: 255088)
[PASS] test_reverts_supply_cap() (gas: 116474)
[PASS] test_reverts_supply_invalidAmount() (gas: 58771)
[PASS] test_reverts_supply_reserveFrozen() (gas: 128681)
[PASS] test_reverts_supply_reserveInactive() (gas: 140088)
[PASS] test_reverts_supply_reservePaused() (gas: 99478)
[PASS] test_reverts_supply_to_aToken() (gas: 61373)
[PASS] test_supplyWithPermit(uint128,uint128,uint128) (runs: 1000, μ: 435095, ~: 435131)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128) (runs: 1000, μ: 435336, ~: 435360)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 298321, ~: 298321)
[PASS] test_supply_after_collateral_enabled() (gas: 302917)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 4.05s (4.01s CPU time)

Ran 21 tes...*[Comment body truncated]*

@sakulstra sakulstra merged commit 65ae395 into project-a Aug 7, 2024
2 checks passed
@sakulstra sakulstra deleted the fix/new-metadeposit-typehash branch August 7, 2024 21:25
sakulstra pushed a commit that referenced this pull request Aug 7, 2024
* Update METADEPOSIT_TYPEHASH

* cleanup of MetaDepositParams
sakulstra added a commit that referenced this pull request Sep 11, 2024
* feat: Add rescuable to static a token (#29)

* feat: Add rescuable to static a token

* Update src/periphery/contracts/static-a-token/StaticATokenLM.sol

---------

Co-authored-by: Lukas <[email protected]>

* fix: combine interface (#33)

* Update METADEPOSIT_TYPEHASH (#44)

* Update METADEPOSIT_TYPEHASH

* cleanup of MetaDepositParams

* feat: pausability (#45)

* feat: expose latest answer on static a token (#3)

* fix: add readme

* docs: note on upgrade

* fix: move around tests

* feat: use openzeppelin & remove meta txns (for now) (#5)

* fix: remove deprecation gap

* fix: migrate to oz

* oz: use erc20pausableupgradable

* fix: move 4626 to oz as well

* fix: cleanup

* feat: add failing rewards test

* fix: use oz

* fix: cleanup tests

* fix: remove deprecated interfaces

* fix: lint

* fix: remove unused revision

* fix: address comments

* fix: alter function ordering a bit

* feat: move logic to oz and rework all tests (#7)

* fix: remove deprecation gap

* fix: migrate to oz

* oz: use erc20pausableupgradable

* fix: move 4626 to oz as well

* fix: cleanup

* feat: add failing rewards test

* fix: use oz

* fix: cleanup tests

* fix: remove deprecated interfaces

* fix: lint

* fix: remove unused revision

* fix: address comments

* fix: alter function ordering a bit

* More OZ logic on stata

* add missing virtual

* Separate Stata4626 (#8)

* Separate Stata4626

* change to erc7201

* regenerated storage location

* change latestAnswer calculation logic

* DRAFT: Refactoring in extensions style

* add initializer

* remove unused params at __Stata4626_init

* remove RayMathExplicitRounding

* regenerated ERC20AaveLMStorageLocation

* add RAY constant

* remove IInitializableStata4626LM

* depositWithPermit

* disclamer on _update overload

* some descriptions cleanup

* change require to revert

* add comment to latestAnswer calc

* add comment to latestAnswer calc -1

* make ERC20AaveLMUpgradable abstract

* update license

* rename merger and 4626 contracts

* change Upgradable to Upgradeable

* move _disableInitializers into StataTokenV2

* rename IStata4626 to IERC4626StataToken

* rename init on ERC4626StataToken

* Changes on stata initializations, to follow more strict guidelines

* Changes to make stata more consistent with using ERC20 extensions

* Fix on function called on initialize of stata

* feat: improved tests

* fix: update test

* feat: add erc4626 tests

* fix: migrate some more tests

* fix: improve tests

* refactor: move to dedicated files

* feat: improve tests

* fix typo

* feat: add permit tests

* fix: linting

* feat: improved docs

* fix: typos

* fix: use internal function

---------

Co-authored-by: eboado <[email protected]>
Co-authored-by: sakulstra <[email protected]>

---------

Co-authored-by: sakulstra <[email protected]>
Co-authored-by: eboado <[email protected]>

* fix: cleanup imports

refactor: cleanup some things
(cherry picked from commit dd7166d0640e1a5bb9ad7afa03d9a21c6eb938ee)

* test: prevent mint to address(0)

* docs: add a bit more docs

* fix: lint on save

* docs: add comment about libraries

* Update tests/periphery/static-a-token/ERC20AaveLMUpgradable.t.sol

Co-authored-by: Ernesto Boado <[email protected]>

* Update tests/periphery/static-a-token/ERC4626StataTokenUpgradeable.t.sol

Co-authored-by: Ernesto Boado <[email protected]>

* refactor: rename factory + add inheritance graph (#13)

* docs: add inheritance image

* refactor: rename factory

* docs: add some more docs on readm

* fix: address certora feedback (#14)

* fix: address certora feedback

* fix: leftover

* fix: one more leftover

* fix: properly resolve conflict

* fix: total assets (#17)

* fix: calculate totalAssets

* test: add test to ensure doesn't revert on zero

* feat: use permissionless rescuable (#20)

* refactor: interface inheritance (#21)

* refactor: interface inheritance

* refactor: inherit permit

* fix: add inheritdoc

* Certora adaptation to stata (#18)

* fix: calculate totalAssets

* Certora adaptation to stata

---------

Co-authored-by: sakulstra <[email protected]>

* fix: lint certora files

* Update README.md

---------

Co-authored-by: sendra <[email protected]>
Co-authored-by: Andrey <[email protected]>
Co-authored-by: eboado <[email protected]>
Co-authored-by: Michael Morami <[email protected]>
sakulstra referenced this pull request in bgd-labs/aave-v3-origin Sep 19, 2024
* refactor: engine refactor

* fix: lint
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.

2 participants