-
Notifications
You must be signed in to change notification settings - Fork 44
docs: update to latest release #1107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
CanonicalJP
wants to merge
3
commits into
dev
Choose a base branch
from
docs/update-to-latest-release
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
♻️ Forge Gas Snapshots🔕 Unchanged
|
🌈 Test ResultsNo files changed, compilation skipped
Ran 1 test for tests/unit/Spoke/Spoke.AccrueInterest.Scenario.t.sol:SpokeAccrueInterestScenarioTest
[SKIP: pending rft] test_accrueInterest_fuzz_RPBorrowAndSkipTime_twoActions((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint40) (runs: 0, μ: 0, ~: 0)
Suite result: ok. 0 passed; 0 failed; 1 skipped; finished in 26.32ms (4.38ms CPU time)
Ran 13 tests for tests/gas/Spoke.Operations.gas.t.sol:SpokeOperations_Gas_Tests
[PASS] test_borrow() (gas: 1320948)
[PASS] test_liquidation_full() (gas: 1901915)
[PASS] test_liquidation_partial() (gas: 1901632)
[PASS] test_liquidation_receiveShares_full() (gas: 1892689)
[PASS] test_liquidation_receiveShares_partial() (gas: 1892408)
[PASS] test_multicall_ops() (gas: 1402595)
[PASS] test_repay() (gas: 866740)
[PASS] test_setUserPositionManagersWithSig() (gas: 307172)
[PASS] test_supply() (gas: 538732)
[PASS] test_updateRiskPremium() (gas: 1309799)
[PASS] test_updateUserDynamicConfig() (gas: 583043)
[PASS] test_usingAsCollateral() (gas: 1465184)
[PASS] test_withdraw() (gas: 1939961)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 73.66ms (28.50ms CPU time)
Ran 13 tests for tests/gas/Spoke.Operations.gas.t.sol:SpokeOperations_ZeroRiskPremium_Gas_Tests
[PASS] test_borrow() (gas: 1087594)
[PASS] test_liquidation_full() (gas: 1767256)
[PASS] test_liquidation_partial() (gas: 1766973)
[PASS] test_liquidation_receiveShares_full() (gas: 1758030)
[PASS] test_liquidation_receiveShares_partial() (gas: 1757749)
[PASS] test_multicall_ops() (gas: 1319985)
[PASS] test_repay() (gas: 775934)
[PASS] test_setUserPositionManagersWithSig() (gas: 311626)
[PASS] test_supply() (gas: 541413)
[PASS] test_updateRiskPremium() (gas: 937804)
[PASS] test_updateUserDynamicConfig() (gas: 587497)
[PASS] test_usingAsCollateral() (gas: 1083870)
[PASS] test_withdraw() (gas: 1580616)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 62.17ms (24.75ms CPU time)
Ran 4 tests for tests/unit/Spoke/Spoke.PermitReserve.t.sol:SpokePermitReserveTest
[PASS] test_permitReserve() (gas: 88249)
[PASS] test_permitReserve_forwards_correct_call() (gas: 35576)
[PASS] test_permitReserve_ignores_permit_reverts() (gas: 24412)
[PASS] test_permitReserve_revertsWith_ReserveNotListedIn() (gas: 22971)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 26.35ms (1.04ms CPU time)
Ran 20 tests for tests/unit/AaveOracle.t.sol:AaveOracleTest
[PASS] test_DECIMALS() (gas: 8326)
[PASS] test_constructor() (gas: 18424)
[PASS] test_description() (gas: 12039)
[PASS] test_fuzz_constructor(uint8) (runs: 5000, μ: 19884, ~: 20210)
[PASS] test_getReservePrice() (gas: 48776)
[PASS] test_getReservePrice_revertsWith_InvalidPrice() (gas: 48043)
[PASS] test_getReservePrice_revertsWith_InvalidSource() (gas: 10894)
[PASS] test_getReservePrices() (gas: 80715)
[PASS] test_getReservePrices_revertsWith_InvalidSource() (gas: 50926)
[PASS] test_getReserveSource() (gas: 48946)
[PASS] test_setReserveSource() (gas: 45988)
[PASS] test_setReserveSource_revertsWith_InvalidPrice() (gas: 102767)
[PASS] test_setReserveSource_revertsWith_InvalidSource() (gas: 17224)
[PASS] test_setReserveSource_revertsWith_InvalidSourceDecimals() (gas: 17061)
[PASS] test_setReserveSource_revertsWith_OnlySpoke() (gas: 13021)
[PASS] test_setReserveSource_revertsWith_OracleMismatch() (gas: 5044893)
[PASS] test_setSpoke() (gas: 5072799)
[PASS] test_setSpoke_revertsWith_InvalidAddress() (gas: 10870)
[PASS] test_setSpoke_revertsWith_OnlyDeployer(address) (runs: 5000, μ: 13397, ~: 13397)
[PASS] test_setSpoke_revertsWith_SpokeAlreadySet() (gas: 15080)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 1.00s (1.13s CPU time)
Ran 17 tests for tests/unit/AccessManagerEnumerable.t.sol:AccessManagerEnumerableTest
[PASS] test_getRoleMembers_fuzz(uint256,uint256) (runs: 5000, μ: 1981446, ~: 1980367)
[PASS] test_getRoleTargetSelectors_fuzz(uint256,uint256) (runs: 5000, μ: 1528915, ~: 1527966)
[PASS] test_grantRole() (gas: 315886)
[PASS] test_grantRole_fuzz(uint64,uint256) (runs: 5000, μ: 925710, ~: 919753)
[PASS] test_revokeRole() (gas: 323138)
[PASS] test_setRoleAdmin_fuzz_trackAdminRoles_multipleRoles_multipleAdmins(uint256) (runs: 5000, μ: 2158082, ~: 2270707)
[PASS] test_setRoleAdmin_fuzz_trackRolesAndTrackAdminRoles_multipleRoles(uint256) (runs: 5000, μ: 1950979, ~: 1899754)
[PASS] test_setRoleAdmin_trackAdminOfRoles() (gas: 606131)
[PASS] test_setRoleAdmin_trackAdminOfRoles_changeAdminRole() (gas: 577217)
[PASS] test_setRoleAdmin_trackAdminRoles() (gas: 602311)
[PASS] test_setRoleAdmin_trackRolesAndTrackAdminRoles() (gas: 378311)
[PASS] test_setRoleGuardian_trackRoles() (gas: 263932)
[PASS] test_setTargetFunctionRole() (gas: 414440)
[PASS] test_setTargetFunctionRole_multipleTargets() (gas: 1103911)
[PASS] test_setTargetFunctionRole_removeTarget() (gas: 894967)
[PASS] test_setTargetFunctionRole_skipAddToAdminRole() (gas: 30940)
[PASS] test_setTargetFunctionRole_withReplace() (gas: 549104)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 23.20s (37.48s CPU time)
Ran 10 tests for tests/unit/misc/EIP712Hash.t.sol:EIP712HashTest
[PASS] test_constants() (gas: 13531)
[PASS] test_hash_borrow_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 6805, ~: 6805)
[PASS] test_hash_positionManagerUpdate_fuzz((address,bool)) (runs: 5000, μ: 6193, ~: 6193)
[PASS] test_hash_repay_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 6806, ~: 6806)
[PASS] test_hash_setUserPositionManagers_fuzz((address,(address,bool)[],uint256,uint256)) (runs: 5000, μ: 444225, ~: 431569)
[PASS] test_hash_setUsingAsCollateral_fuzz((address,uint256,bool,address,uint256,uint256)) (runs: 5000, μ: 7305, ~: 7305)
[PASS] test_hash_supply_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 6849, ~: 6849)
[PASS] test_hash_updateUserDynamicConfig_fuzz((address,address,uint256,uint256)) (runs: 5000, μ: 6450, ~: 6450)
[PASS] test_hash_updateUserRiskPremium_fuzz((address,address,uint256,uint256)) (runs: 5000, μ: 6471, ~: 6471)
[PASS] test_hash_withdraw_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 6805, ~: 6805)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 21.47s (21.47s CPU time)
Ran 9 tests for tests/unit/libraries/KeyValueList.t.sol:KeyValueListTest
[PASS] test_add_unique() (gas: 354262)
[PASS] test_fuzz_add(uint256,uint256) (runs: 5000, μ: 231367, ~: 232296)
[PASS] test_fuzz_add_unique(uint256,uint256) (runs: 5000, μ: 252438, ~: 254508)
[PASS] test_fuzz_get(uint256[]) (runs: 5000, μ: 404191, ~: 409179)
[PASS] test_fuzz_get_uninitialized(uint256[]) (runs: 5000, μ: 280949, ~: 261548)
[PASS] test_fuzz_get_uninitialized_sorted(uint256[]) (runs: 5000, μ: 186115, ~: 162574)
[PASS] test_fuzz_sortByKey(uint256[]) (runs: 5000, μ: 458513, ~: 454104)
[PASS] test_fuzz_sortByKey_length(uint256) (runs: 5000, μ: 216906, ~: 213034)
[PASS] test_fuzz_sortByKey_with_collision(uint256[]) (runs: 5000, μ: 542493, ~: 536569)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 72.20s (72.19s CPU time)
Ran 3 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.DebtToLiquidate.t.sol:LiquidationLogicDebtToLiquidateTest
[PASS] test_calculateDebtToLiquidate_fuzz((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 30202, ~: 30269)
[PASS] test_calculateDebtToLiquidate_fuzz_AmountAdjustedDueToDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 31914, ~: 31991)
[PASS] test_calculateDebtToLiquidate_fuzz_ImpossibleToAdjustForDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 33973, ~: 33892)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 3.35s (3.33s CPU time)
Ran 60 tests for tests/unit/HubConfigurator.t.sol:HubConfiguratorTest
[PASS] test_addAsset_fuzz(bool,address,uint8,address,uint256,uint16,uint32,uint32,uint32) (runs: 5000, μ: 464335, ~: 465045)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals(bool,address,uint8,address,uint256,address) (runs: 5000, μ: 56218, ~: 56194)
[PASS] test_addAsset_fuzz_revertsWith_OwnableUnauthorizedAccount(address) (runs: 5000, μ: 31031, ~: 31437)
[PASS] test_addAsset_revertsWith_InvalidAddress_irStrategy() (gas: 49370)
[PASS] test_addAsset_revertsWith_InvalidAddress_underlying() (gas: 49266)
[PASS] test_addAsset_revertsWith_InvalidLiquidityFee() (gas: 366576)
[PASS] test_addAsset_reverts_invalidIrData() (gas: 92850)
[PASS] test_addSpoke() (gas: 126499)
[PASS] test_addSpokeToAssets() (gas: 223580)
[PASS] test_addSpokeToAssets_revertsWith_MismatchedConfigs() (gas: 24589)
[PASS] test_addSpokeToAssets_revertsWith_OwnableUnauthorizedAccount() (gas: 16866)
[PASS] test_addSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 16620)
[PASS] test_deactivateAsset() (gas: 166916)
[PASS] test_deactivateAsset_revertsWith_OwnableUnauthorizedAccount() (gas: 17760)
[PASS] test_deactivateSpoke() (gas: 165682)
[PASS] test_deactivateSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 17807)
[PASS] test_freezeAsset() (gas: 241109)
[PASS] test_freezeAsset_revertsWith_OwnableUnauthorizedAccount() (gas: 17781)
[PASS] test_freezeSpoke() (gas: 258638)
[PASS] test_freezeSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 17807)
[PASS] test_haltAsset() (gas: 166861)
[PASS] test_haltAsset_revertsWith_OwnableUnauthorizedAccount() (gas: 17716)
[PASS] test_haltSpoke() (gas: 165627)
[PASS] test_haltSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 17759)
[PASS] test_updateFeeConfig_Scenario() (gas: 337011)
Logs:
Bound result 0
Bound result 1800
Bound result 0
Bound result 400
Bound result 0
Bound result 0
[PASS] test_updateFeeConfig_fuzz(uint256,uint16,address) (runs: 5000, μ: 185815, ~: 186099)
[PASS] test_updateFeeConfig_fuzz_revertsWith_OwnableUnauthorizedAccount(address) (runs: 5000, μ: 17277, ~: 17277)
[PASS] test_updateFeeConfig_revertsWith_InvalidAddress_spoke() (gas: 50474)
[PASS] test_updateFeeConfig_revertsWith_InvalidLiquidityFee() (gas: 53594)
[PASS] test_updateFeeReceiver_Scenario() (gas: 214826)
[PASS] test_updateFeeReceiver_WithdrawFromOldSpoke() (gas: 419033)
[PASS] test_updateFeeReceiver_correctAccruals() (gas: 455526)
[PASS] test_updateFeeReceiver_fuzz(address) (runs: 5000, μ: 179339, ~: 179339)
[PASS] test_updateFeeReceiver_fuzz_revertsWith_OwnableUnauthorizedAccount(address) (runs: 5000, μ: 16918, ~: 16918)
[PASS] test_updateFeeReceiver_revertsWith_InvalidAddress_spoke() (gas: 52286)
[PASS] test_updateFeeReceiver_revertsWith_SpokeAlreadyListed() (gas: 80185)
[PASS] test_updateInterestRateData() (gas: 73061)
[PASS] test_updateInterestRateData_revertsWith_OwnableUnauthorizedAccount() (gas: 18943)
[PASS] test_updateInterestRateStrategy() (gas: 93496)
[PASS] test_updateInterestRateStrategy_fuzz_revertsWith_OwnableUnauthorizedAccount(address) (runs: 5000, μ: 28359, ~: 28359)
[PASS] test_updateInterestRateStrategy_revertsWith_InterestRateStrategyReverts() (gas: 76899)
[PASS] test_updateInterestRateStrategy_revertsWith_InvalidAddress_irStrategy() (gas: 66622)
[PASS] test_updateInterestRateStrategy_revertsWith_InvalidInterestRateStrategy() (gas: 67126)
[PASS] test_updateLiquidityFee_fuzz(uint256,uint16) (runs: 5000, μ: 91161, ~: 92800)
[PASS] test_updateLiquidityFee_revertsWith_InvalidLiquidityFee() (gas: 55338)
[PASS] test_updateLiquidityFee_revertsWith_OwnableUnauthorizedAccount() (gas: 16383)
[PASS] test_updateReinvestmentController() (gas: 101673)
[PASS] test_updateReinvestmentController_fuzz_revertsWith_OwnableUnauthorizedAccount(address) (runs: 5000, μ: 16895, ~: 16895)
[PASS] test_updateSpokeActive() (gas: 87294)
[PASS] test_updateSpokeActive_revertsWith_OwnableUnauthorizedAccount() (gas: 20084)
[PASS] test_updateSpokeCaps() (gas: 66421)
[PASS] test_updateSpokeCaps_revertsWith_OwnableUnauthorizedAccount() (gas: 19998)
[PASS] test_updateSpokeDrawCap() (gas: 66246)
[PASS] test_updateSpokeDrawCap_revertsWith_OwnableUnauthorizedAccount() (gas: 20073)
[PASS] test_updateSpokeHalted() (gas: 90007)
[PASS] test_updateSpokeHalted_revertsWith_OwnableUnauthorizedAccount() (gas: 19985)
[PASS] test_updateSpokeRiskPremiumThreshold() (gas: 66247)
[PASS] test_updateSpokeRiskPremiumThreshold_revertsWith_OwnableUnauthorizedAccount() (gas: 19984)
[PASS] test_updateSpokeSupplyCap() (gas: 66264)
[PASS] test_updateSpokeSupplyCap_revertsWith_OwnableUnauthorizedAccount() (gas: 20017)
Suite result: ok. 60 passed; 0 failed; 0 skipped; finished in 86.63s (92.07s CPU time)
Ran 7 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.DebtToTargetHealthFactor.t.sol:LiquidationLogicDebtToTargetHealthFactorTest
[PASS] test_calculateDebtToTargetHealthFactor_HealthFactorEqualsTargetHealthFactor((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 22788, ~: 22724)
[PASS] test_calculateDebtToTargetHealthFactor_NoPrecisionLoss() (gas: 24870)
[PASS] test_calculateDebtToTargetHealthFactor_PrecisionLoss() (gas: 14911)
[PASS] test_calculateDebtToTargetHealthFactor_UnitPrice() (gas: 24870)
[PASS] test_calculateDebtToTargetHealthFactor_fuzz_NoRevert((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 19923, ~: 19850)
[PASS] test_calculateDebtToTargetHealthFactor_fuzz_revertsWith_DivisionByZero_ZeroAssetPrice((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 22557, ~: 22482)
[PASS] test_calculateDebtToTargetHealthFactor_revertsWith_ArithmeticError_TargetHealthFactorLessThanHealthFactor((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 22542, ~: 22465)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.76s (4.80s CPU time)
Ran 16 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.EvaluateDeficit.t.sol:LiquidationLogicEvaluateDeficitTest
[PASS] test_evaluateDeficit_CRE_SCCM_DRE_BRCM() (gas: 8928)
[PASS] test_evaluateDeficit_CRE_SCCM_DRE_BRCO() (gas: 8896)
[PASS] test_evaluateDeficit_CRE_SCCM_DRN_BRCM() (gas: 8917)
[PASS] test_evaluateDeficit_CRE_SCCM_DRN_BRCO() (gas: 8884)
[PASS] test_evaluateDeficit_CRE_SCCO_DRE_BRCM() (gas: 8910)
[PASS] test_evaluateDeficit_CRE_SCCO_DRE_BRCO() (gas: 8977)
[PASS] test_evaluateDeficit_CRE_SCCO_DRN_BRCM() (gas: 8942)
[PASS] test_evaluateDeficit_CRE_SCCO_DRN_BRCO() (gas: 8930)
[PASS] test_evaluateDeficit_CRN_SCCM_DRE_BRCM() (gas: 8930)
[PASS] test_evaluateDeficit_CRN_SCCM_DRE_BRCO() (gas: 8919)
[PASS] test_evaluateDeficit_CRN_SCCM_DRN_BRCM() (gas: 8853)
[PASS] test_evaluateDeficit_CRN_SCCM_DRN_BRCO() (gas: 8886)
[PASS] test_evaluateDeficit_CRN_SCCO_DRE_BRCM() (gas: 8863)
[PASS] test_evaluateDeficit_CRN_SCCO_DRE_BRCO() (gas: 8920)
[PASS] test_evaluateDeficit_CRN_SCCO_DRN_BRCM() (gas: 8871)
[PASS] test_evaluateDeficit_CRN_SCCO_DRN_BRCO() (gas: 8949)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 22.33ms (968.63µs CPU time)
Ran 5 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateCollateral.t.sol:LiquidationLogicLiquidateCollateralTest
[PASS] test_liquidateCollateral_fuzz(uint256,uint256) (runs: 5000, μ: 266778, ~: 267672)
[PASS] test_liquidateCollateral_fuzz_CollateralToLiquidatorIsZero(uint256) (runs: 5000, μ: 109874, ~: 110732)
[PASS] test_liquidateCollateral_fuzz_receiveShares_sharesToLiquidator(uint256,uint256) (runs: 5000, μ: 752930, ~: 754262)
[PASS] test_liquidateCollateral_fuzz_revertsWith_ArithmeticUnderflow(uint256,uint256) (runs: 5000, μ: 100551, ~: 100347)
[PASS] test_liquidateCollateral_receiveShares_sharesToLiquidatorIsZero() (gas: 737259)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 12.59s (13.88s CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateUser.t.sol:LiquidationLogicLiquidateUserTest
[PASS] test_liquidateUser() (gas: 363003)
[PASS] test_liquidateUser_revertsWith_InvalidDebtToCover() (gas: 76375)
[PASS] test_liquidateUser_revertsWith_MustNotLeaveDust_Collateral() (gas: 109856)
[PASS] test_liquidateUser_revertsWith_MustNotLeaveDust_Debt() (gas: 118992)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 36.27ms (1.35ms CPU time)
Ran 3 tests for tests/unit/misc/ExtSload.t.sol:ExtSloadTest
[PASS] test_extSload(bytes32) (runs: 5000, μ: 9767, ~: 9767)
[PASS] test_extSloads(uint256) (runs: 5000, μ: 963361, ~: 924374)
[PASS] test_extSloads(uint256,bytes) (runs: 5000, μ: 1005949, ~: 925531)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 61.06s (61.06s CPU time)
Ran 8 tests for tests/unit/misc/GatewayBase.t.sol:GatewayBaseTest
[PASS] test_constructor() (gas: 17151)
[PASS] test_registerSpoke_fuzz(address) (runs: 5000, μ: 41629, ~: 41629)
[PASS] test_registerSpoke_revertsWith_InvalidAddress() (gas: 13119)
[PASS] test_registerSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 13791)
[PASS] test_registerSpoke_unregister() (gas: 36076)
[PASS] test_renouncePositionManagerRole() (gas: 65293)
[PASS] test_renouncePositionManagerRole_revertsWith_InvalidAddress() (gas: 74220)
[PASS] test_renouncePositionManagerRole_revertsWith_OwnableUnauthorizedAccount() (gas: 74439)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 338.76ms (317.78ms CPU time)
Ran 5 tests for tests/gas/Gateways.Operations.gas.t.sol:NativeTokenGateway_Gas_Tests
[PASS] test_borrowNative() (gas: 915852)
[PASS] test_repayNative() (gas: 987725)
[PASS] test_supplyAndCollateralNative() (gas: 305003)
[PASS] test_supplyNative() (gas: 286552)
[PASS] test_withdrawNative() (gas: 507928)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 39.45ms (4.12ms CPU time)
Ran 23 tests for tests/unit/AssetInterestRateStrategy.t.sol:AssetInterestRateStrategyTest
[PASS] test_calculateInterestRate_AtKinkPoint() (gas: 24368)
Logs:
Bound result 2000
Bound result 959662086833673577500435173276
[PASS] test_calculateInterestRate_AtMaxUtilization() (gas: 24681)
Logs:
Bound result 10000
Bound result 595173906475565660813905454285
[PASS] test_calculateInterestRate_LeftToKinkPoint(uint256) (runs: 5000, μ: 24230, ~: 24372)
[PASS] test_calculateInterestRate_RightToKinkPoint(uint256) (runs: 5000, μ: 25363, ~: 25411)
[PASS] test_calculateInterestRate_ZeroDebtZeroLiquidity() (gas: 18783)
Logs:
Bound result 0
[PASS] test_calculateInterestRate_fuzz_ZeroDebt(uint256) (runs: 5000, μ: 19066, ~: 18834)
[PASS] test_calculateInterestRate_revertsWith_InterestRateDataNotSet() (gas: 11225)
[PASS] test_deploy_revertsWith_InvalidAddress() (gas: 3746)
[PASS] test_getBaseVariableBorrowRate() (gas: 14812)
[PASS] test_getInterestRateData() (gas: 19290)
[PASS] test_getMaxVariableBorrowRate() (gas: 15258)
[PASS] test_getOptimalUsageRatio() (gas: 14705)
[PASS] test_getVariableRateSlope1() (gas: 14791)
[PASS] test_getVariableRateSlope2() (gas: 14746)
[PASS] test_maxBorrowRate() (gas: 8312)
[PASS] test_maxOptimalRatio() (gas: 8312)
[PASS] test_minOptimalRatio() (gas: 8321)
[PASS] test_setInterestRateData() (gas: 68999)
[PASS] test_setInterestRateData_revertsWith_InvalidMaxRate() (gas: 41819)
[PASS] test_setInterestRateData_revertsWith_InvalidOptimalUsageRatio() (gas: 42380)
[PASS] test_setInterestRateData_revertsWith_InvalidRateData() (gas: 35269)
[PASS] test_setInterestRateData_revertsWith_OnlyHub() (gas: 23502)
[PASS] test_setInterestRateData_revertsWith_Slope2MustBeGteSlope1() (gas: 37658)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 83.92s (84.09s CPU time)
Ran 8 tests for tests/gas/Gateways.Operations.gas.t.sol:SignatureGateway_Gas_Tests
[PASS] test_borrowWithSig() (gas: 743118)
[PASS] test_repayWithSig() (gas: 978191)
[PASS] test_setSelfAsUserPositionManagerWithSig() (gas: 209608)
[PASS] test_setUsingAsCollateralWithSig() (gas: 289254)
[PASS] test_supplyWithSig() (gas: 460713)
[PASS] test_updateUserDynamicConfigWithSig() (gas: 145189)
[PASS] test_updateUserRiskPremiumWithSig() (gas: 143132)
[PASS] test_withdrawWithSig() (gas: 409379)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 43.78ms (7.63ms CPU time)
Ran 6 tests for tests/unit/Hub/Hub.Access.t.sol:HubAccessTest
[PASS] test_change_authority() (gas: 206288)
[PASS] test_change_role_responsibility() (gas: 121132)
[PASS] test_hub_access_manager_exposure() (gas: 13427)
[PASS] test_hub_admin_access() (gas: 1374988)
[PASS] test_migrate_role_responsibility() (gas: 657040)
[PASS] test_setInterestRateData_access() (gas: 102489)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 24.50ms (3.78ms CPU time)
Ran 8 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidationAmounts.t.sol:LiquidationLogicLiquidationAmountsTest
[PASS] test_calculateLiquidationAmounts_EnoughCollateral() (gas: 15199)
[PASS] test_calculateLiquidationAmounts_InsufficientCollateral() (gas: 15451)
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_CollateralDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 55939, ~: 55802)
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_NoCollateralDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 54972, ~: 54993)
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_NoDebtLeft((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 71284, ~: 71256)
[PASS] test_calculateLiquidationAmounts_fuzz_InsufficientCollateral((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 58474, ~: 58287)
[PASS] test_calculateLiquidationAmounts_fuzz_revertsWith_MustNotLeaveDust_Collateral((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 55435, ~: 55255)
[PASS] test_calculateLiquidationAmounts_fuzz_revertsWith_MustNotLeaveDust_Debt((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 67993, ~: 67973)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 17.73s (17.71s CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidationBonus.t.sol:LiquidationLogicLiquidationBonusTest
[PASS] test_calculateLiquidationBonus_MinBonusDueToRounding() (gas: 9265)
[PASS] test_calculateLiquidationBonus_PartialBonus() (gas: 9286)
[PASS] test_calculateLiquidationBonus_fuzz_ConstantBonus(uint256,uint256,uint256,uint256) (runs: 5000, μ: 17116, ~: 16909)
[PASS] test_calculateLiquidationBonus_fuzz_MaxBonus(uint256,uint256,uint256,uint256) (runs: 5000, μ: 19342, ~: 19134)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 972.11ms (949.98ms CPU time)
Ran 12 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.ValidateLiquidationCall.t.sol:LiquidationLogicValidateLiquidationCallTest
[PASS] test_validateLiquidationCall() (gas: 26045)
[PASS] test_validateLiquidationCall_revertsWith_CannotReceiveShares() (gas: 259541)
[PASS] test_validateLiquidationCall_revertsWith_CollateralCannotBeLiquidated() (gas: 45213)
[PASS] test_validateLiquidationCall_revertsWith_HealthFactorNotBelowThreshold() (gas: 31843)
[PASS] test_validateLiquidationCall_revertsWith_InvalidDebtToCover() (gas: 26816)
[PASS] test_validateLiquidationCall_revertsWith_ReserveNotBorrowed() (gas: 26935)
[PASS] test_validateLiquidationCall_revertsWith_ReserveNotEnabledAsCollateral_NotUsingAsCollateral() (gas: 27042)
[PASS] test_validateLiquidationCall_revertsWith_ReserveNotEnabledAsCollateral_ZeroCollateralFactor() (gas: 27072)
[PASS] test_validateLiquidationCall_revertsWith_ReserveNotSupplied() (gas: 26902)
[PASS] test_validateLiquidationCall_revertsWith_ReservePaused_CollateralPaused() (gas: 31944)
[PASS] test_validateLiquidationCall_revertsWith_ReservePaused_DebtPaused() (gas: 31944)
[PASS] test_validateLiquidationCall_revertsWith_SelfLiquidation() (gas: 33701)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 22.96ms (1.44ms CPU time)
Ran 27 tests for tests/unit/MathUtils.t.sol:MathUtilsTest
[PASS] test_add_edge_cases() (gas: 4679)
[PASS] test_add_negative_operand(uint256,int256) (runs: 5000, μ: 9086, ~: 8834)
[PASS] test_add_positive_operand(uint256,int256) (runs: 5000, μ: 3919, ~: 3916)
[PASS] test_calculateLinearInterest() (gas: 4368)
[PASS] test_calculateLinearInterest_add_edge() (gas: 4890)
[PASS] test_calculateLinearInterest_edge_cases() (gas: 16246)
Logs:
Bound result 0
Bound result 1
Bound result 864000000
Bound result 864000000
[PASS] test_calculateLinearInterest_reverts_on_past_timestamp(uint40) (runs: 5000, μ: 7540, ~: 7381)
[PASS] test_constants() (gas: 3110)
[PASS] test_fuzz_calculateLinearInterest(uint96,uint40,uint256) (runs: 5000, μ: 8581, ~: 8824)
[PASS] test_fuzz_mulDivDown(uint256,uint256,uint256) (runs: 5000, μ: 3514, ~: 3577)
[PASS] test_fuzz_mulDivUp(uint256,uint256,uint256) (runs: 5000, μ: 3599, ~: 3724)
[PASS] test_min(uint256,uint256) (runs: 5000, μ: 3281, ~: 3281)
[PASS] test_mulDivDown_NoRemainder() (gas: 3223)
[PASS] test_mulDivDown_RevertOnDivByZero() (gas: 3107)
[PASS] test_mulDivDown_RevertOnOverflow() (gas: 3161)
[PASS] test_mulDivDown_WithRemainder() (gas: 3268)
[PASS] test_mulDivDown_ZeroAOrB() (gas: 3721)
[PASS] test_mulDivUp_NoRemainder() (gas: 3249)
[PASS] test_mulDivUp_RevertOnDivByZero() (gas: 3084)
[PASS] test_mulDivUp_RevertOnOverflow() (gas: 3140)
[PASS] test_mulDivUp_WithRemainder() (gas: 3248)
[PASS] test_mulDivUp_ZeroAOrB() (gas: 3792)
[PASS] test_signedSub(uint256,uint256) (runs: 5000, μ: 8586, ~: 8530)
[PASS] test_signedSub_revertsWith_SafeCastOverflowedUintToInt(uint256) (runs: 5000, μ: 7650, ~: 7702)
[PASS] test_uncheckedAdd(uint256,uint256) (runs: 5000, μ: 3447, ~: 3438)
[PASS] test_uncheckedExp(uint256,uint256) (runs: 5000, μ: 12519, ~: 9743)
[PASS] test_uncheckedSub(uint256,uint256) (runs: 5000, μ: 3419, ~: 3340)
Suite result: ok. 27 passed; 0 failed; 0 skipped; finished in 1.79s (1.78s CPU time)
Ran 40 tests for tests/unit/misc/NativeTokenGateway.t.sol:NativeTokenGatewayTest
[PASS] test_borrowNative() (gas: 662747)
Logs:
Bound result 5000000000000000000
[PASS] test_borrowNative_fuzz(uint256) (runs: 5000, μ: 662168, ~: 662798)
[PASS] test_borrowNative_revertsWith_InvalidAmount() (gas: 32382)
[PASS] test_borrowNative_revertsWith_NotNativeWrappedAsset() (gas: 32457)
[PASS] test_borrowNative_revertsWith_ReentrancyGuardReentrantCall_hubDraw() (gas: 283081)
[PASS] test_borrowNative_revertsWith_ReentrancyGuardReentrantCall_spokeBorrow() (gas: 271138)
[PASS] test_borrowNative_revertsWith_SpokeNotRegistered() (gas: 25340)
[PASS] test_constructor() (gas: 12715)
[PASS] test_constructor_revertsWith_InvalidAddress() (gas: 5958)
[PASS] test_fallback_revertsWith_UnsupportedAction() (gas: 17616)
[PASS] test_receive_revertsWith_UnsupportedAction() (gas: 17408)
[PASS] test_repayNative() (gas: 751768)
Logs:
Bound result 5000000000000000000
[PASS] test_repayNative_excessAmount() (gas: 660287)
[PASS] test_repayNative_fuzz(uint256) (runs: 5000, μ: 746822, ~: 752333)
[PASS] test_repayNative_fuzz_withInterest(uint256,uint256) (runs: 5000, μ: 670651, ~: 666366)
[PASS] test_repayNative_revertsWith_InvalidAmount() (gas: 32463)
[PASS] test_repayNative_revertsWith_NativeAmountMismatch() (gas: 30030)
[PASS] test_repayNative_revertsWith_NotNativeWrappedAsset() (gas: 39231)
[PASS] test_repayNative_revertsWith_ReentrancyGuardReentrantCall_hubRestore() (gas: 325951)
[PASS] test_repayNative_revertsWith_ReentrancyGuardReentrantCall_spokeRepay() (gas: 303133)
[PASS] test_repayNative_revertsWith_SpokeNotRegistered() (gas: 38728)
[PASS] test_supplyAndCollateralNative() (gas: 333101)
Logs:
Bound result 100000000000000000000
[PASS] test_supplyAndCollateralNative_fuzz(uint256) (runs: 5000, μ: 333407, ~: 333129)
[PASS] test_supplyNative() (gas: 304855)
Logs:
Bound result 100000000000000000000
[PASS] test_supplyNative_fuzz(uint256) (runs: 5000, μ: 305164, ~: 304882)
[PASS] test_supplyNative_revertsWith_InvalidAmount() (gas: 32417)
[PASS] test_supplyNative_revertsWith_NativeAmountMismatch() (gas: 30014)
[PASS] test_supplyNative_revertsWith_NotNativeWrappedAsset() (gas: 39197)
[PASS] test_supplyNative_revertsWith_ReentrancyGuardReentrantCall_hubAdd() (gas: 374220)
[PASS] test_supplyNative_revertsWith_ReentrancyGuardReentrantCall_spokeSupply() (gas: 336133)
[PASS] test_supplyNative_revertsWith_SpokeNotRegistered() (gas: 38740)
[PASS] test_withdrawNative() (gas: 330881)
Logs:
Bound result 100000000000000000000
[PASS] test_withdrawNative_fuzz(uint256) (runs: 5000, μ: 330458, ~: 330953)
[PASS] test_withdrawNative_fuzz_allBalance(uint256) (runs: 5000, μ: 267655, ~: 267456)
[PASS] test_withdrawNative_fuzz_allBalanceWithInterest(uint256,uint256) (runs: 5000, μ: 613438, ~: 613424)
[PASS] test_withdrawNative_revertsWith_InvalidAmount() (gas: 32479)
[PASS] test_withdrawNative_revertsWith_NotNativeWrappedAsset() (gas: 32512)
[PASS] test_withdrawNative_revertsWith_ReentrancyGuardReentrantCall_hubRemove() (gas: 299983)
[PASS] test_withdrawNative_revertsWith_ReentrancyGuardReentrantCall_spokeWithdraw() (gas: 271200)
[PASS] test_withdrawNative_revertsWith_SpokeNotRegistered() (gas: 25395)
Suite result: ok. 40 passed; 0 failed; 0 skipped; finished in 62.61s (62.59s CPU time)
Ran 3 tests for tests/unit/NoncesKeyed.t.sol:NoncesKeyedTest
[PASS] test_useCheckedNonce_monotonic(bytes32) (runs: 5000, μ: 12863, ~: 12863)
[PASS] test_useCheckedNonce_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 97231, ~: 97553)
[PASS] test_useNonce_monotonic(bytes32) (runs: 5000, μ: 13531, ~: 13531)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 4.01s (4.01s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueInterest.t.sol:SpokeAccrueInterestTest
[PASS] test_accrueInterest_NoActionTaken() (gas: 132488)
[PASS] test_accrueInterest_NoInterest_NoDebt(uint40) (runs: 5000, μ: 628046, ~: 627882)
[PASS] test_accrueInterest_NoInterest_OnlySupply(uint40) (runs: 5000, μ: 249505, ~: 249502)
[PASS] test_accrueInterest_TenPercentRp(uint256,uint40) (runs: 5000, μ: 576854, ~: 577211)
[PASS] test_accrueInterest_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 5000, μ: 535521, ~: 535999)
[PASS] test_accrueInterest_fuzz_RPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint40) (runs: 5000, μ: 3838568, ~: 3853557)
[PASS] test_accrueInterest_fuzz_RatesRPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint96,uint96,uint96,uint96),uint40) (runs: 5000, μ: 3908446, ~: 3923074)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 191.80s (282.84s CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateDebt.t.sol:LiquidationLogicLiquidateDebtTest
[PASS] test_liquidateDebt_fuzz(uint256) (runs: 5000, μ: 229907, ~: 229907)
[PASS] test_liquidateDebt_revertsWith_ArithmeticUnderflow() (gas: 97257)
[PASS] test_liquidateDebt_revertsWith_InsufficientAllowance() (gas: 124250)
[PASS] test_liquidateDebt_revertsWith_InsufficientBalance() (gas: 181665)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 90.13s (90.11s CPU time)
Ran 5 tests for tests/unit/Spoke/Spoke.AccrueLiquidityFee.EdgeCases.t.sol:SpokeAccrueLiquidityFeeEdgeCasesTest
[PASS] test_accrueLiquidityFee_fuzz_maxLiquidityFee_with_premium(uint256,uint256,uint256,uint256) (runs: 5000, μ: 536373, ~: 536513)
[PASS] test_accrueLiquidityFee_fuzz_maxLiquidityFee_with_premium_multiple_users(uint256,uint256,uint256,uint256,uint256) (runs: 5000, μ: 787781, ~: 787851)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_spoke() (gas: 79609595)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_user() (gas: 562079498)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_with_premium() (gas: 536675)
Logs:
Bound result 500000000000000000000
Bound result 5000
Bound result 34560000
Bound result 2
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 17.76s (27.44s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueLiquidityFee.t.sol:SpokeAccrueLiquidityFeeTest
[PASS] test_accrueLiquidityFee() (gas: 857832)
[PASS] test_accrueLiquidityFee_NoActionTaken() (gas: 121608)
[PASS] test_accrueLiquidityFee_NoInterest_OnlySupply(uint40) (runs: 5000, μ: 244615, ~: 244552)
[PASS] test_accrueLiquidityFee_exact() (gas: 863611)
[PASS] test_accrueLiquidityFee_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 5000, μ: 934096, ~: 954857)
[PASS] test_accrueLiquidityFee_maxLiquidityFee() (gas: 542538)
[PASS] test_accrueLiquidityFee_setUsingAsCollateral() (gas: 889975)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 19.35s (35.35s CPU time)
Ran 35 tests for tests/unit/Hub/Hub.Config.t.sol:HubConfigTest
[PASS] test_addAsset_fuzz(address,uint8,address) (runs: 5000, μ: 412292, ~: 412332)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_feeReceiver(address,uint8,address) (runs: 5000, μ: 45242, ~: 44933)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_irStrategy(address,uint8,address) (runs: 5000, μ: 45250, ~: 44942)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_underlying(uint8,address,address) (runs: 5000, μ: 36628, ~: 36628)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals(address,uint8,address,address) (runs: 5000, μ: 45845, ~: 45893)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals_tooLow(address,uint8,address,address) (runs: 5000, μ: 45931, ~: 46215)
[PASS] test_addAsset_fuzz_reverts_InvalidIrData(address,uint8,address,address) (runs: 5000, μ: 86299097911, ~: 34870)
[PASS] test_addAsset_revertsWith_BlockTimestampDowncastOverflow() (gas: 981867)
[PASS] test_addAsset_revertsWith_DrawnRateDowncastOverflow() (gas: 978975)
[PASS] test_addAsset_reverts_UnderlyingAlreadyListed() (gas: 46470)
[PASS] test_addSpoke_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 126556, ~: 126608)
[PASS] test_addSpoke_fuzz_revertsWith_AssetNotListed(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 35211, ~: 35199)
[PASS] test_addSpoke_fuzz_revertsWith_InvalidAddress_spoke(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 33883, ~: 33931)
[PASS] test_addSpoke_revertsWith_SpokeAlreadyListed() (gas: 39667)
[PASS] test_hub_deploy_reverts_on_InvalidConstructorInput() (gas: 776973)
[PASS] test_hub_max_riskPremium() (gas: 8588)
[PASS] test_updateAssetConfig_NewFeeReceiver_noFees() (gas: 718030)
[PASS] test_updateAssetConfig_NewFeeReceiver_revertsWith_SpokeNotActive_noFees() (gas: 617825)
[PASS] test_updateAssetConfig_UseExistingSpokeAndListedAsFeeReceiver_revertsWith_SpokeAlreadyListed() (gas: 70382)
[PASS] test_updateAssetConfig_fuzz(uint256,(address,uint16,address,address)) (runs: 5000, μ: 268218, ~: 268578)
[PASS] test_updateAssetConfig_fuzz_FromZeroLiquidityFee(uint256,uint16) (runs: 5000, μ: 819637, ~: 819493)
[PASS] test_updateAssetConfig_fuzz_LiquidityFee(uint256,uint16) (runs: 5000, μ: 722157, ~: 722029)
[PASS] test_updateAssetConfig_fuzz_NewFeeReceiver(uint256) (runs: 5000, μ: 821181, ~: 821219)
[PASS] test_updateAssetConfig_fuzz_NewInterestRateStrategy(uint256) (runs: 5000, μ: 696253, ~: 696287)
[PASS] test_updateAssetConfig_fuzz_ReuseFeeReceiver_revertsWith_SpokeAlreadyListed(uint256) (runs: 5000, μ: 872147, ~: 872180)
[PASS] test_updateAssetConfig_fuzz_Scenario(uint256) (runs: 5000, μ: 695371, ~: 695427)
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidInterestRateStrategy(uint256) (runs: 5000, μ: 60846, ~: 60898)
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidLiquidityFee(uint256,(address,uint16,address,address)) (runs: 5000, μ: 40109, ~: 40018)
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidReinvestmentController() (gas: 484410)
[PASS] test_updateAssetConfig_fuzz_revertsWith_calculateInterestRateReverts(uint256,(address,uint16,address,address)) (runs: 5000, μ: 198430, ~: 198871)
[PASS] test_updateAssetConfig_fuzz_revertsWith_setInterestRateDataReverts(uint256,(address,uint16,address,address)) (runs: 5000, μ: 95561, ~: 96007)
[PASS] test_updateAssetConfig_oldFeeReceiver_flags() (gas: 996266)
Logs:
Bound result 2
Bound result 500
Bound result 1
Bound result 500
Bound result 3
Bound result 1000
Bound result 5
Bound result 500
[PASS] test_updateSpokeConfig_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 59116, ~: 59178)
[PASS] test_updateSpokeConfig_fuzz_revertsWith_SpokeNotListed(uint256,address,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 40476, ~: 40544)
[PASS] test_updateSpokeConfig_revertsWith_AssetNotListed() (gas: 29603)
Suite result: ok. 35 passed; 0 failed; 0 skipped; finished in 94.69s (94.66s CPU time)
Ran 16 tests for tests/unit/Hub/Hub.Draw.t.sol:HubDrawTest
[PASS] test_draw_DifferentSpokes() (gas: 354768)
[PASS] test_draw_fuzz_IncreasedBorrowRate(uint256,uint256) (runs: 5000, μ: 695308, ~: 695440)
[PASS] test_draw_fuzz_amounts_same_block(uint256,uint256) (runs: 5000, μ: 287756, ~: 287776)
[PASS] test_draw_fuzz_revertsWith_DrawCapExceeded(uint40) (runs: 5000, μ: 82137, ~: 82096)
[PASS] test_draw_fuzz_revertsWith_DrawCapExceeded_due_to_interest(uint40,uint256,uint256) (runs: 5000, μ: 286450, ~: 286702)
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity(uint256,uint256) (runs: 5000, μ: 34684, ~: 34464)
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity_due_to_draw(uint256) (runs: 5000, μ: 172365, ~: 172081)
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity_due_to_remove(uint256) (runs: 5000, μ: 134001, ~: 133805)
[PASS] test_draw_fuzz_revertsWith_InvalidAddress(uint256) (runs: 5000, μ: 16102, ~: 16102)
[PASS] test_draw_revertsWith_DrawCapExceeded_due_to_deficit() (gas: 269919)
[PASS] test_draw_revertsWith_InsufficientLiquidity() (gas: 28241)
[PASS] test_draw_revertsWith_InsufficientLiquidity_due_to_draw() (gas: 168692)
[PASS] test_draw_revertsWith_InsufficientLiquidity_due_to_remove() (gas: 131141)
[PASS] test_draw_revertsWith_InvalidAmount() (gas: 16233)
[PASS] test_draw_revertsWith_SpokeHalted() (gas: 61264)
[PASS] test_draw_revertsWith_SpokeNotActive() (gas: 61203)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 23.17s (23.15s CPU time)
Ran 8 tests for tests/unit/Hub/Hub.EliminateDeficit.t.sol:HubEliminateDeficitTest
[PASS] test_eliminateDeficit(uint256) (runs: 5000, μ: 661045, ~: 661045)
[PASS] test_eliminateDeficit_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 32532, ~: 32532)
[PASS] test_eliminateDeficit_fuzz_revertsWith_ArithmeticUnderflow_CallerSpokeNoFunds(uint256) (runs: 5000, μ: 351255, ~: 351255)
[PASS] test_eliminateDeficit_revertsWith_InvalidAmount_ZeroAmountNoDeficit() (gas: 35965)
[PASS] test_eliminateDeficit_revertsWith_InvalidAmount_ZeroAmountWithDeficit() (gas: 347592)
[PASS] test_eliminateDeficit_revertsWith_InvalidAmount_on_UnregisteredCoveredSpoke() (gas: 36352)
[PASS] test_eliminateDeficit_revertsWith_SpokeNotActive_on_UnregisteredAsset() (gas: 383390)
[PASS] test_eliminateDeficit_revertsWith_callerSpokeNotActive() (gas: 159188)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 16.24s (16.22s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.MintFeeShares.t.sol:HubMintFeeSharesTest
[PASS] test_mintFeeShares() (gas: 310124)
[PASS] test_mintFeeShares_noFees() (gas: 365611)
[PASS] test_mintFeeShares_noShares() (gas: 291681)
[PASS] test_mintFeeShares_revertsWith_AccessManagedUnauthorized() (gas: 24115)
[PASS] test_mintFeeShares_revertsWith_AssetNotListed() (gas: 27529)
[PASS] test_mintFeeShares_revertsWith_SpokeNotActive() (gas: 242098)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 25.14ms (3.92ms CPU time)
Ran 29 tests for tests/unit/libraries/PositionStatusMap.t.sol:PositionStatusMapTest
[PASS] test_bucketId() (gas: 8878)
[PASS] test_collateralCount() (gas: 107741)
[PASS] test_collateralCount(uint256) (runs: 5000, μ: 1896972, ~: 1696899)
[PASS] test_collateralCount_ignoresInvalidBits() (gas: 122622)
[PASS] test_constants() (gas: 44556)
[PASS] test_fls() (gas: 509035)
[PASS] test_fromBitId(uint256,uint256) (runs: 5000, μ: 14045, ~: 14336)
[PASS] test_fuzz_setBorrowing(uint256,bool) (runs: 5000, μ: 22294, ~: 32093)
[PASS] test_fuzz_setUseAsCollateral(uint256,bool) (runs: 5000, μ: 22199, ~: 12282)
[PASS] test_getBucketWord(uint256) (runs: 5000, μ: 14179, ~: 14179)
[PASS] test_isUsingAsCollateralOrBorrowing_slot0() (gas: 108334)
[PASS] test_isUsingAsCollateralOrBorrowing_slot1() (gas: 43997)
[PASS] test_isolateBorrowing(uint256) (runs: 5000, μ: 153030, ~: 153030)
[PASS] test_isolateBorrowingUntil(uint256,uint256) (runs: 5000, μ: 144215, ~: 143779)
[PASS] test_isolateCollateral(uint256) (runs: 5000, μ: 152949, ~: 152949)
[PASS] test_isolateCollateralUntil(uint256,uint256) (runs: 5000, μ: 144481, ~: 144121)
[PASS] test_isolateUntil(uint256,uint256) (runs: 5000, μ: 134615, ~: 134600)
[PASS] test_next(uint256) (runs: 5000, μ: 20123, ~: 19506)
[PASS] test_nextBorrowing(uint256) (runs: 5000, μ: 18030, ~: 16896)
[PASS] test_nextBorrowing_continuous() (gas: 61581372)
[PASS] test_nextCollateral(uint256) (runs: 5000, μ: 18111, ~: 16939)
[PASS] test_nextCollateral_continuous() (gas: 61888601)
[PASS] test_next_continuous() (gas: 89142401)
[PASS] test_popCount(bytes32) (runs: 5000, μ: 37897, ~: 37899)
[PASS] test_setBorrowing_slot0() (gas: 43924)
[PASS] test_setBorrowing_slot1() (gas: 43924)
[PASS] test_setUseAsCollateral_slot0() (gas: 44105)
[PASS] test_setUseAsCollateral_slot1() (gas: 44088)
[PASS] test_setters_use_correct_slot(uint256) (runs: 5000, μ: 36226, ~: 41309)
Suite result: ok. 29 passed; 0 failed; 0 skipped; finished in 91.39s (91.39s CPU time)
Ran 19 tests for tests/unit/Hub/Hub.Add.t.sol:HubAddTest
[PASS] test_add_AddCapReachedButNotExceeded_rounding() (gas: 664082)
[PASS] test_add_fuzz_AddCapReachedButNotExceeded(uint40) (runs: 5000, μ: 157469, ~: 157428)
[PASS] test_add_fuzz_multi_asset_multi_spoke(uint256,uint256,uint256) (runs: 5000, μ: 331174, ~: 331313)
[PASS] test_add_fuzz_revertsWith_AddCapExceeded(uint40) (runs: 5000, μ: 112154, ~: 112113)
[PASS] test_add_fuzz_revertsWith_AddCapExceeded_due_to_interest(uint40,uint256,uint256) (runs: 5000, μ: 266055, ~: 265929)
[PASS] test_add_fuzz_revertsWith_InvalidShares_due_to_index(uint256,uint256,uint256) (runs: 5000, μ: 223412, ~: 223634)
[PASS] test_add_fuzz_single_asset(uint256,address,uint256) (runs: 5000, μ: 341725, ~: 341746)
[PASS] test_add_fuzz_single_spoke_multi_add(uint256,uint256) (runs: 5000, μ: 798897, ~: 798932)
[PASS] test_add_multi_add_minimal_shares() (gas: 320018)
[PASS] test_add_revertsWith_AmountDowncastOverflow() (gas: 359828)
[PASS] test_add_revertsWith_InsufficientTransferred() (gas: 64480)
[PASS] test_add_revertsWith_InvalidAmount() (gas: 13619)
[PASS] test_add_revertsWith_InvalidShares() (gas: 222924)
[PASS] test_add_revertsWith_SharesDowncastOverflow() (gas: 224170)
[PASS] test_add_revertsWith_SpokeHalted() (gas: 99541)
[PASS] test_add_revertsWith_SpokeNotActive() (gas: 99577)
[PASS] test_add_single_asset() (gas: 329590)
Logs:
Bound result 2
Bound result 100000000000000000000
[PASS] test_add_with_increased_index() (gas: 300271)
[PASS] test_add_with_increased_index_with_premium() (gas: 678419)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 178.30s (215.65s CPU time)
Ran 9 tests for tests/gas/Hub.Operations.gas.t.sol:HubOperations_Gas_Tests
[PASS] test_add() (gas: 269972)
[PASS] test_deficit() (gas: 1325968)
[PASS] test_draw() (gas: 418374)
[PASS] test_mintFeeShares() (gas: 499664)
[PASS] test_payFee_transferShares() (gas: 967016)
[PASS] test_refreshPremium() (gas: 633268)
[PASS] test_remove() (gas: 310118)
[PASS] test_restore() (gas: 877564)
[PASS] test_restore_with_transfer() (gas: 878229)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 43.36ms (6.83ms CPU time)
Ran 5 tests for tests/unit/Rescuable.t.sol:RescuableTest
[PASS] test_constructor() (gas: 12531)
[PASS] test_rescueNative_fuzz(uint256) (runs: 5000, μ: 33301, ~: 33478)
[PASS] test_rescueNative_revertsWith_OnlyRescueGuardian() (gas: 11089)
[PASS] test_rescueToken_fuzz(uint256) (runs: 5000, μ: 206629, ~: 206759)
[PASS] test_rescueToken_revertsWith_OnlyRescueGuardian() (gas: 180556)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.36s (3.34s CPU time)
Ran 10 tests for tests/unit/PercentageMath.t.sol:PercentageMathTests
[PASS] test_constants() (gas: 8604)
[PASS] test_fromBpsDown() (gas: 9654)
[PASS] test_percentDiv() (gas: 14993)
[PASS] test_percentDivUp_ge_value(uint256,uint256) (runs: 5000, μ: 15120, ~: 15261)
[PASS] test_percentDivUp_le_value(uint256,uint256) (runs: 5000, μ: 15346, ~: 15347)
[PASS] test_percentDiv_fuzz(uint256,uint256) (runs: 5000, μ: 12617, ~: 12760)
[PASS] test_percentMul() (gas: 14932)
[PASS] test_percentMulUp_ge_value(uint256,uint256) (runs: 5000, μ: 15331, ~: 15330)
[PASS] test_percentMulUp_le_value(uint256,uint256) (runs: 5000, μ: 15128, ~: 15264)
[PASS] test_percentMul_fuzz(uint256,uint256) (runs: 5000, μ: 11525, ~: 12063)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 96.22s (97.17s CPU time)
Ran 14 tests for tests/unit/Spoke/Spoke.Borrow.Validation.t.sol:SpokeBorrowValidationTest
[PASS] test_borrow_fuzz_revertsWith_DrawCapExceeded(uint256,uint40) (runs: 5000, μ: 110476, ~: 110489)
[PASS] test_borrow_fuzz_revertsWith_DrawCapExceeded_due_to_interest(uint256) (runs: 5000, μ: 681318, ~: 681551)
[PASS] test_borrow_fuzz_revertsWith_InsufficientLiquidity(uint256,uint256) (runs: 5000, μ: 295205, ~: 294965)
[PASS] test_borrow_fuzz_revertsWith_InvalidAmount(uint256) (runs: 5000, μ: 34368, ~: 34420)
[PASS] test_borrow_fuzz_revertsWith_ReserveFrozen(uint256,uint256) (runs: 5000, μ: 71865, ~: 71654)
[PASS] test_borrow_fuzz_revertsWith_ReserveNotBorrowable(uint256,uint256) (runs: 5000, μ: 71987, ~: 71763)
[PASS] test_borrow_fuzz_revertsWith_ReserveNotListed(uint256,uint256) (runs: 5000, μ: 27412, ~: 27138)
[PASS] test_borrow_fuzz_revertsWith_ReservePaused(uint256,uint256) (runs: 5000, μ: 71796, ~: 71570)
[PASS] test_borrow_revertsWith_InsufficientLiquidity() (gas: 294832)
Logs:
Bound result 10000000000000000000
[PASS] test_borrow_revertsWith_InvalidAmount() (gas: 35995)
Logs:
Bound result 2
[PASS] test_borrow_revertsWith_ReserveFrozen() (gas: 73192)
Logs:
Bound result 2
Bound result 1
[PASS] test_borrow_revertsWith_ReserveNotBorrowable() (gas: 73277)
Logs:
Bound result 2
Bound result 1
[PASS] test_borrow_revertsWith_ReserveNotListed() (gas: 28940)
Logs:
Bound result 1
[PASS] test_borrow_revertsWith_ReservePaused() (gas: 73150)
Logs:
Bound result 2
Bound result 1
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 14.46s (14.44s CPU time)
Ran 5 tests for tests/unit/misc/SignatureGateway/SignatureGateway.PermitReserve.t.sol:SignatureGatewayPermitReserveTest
[PASS] test_permitReserve() (gas: 101562)
[PASS] test_permitReserve_forwards_correct_call() (gas: 51057)
[PASS] test_permitReserve_ignores_permit_reverts() (gas: 40082)
[PASS] test_permitReserve_revertsWith_ReserveNotListed() (gas: 30997)
[PASS] test_permitReserve_revertsWith_SpokeNotRegistered() (gas: 29372)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 23.21ms (1.45ms CPU time)
Ran 2 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Reverts.InsufficientAllowance.t.sol:SignatureGateway_InsufficientAllowance_Test
[PASS] test_repayWithSig_revertsWith_ERC20InsufficientAllowance() (gas: 452897)
[PASS] test_supplyWithSig_revertsWith_ERC20InsufficientAllowance() (gas: 87253)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.69ms (3.08ms CPU time)
Ran 8 tests for tests/unit/ReserveFlags.t.sol:ReserveFlagsTests
[PASS] test_constants() (gas: 13493)
[PASS] test_create_fuzz(bool,bool,bool,bool,bool) (runs: 5000, μ: 16325, ~: 16319)
[PASS] test_setBorrowable_fuzz(uint8) (runs: 5000, μ: 13338, ~: 13338)
[PASS] test_setFrozen_fuzz(uint8) (runs: 5000, μ: 13301, ~: 13301)
[PASS] test_setLiquidatable_fuzz(uint8) (runs: 5000, μ: 13346, ~: 13346)
[PASS] test_setPaused_fuzz(uint8) (runs: 5000, μ: 13221, ~: 13221)
[PASS] test_setReceiveSharesEnabled_fuzz(uint8) (runs: 5000, μ: 13284, ~: 13284)
[PASS] test_set_flags() (gas: 94213)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.65s (2.15s CPU time)
Ran 10 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Constants.t.sol:SignatureGatewayConstantsTest
[PASS] test_DOMAIN_SEPARATOR() (gas: 5650)
[PASS] test_borrow_typeHash() (gas: 9867)
[PASS] test_constructor() (gas: 3749)
[PASS] test_eip712Domain() (gas: 10940)
[PASS] test_repay_typeHash() (gas: 9813)
[PASS] test_setUsingAsCollateral_typeHash() (gas: 9802)
[PASS] test_supply_typeHash() (gas: 9826)
[PASS] test_updateUserDynamicConfig_typeHash() (gas: 9910)
[PASS] test_updateUserRiskPremium_typeHash() (gas: 9867)
[PASS] test_withdraw_typeHash() (gas: 9912)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 23.55ms (2.13ms CPU time)
Ran 8 tests for tests/unit/Spoke/Spoke.Repay.Scenario.t.sol:SpokeRepayScenarioTest
[PASS] test_fuzz_repay_borrow_twice_repay_twice((uint256,uint256,uint256,uint40),(uint256,uint256,uint256,uint40)) (runs: 5000, μ: 1203699, ~: 1208242)
[PASS] test_fuzz_repay_multiple_users_repay_same_reserve((uint256,uint256,uint256,uint256,uint256,uint256,address),(uint256,uint256,uint256,uint256,uint256,uint256,address),(uint256,uint256,uint256,uint256,uint256,uint256,address),uint256) (runs: 5000, μ: 2005048, ~: 1974388)
[PASS] test_repay_fuzz_multiple_users_multiple_assets(((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),address),((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),address),((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),address),uint40) (runs: 5000, μ: 5901246, ~: 5901394)
[PASS] test_repay_fuzz_two_users_multiple_assets(((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),address),((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),address),uint40) (runs: 5000, μ: 4183338, ~: 4183613)
[PASS] test_repay_partial_then_max() (gas: 681222)
[PASS] test_repay_round_trip_borrow_repay(uint256,uint256,uint40,address,uint256) (runs: 5000, μ: 858742, ~: 861624)
[PASS] test_repay_round_trip_repay_borrow(uint256,uint256,uint256,uint40,address,uint256) (runs: 5000, μ: 939607, ~: 948339)
[PASS] test_repay_two_users_repay_same_reserve((uint256,uint256,uint256,uint256,uint256,uint256,address),(uint256,uint256,uint256,uint256,uint256,uint256,address),uint256) (runs: 5000, μ: 1446759, ~: 1477061)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 301.58s (301.56s CPU time)
Ran 2 tests for tests/unit/Spoke/Spoke.Repay.Validation.t.sol:SpokeRepayValidationTest
[PASS] test_repay_revertsWith_ReserveNotListed() (gas: 23228)
[PASS] test_repay_revertsWith_ReservePaused() (gas: 64686)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.57ms (371.29µs CPU time)
Ran 10 tests for tests/unit/Spoke/Spoke.PositionManager.t.sol:SpokePositionManagerTest
[PASS] test_onlyPositionManager_on_borrow() (gas: 536767)
[PASS] test_onlyPositionManager_on_repay() (gas: 558265)
[PASS] test_onlyPositionManager_on_supply() (gas: 291330)
[PASS] test_onlyPositionManager_on_updateUserDynamicConfig() (gas: 1279818)
[PASS] test_onlyPositionManager_on_updateUserRiskPremium() (gas: 1408792)
[PASS] test_onlyPositionManager_on_usingAsCollateral() (gas: 144335)
[PASS] test_onlyPositionManager_on_withdraw() (gas: 319888)
[PASS] test_renouncePositionManagerRole() (gas: 20268)
[PASS] test_renouncePositionManagerRole_noop_from_disabled() (gas: 21882)
[PASS] test_setApprovalForPositionManager(bytes32) (runs: 5000, μ: 18111, ~: 18111)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 301.96s (301.94s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.PayFee.t.sol:HubPayFeeTest
[PASS] test_payFee_fuzz(uint256,uint256) (runs: 5000, μ: 702278, ~: 702439)
[PASS] test_payFee_fuzz_with_interest(uint256,uint256,uint256) (runs: 5000, μ: 702711, ~: 702987)
[PASS] test_payFee_revertsWith_InvalidShares() (gas: 20320)
[PASS] test_payFee_revertsWith_SpokeNotActive() (gas: 61202)
[PASS] test_payFee_revertsWith_underflow_added_shares_exceeded() (gas: 138343)
[PASS] test_payFee_revertsWith_underflow_added_shares_exceeded_with_interest() (gas: 642318)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 24.74s (37.08s CPU time)
Ran 4 tests for tests/unit/Spoke/Spoke.Borrow.t.sol:SpokeBorrowTest
[PASS] test_borrow() (gas: 1118143)
[PASS] test_borrow_fuzz_amounts(uint256,uint256) (runs: 5000, μ: 1127197, ~: 1127253)
[PASS] test_borrow_revertsWith_ReentrancyGuardReentrantCall_hubDraw() (gas: 400144)
[PASS] test_borrow_revertsWith_ReentrancyGuardReentrantCall_hubRefreshPremium() (gas: 525482)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 27.82s (27.80s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.Repay.EdgeCases.t.sol:SpokeRepayEdgeCaseTest
[PASS] test_fuzz_repay_effect_on_ex_rates(uint256,uint256) (runs: 5000, μ: 683697, ~: 683517)
[PASS] test_repay_less_than_share() (gas: 577947)
[PASS] test_repay_only_base_debt_interest() (gas: 754821)
[PASS] test_repay_only_base_debt_no_premium() (gas: 639255)
[PASS] test_repay_supply_ex_rate_decr() (gas: 1464797)
[PASS] test_repay_supply_ex_rate_decr_skip_time() (gas: 1461510)
[PASS] test_repay_zero_shares_nonzero_premium_debt() (gas: 758592)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 14.37s (14.36s CPU time)
Ran 24 tests for tests/unit/Spoke/Spoke.Config.t.sol:SpokeConfigTest
[PASS] test_addReserve() (gas: 418791)
[PASS] test_addReserve_fuzz_revertsWith_AssetNotListed() (gas: 285786)
[PASS] test_addReserve_revertsWith_InvalidAddress_hub() (gas: 5088945)
[PASS] test_addReserve_revertsWith_InvalidAddress_oracle() (gas: 5147132)
[PASS] test_addReserve_revertsWith_InvalidAssetId() (gas: 32930)
[PASS] test_addReserve_revertsWith_ReserveExists() (gas: 397619)
[PASS] test_spoke_deploy() (gas: 5041356)
[PASS] test_spoke_deploy_reverts_on_InvalidConstructorInput() (gas: 776967)
[PASS] test_spoke_deploy_reverts_on_InvalidOracleDecimals() (gas: 779211)
[PASS] test_updateLiquidationConfig_fuzz_liqBonusConfig((uint128,uint64,uint16)) (runs: 5000, μ: 52960, ~: 53041)
[PASS] test_updateLiquidationConfig_fuzz_revertsWith_InvalidLiquidationConfig_healthFactorForMaxBonus((uint128,uint64,uint16)) (runs: 5000, μ: 36879, ~: 37137)
[PASS] test_updateLiquidationConfig_fuzz_revertsWith_InvalidLiquidationConfig_liquidationBonusFactor((uint128,uint64,uint16)) (runs: 5000, μ: 36664, ~: 36438)
[PASS] test_updateLiquidationConfig_fuzz_targetHealthFactor(uint128) (runs: 5000, μ: 46953, ~: 47249)
[PASS] test_updateLiquidationConfig_liqBonusConfig() (gas: 52061)
Logs:
Bound result 900000000000000000
Bound result 1000
Bound result 1000000000000000000
[PASS] test_updateLiquidationConfig_revertsWith_InvalidLiquidationConfig_healthFactorForMaxBonus() (gas: 35597)
Logs:
Bound result 1000000000000000000
Bound result 1000
Bound result 1000000000000000000
[PASS] test_updateLiquidationConfig_revertsWith_InvalidLiquidationConfig_liquidationBonusFactor() (gas: 35596)
Logs:
Bound result 900000000000000000
Bound result 10001
Bound result 1000000000000000000
[PASS] test_updateLiquidationConfig_targetHealthFactor() (gas: 46578)
Logs:
Bound result 1000000000000000001
[PASS] test_updateReserveConfig() (gas: 55945)
[PASS] test_updateReserveConfig_fuzz((uint24,bool,bool,bool,bool,bool)) (runs: 5000, μ: 57021, ~: 56857)
[PASS] test_updateReserveConfig_revertsWith_InvalidCollateralRisk() (gas: 40341)
[PASS] test_updateReserveConfig_revertsWith_ReserveNotListed() (gas: 36851)
[PASS] test_updateReservePriceSource() (gas: 261449)
[PASS] test_updateReservePriceSource_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 31031, ~: 31031)
[PASS] test_updateReservePriceSource_revertsWith_ReserveNotListed() (gas: 34831)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 3.80s (3.78s CPU time)
Ran 11 tests for tests/unit/Hub/Hub.Reclaim.t.sol:HubReclaimTest
[PASS] test_reclaim() (gas: 651839)
Logs:
Bound result 1000000000000000000000
Bound result 500000000000000000000
Bound result 200000000000000000000
[PASS] test_reclaim_fullAmount() (gas: 634379)
[PASS] test_reclaim_fuzz(uint256,uint256,uint256) (runs: 5000, μ: 653543, ~: 652780)
[PASS] test_reclaim_multipleSweepsAndReclaims() (gas: 742924)
[PASS] test_reclaim_revertsWith_AssetNotListed() (gas: 13093)
[PASS] test_reclaim_revertsWith_InsufficientTransferred() (gas: 455770)
[PASS] test_reclaim_revertsWith_InsufficientTransferred_noSwept() (gas: 102165)
[PASS] test_reclaim_revertsWith_InvalidAmount_zero() (gas: 92347)
[PASS] test_reclaim_revertsWith_OnlyReinvestmentController(address) (runs: 5000, μ: 93230, ~: 93230)
[PASS] test_reclaim_revertsWith_OnlyReinvestmentController_init() (gas: 40386)
[PASS] test_reclaim_revertsWith_underflow_exceedsSwept_afterSweep() (gas: 619122)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 14.68s (16.25s CPU time)
Ran 21 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Reverts.InvalidSignature.t.sol:SignatureGatewayInvalidSignatureTest
[PASS] test_borrowWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 156250, ~: 155332)
[PASS] test_borrowWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 39091)
[PASS] test_borrowWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 37280)
[PASS] test_repayWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 158058, ~: 158681)
[PASS] test_repayWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 39024)
[PASS] test_repayWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 37324)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 156482, ~: 157055)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 39052)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 37350)
[PASS] test_supplyWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 157838, ~: 157025)
[PASS] test_supplyWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 39069)
[PASS] test_supplyWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 37312)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 147048, ~: 146727)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_InvalidSignatureDueTo_InvalidSigner() (gas: 25338)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 27068)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 145868, ~: 146764)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_InvalidSignatureDueTo_InvalidSigner() (gas: 25360)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 27105)
[PASS] test_withdrawWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 158740, ~: 158723)
[PASS] test_withdrawWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 39111)
[PASS] test_withdrawWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 37322)
Suite result: ok. 21 passed; 0 failed; 0 skipped; finished in 42.31s (66.55s CPU time)
Ran 7 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Reverts.SpokeNotRegistered.t.sol:SignatureGateway_SpokeNotRegistered_Test
[PASS] test_borrowWithSig_revertsWith_SpokeNotRegistered((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 13428, ~: 13428)
[PASS] test_repayWithSig_revertsWith_SpokeNotRegistered((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 13428, ~: 13428)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_SpokeNotRegistered((address,uint256,bool,address,uint256,uint256)) (runs: 5000, μ: 13397, ~: 13397)
[PASS] test_supplyWithSig_revertsWith_SpokeNotRegistered((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 13471, ~: 13471)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_SpokeNotRegistered((address,address,uint256,uint256)) (runs: 5000, μ: 13682, ~: 13682)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_SpokeNotRegistered((address,address,uint256,uint256)) (runs: 5000, μ: 13749, ~: 13749)
[PASS] test_withdrawWithSig_revertsWith_SpokeNotRegistered((address,uint256,uint256,address,uint256,uint256)) (runs: 5000, μ: 13493, ~: 13493)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 12.14s (18.35s CPU time)
Ran 7 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Reverts.Unauthorized.t.sol:SignatureGateway_Unauthorized_PositionManagerActive_Test
[PASS] test_borrowWithSig_revertsWith_Unauthorized() (gas: 80421)
[PASS] test_repayWithSig_revertsWith_Unauthorized() (gas: 113388)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_Unauthorized() (gas: 72970)
[PASS] test_supplyWithSig_revertsWith_Unauthorized() (gas: 140050)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_Unauthorized() (gas: 81365)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_Unauthorized() (gas: 81542)
[PASS] test_withdrawWithSig_revertsWith_Unauthorized() (gas: 79432)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 26.28ms (4.07ms CPU time)
Ran 7 tests for tests/unit/misc/SignatureGateway/SignatureGateway.Reverts.Unauthorized.t.sol:SignatureGateway_Unauthorized_PositionManagerNotActive_Test
[PASS] test_borrowWithSig_revertsWith_Unauthorized() (gas: 78213)
[PASS] test_repayWithSig_revertsWith_Unauthorized() (gas: 111180)
[PASS] test_setUsingAsCollateralWithSig_revertsWith_Unauthorized() (gas: 70762)
[PASS] test_supplyWithSig_revertsWith_Unauthorized() (gas: 137842)
[PASS] test_updateUserDynamicConfigWithSig_revertsWith_Unauthorized() (gas: 79157)
[PASS] test_updateUserRiskPremiumWithSig_revertsWith_Unauthorized() (gas: 79334)
[PASS] test_withdrawWithSig_revertsWith_Unauthorized() (gas: 77224)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 25.53ms (4.05ms CPU time)
Ran 4 tests for tests/unit/misc/SignatureGateway/SignatureGateway.SetSelfAsUserPositionManagerWithSig.t.sol:SignatureGatewaySetSelfAsUserPositionManagerTest
[PASS] test_setSelfAsUserPositionManagerWithSig() (gas: 140506)
[PASS] test_setSelfAsUserPositionManagerWithSig_forwards_correct_call() (gas: 32923)
[PASS] test_setSelfAsUserPositionManagerWithSig_ignores_underlying_spoke_reverts() (gas: 29675)
[PASS] test_setSelfAsUserPositionManagerWithSig_revertsWith_SpokeNotRegistered() (gas: 16476)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 22.18ms (1.13ms CPU time)
Ran 12 tests for tests/unit/Hub/Hub.RefreshPremium.t.sol:HubRefreshPremiumTest
[PASS] test_refreshPremium_emitsEvent() (gas: 254285)
[PASS] test_refreshPremium_fuzz_positiveDeltas(uint256,int256,int256) (runs: 5000, μ: 486892, ~: 491947)
[PASS] test_refreshPremium_fuzz_withAccrual(uint256,uint256,uint256,uint256) (runs: 5000, μ: 464663, ~: 473364)
[PASS] test_refreshPremium_haltedSpokesAllowed() (gas: 121119)
[PASS] test_refreshPremium_maxRiskPremiumThreshold() (gas: 884782)
[PASS] test_refreshPremium_negativeDeltas(uint256) (runs: 5000, μ: 456981, ~: 457448)
[PASS] test_refreshPremium_negativeDeltas_withAccrual(uint256) (runs: 5000, μ: 525833, ~: 526047)
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_NonZeroRestoredPremiumRay() (gas: 841485)
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_RiskPremiumThresholdExceeded_DecreasingPremium() (gas: 862005)
[PASS] test_refreshPremium_revertsWith_SpokeNotActive() (gas: 58757)
[PASS] test_refreshPremium_riskPremiumThreshold() (gas: 906888)
[PASS] test_refreshPremium_spokePremiumUpdateIsContained() (gas: 705013)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 20.35s (30.80s CPU time)
Ran 10 tests for tests/unit/Spoke/Spoke.DynamicConfig.Triggers.t.sol:SpokeDynamicConfigTriggersTest
[PASS] test_borrow_triggers_dynamicConfigUpdate() (gas: 1333630)
[PASS] test_liquidate_does_not_trigger_dynamicConfigUpdate() (gas: 1607983)
[PASS] test_repay_does_not_trigger_dynamicConfigUpdate() (gas: 896722)
[PASS] test_supply_does_not_trigger_dynamicConfigUpdate() (gas: 1111417)
[PASS] test_updateUserDynamicConfig_doesHFCheck() (gas: 785351)
[PASS] test_updateUserDynamicConfig_reverts_when_not_authorized(address) (runs: 5000, μ: 1254670, ~: 1254670)
[PASS] test_updateUserDynamicConfig_triggers_dynamicConfigUpdate() (gas: 716618)
[PASS] test_updateUserDynamicConfig_updatesRP() (gas: 1283970)
[PASS] test_usingAsCollateral_triggers_dynamicConfigUpdate() (gas: 1360078)
[PASS] test_withdraw_triggers_dynamicConfigUpdate() (gas: 1362818)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 28.36s (28.34s CPU time)
Ran 23 tests for tests/unit/Hub/Hub.Restore.t.sol:HubRestoreTest
[PASS] test_restore_full_amount_with_interest() (gas: 360459)
Logs:
Bound result...*[Comment body truncated]* |
Forge Build Sizes🔕 Unchanged
|
Contributor
|
@CanonicalJP need to also update any mentions of paused spokes in hub to halted if there are any, according to #1131 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
overview.mdto match changes in release v0.5.7 and v0.5.6README.mdto include a reference to aave.com/docs