-
Notifications
You must be signed in to change notification settings - Fork 36
fix: vm.random* behaviour in tests #1087
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
base: dev
Are you sure you want to change the base?
Conversation
Forge Build Sizes🔕 Unchanged
|
🌈 Test ResultsNo files changed, compilation skipped
Ran 1 test for tests/unit/Spoke/Spoke.MultipleHub.SiloedBorrowing.t.sol:SpokeMultipleHubSiloedBorrowingTest
[PASS] test_siloed_borrowing() (gas: 667419)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 14.68ms (1.17ms CPU time)
Ran 3 tests for tests/unit/Spoke/Spoke.Access.t.sol:SpokeAccessTest
[PASS] testAccess_change_authority() (gas: 515895)
[PASS] testAccess_hub_functions_callable_by_spokes() (gas: 579019)
[PASS] testAccess_spoke_admin_config_access() (gas: 494131)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 23.02ms (3.27ms CPU time)
Ran 2 tests for tests/unit/Spoke/Spoke.MultipleHub.t.sol:SpokeMultipleHubTest
[PASS] test_borrow_secondHub() (gas: 896989)
[PASS] test_borrow_thirdHub() (gas: 738417)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 30.47ms (3.67ms CPU time)
Ran 13 tests for tests/gas/Spoke.Operations.gas.t.sol:SpokeOperations_Gas_Tests
[PASS] test_borrow() (gas: 1337080)
[PASS] test_liquidation_full() (gas: 1892678)
[PASS] test_liquidation_partial() (gas: 1892387)
[PASS] test_liquidation_receiveShares_full() (gas: 1882372)
[PASS] test_liquidation_receiveShares_partial() (gas: 1882089)
[PASS] test_multicall_ops() (gas: 1410944)
[PASS] test_repay() (gas: 876502)
[PASS] test_setUserPositionManagerWithSig() (gas: 302264)
[PASS] test_supply() (gas: 542220)
[PASS] test_updateRiskPremium() (gas: 1329028)
[PASS] test_updateUserDynamicConfig() (gas: 581796)
[PASS] test_usingAsCollateral() (gas: 1483101)
[PASS] test_withdraw() (gas: 1964251)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 63.86ms (31.50ms CPU time)
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 115.90ms (95.44ms CPU time)
Ran 13 tests for tests/gas/Spoke.Operations.gas.t.sol:SpokeOperations_ZeroRiskPremium_Gas_Tests
[PASS] test_borrow() (gas: 1096592)
[PASS] test_liquidation_full() (gas: 1754387)
[PASS] test_liquidation_partial() (gas: 1754096)
[PASS] test_liquidation_receiveShares_full() (gas: 1744081)
[PASS] test_liquidation_receiveShares_partial() (gas: 1743798)
[PASS] test_multicall_ops() (gas: 1327249)
[PASS] test_repay() (gas: 783742)
[PASS] test_setUserPositionManagerWithSig() (gas: 306712)
[PASS] test_supply() (gas: 544892)
[PASS] test_updateRiskPremium() (gas: 942460)
[PASS] test_updateUserDynamicConfig() (gas: 586244)
[PASS] test_usingAsCollateral() (gas: 1087205)
[PASS] test_withdraw() (gas: 1593456)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 60.87ms (26.09ms CPU time)
Ran 4 tests for tests/unit/Spoke/Spoke.PermitReserve.t.sol:SpokePermitReserveTest
[PASS] test_permitReserve() (gas: 89200)
[PASS] test_permitReserve_forwards_correct_call() (gas: 36410)
[PASS] test_permitReserve_ignores_permit_reverts() (gas: 25167)
[PASS] test_permitReserve_revertsWith_ReserveNotListedIn() (gas: 23207)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 20.90ms (1.06ms CPU time)
Ran 12 tests for tests/unit/Spoke/Spoke.PositionManager.t.sol:SpokePositionManagerTest
[PASS] test_disableApproval_on_InactivePositionManager() (gas: 99880)
[PASS] test_onlyPositionManager_on_borrow() (gas: 537106)
[PASS] test_onlyPositionManager_on_repay() (gas: 560687)
[PASS] test_onlyPositionManager_on_supply() (gas: 290708)
[PASS] test_onlyPositionManager_on_updateUserDynamicConfig() (gas: 1280181)
[PASS] test_onlyPositionManager_on_updateUserRiskPremium() (gas: 1410456)
[PASS] test_onlyPositionManager_on_usingAsCollateral() (gas: 143048)
[PASS] test_onlyPositionManager_on_withdraw() (gas: 320913)
[PASS] test_renouncePositionManagerRole() (gas: 20039)
[PASS] test_renouncePositionManagerRole_noop_from_disabled() (gas: 21345)
[PASS] test_setApprovalForPositionManager(bytes32) (runs: 10000, μ: 19930, ~: 19880)
[PASS] test_setApproval_revertsWith_InactivePositionManager() (gas: 20176)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 857.37ms (837.33ms CPU time)
Ran 17 tests for tests/unit/AaveOracle.t.sol:AaveOracleTest
[PASS] testDECIMALS() (gas: 8379)
[PASS] test_constructor() (gas: 16641)
[PASS] test_deploy_revertsWith_InvalidAddress() (gas: 5370)
[PASS] test_description() (gas: 12049)
[PASS] test_fuzz_constructor(uint8) (runs: 10000, μ: 20596, ~: 20921)
Logs:
Bound result 4
[PASS] test_getReservePrice() (gas: 47398)
[PASS] test_getReservePrice_revertsWith_InvalidPrice() (gas: 46691)
[PASS] test_getReservePrice_revertsWith_InvalidSource() (gas: 10998)
[PASS] test_getReservePrices() (gas: 79462)
[PASS] test_getReservePrices_revertsWith_InvalidSource() (gas: 49374)
[PASS] test_getReserveSource() (gas: 47628)
[PASS] test_setReserveSource() (gas: 44488)
[PASS] test_setReserveSource_revertsWith_InvalidPrice() (gas: 97705)
[PASS] test_setReserveSource_revertsWith_InvalidSource() (gas: 15349)
[PASS] test_setReserveSource_revertsWith_InvalidSourceDecimals() (gas: 15171)
[PASS] test_setReserveSource_revertsWith_OnlySpoke() (gas: 10984)
[PASS] test_spoke() (gas: 10559)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 1.70s (1.69s CPU time)
Ran 8 tests for tests/unit/AccessManagerEnumerable.t.sol:AccessManagerEnumerableTest
[PASS] test_getRoleMembers_fuzz(uint256,uint256) (runs: 10000, μ: 1921326, ~: 1920052)
Logs:
Bound result 3
Bound result 9
[PASS] test_getRoleTargetFunctions_fuzz(uint256,uint256) (runs: 10000, μ: 1118531, ~: 1117552)
Logs:
Bound result 4
Bound result 14
[PASS] test_grantRole() (gas: 239205)
[PASS] test_grantRole_fuzz(uint64,uint256) (runs: 10000, μ: 856242, ~: 851108)
Logs:
Bound result 4
[PASS] test_revokeRole() (gas: 259646)
[PASS] test_setTargetFunctionRole() (gas: 274815)
[PASS] test_setTargetFunctionRole_skipAddToAdminRole() (gas: 29820)
[PASS] test_setTargetFunctionRole_withReplace() (gas: 336391)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 25.35s (25.35s CPU time)
Ran 23 tests for tests/unit/AssetInterestRateStrategy.t.sol:AssetInterestRateStrategyTest
[PASS] test_calculateInterestRate_AtKinkPoint() (gas: 24686)
Logs:
Bound result 2000
Bound result 287727820395375775744486740224
[PASS] test_calculateInterestRate_AtMaxUtilization() (gas: 24958)
Logs:
Bound result 10000
Bound result 213388054175223396384462362416
[PASS] test_calculateInterestRate_LeftToKinkPoint(uint256) (runs: 10000, μ: 24540, ~: 24690)
Logs:
Bound result 2318
Bound result 229374715647482091571138230737
[PASS] test_calculateInterestRate_RightToKinkPoint(uint256) (runs: 10000, μ: 25638, ~: 25690)
Logs:
Bound result 8883
Bound result 469158951330113724014865642322
[PASS] test_calculateInterestRate_ZeroDebtZeroLiquidity() (gas: 18944)
Logs:
Bound result 0
[PASS] test_calculateInterestRate_fuzz_ZeroDebt(uint256) (runs: 10000, μ: 19180, ~: 18950)
Logs:
Bound result 1329227995784915872903807060280344574
[PASS] test_calculateInterestRate_revertsWith_InterestRateDataNotSet() (gas: 11361)
[PASS] test_deploy_revertsWith_InvalidAddress() (gas: 3916)
[PASS] test_getBaseVariableBorrowRate() (gas: 14864)
[PASS] test_getInterestRateData() (gas: 19653)
[PASS] test_getMaxVariableBorrowRate() (gas: 15312)
[PASS] test_getOptimalUsageRatio() (gas: 14735)
[PASS] test_getVariableRateSlope1() (gas: 14810)
[PASS] test_getVariableRateSlope2() (gas: 14877)
[PASS] test_maxBorrowRate() (gas: 8431)
[PASS] test_maxOptimalRatio() (gas: 8431)
[PASS] test_minOptimalRatio() (gas: 8440)
[PASS] test_setInterestRateData() (gas: 69812)
[PASS] test_setInterestRateData_revertsWith_InvalidMaxRate() (gas: 42072)
[PASS] test_setInterestRateData_revertsWith_InvalidOptimalUsageRatio() (gas: 43120)
[PASS] test_setInterestRateData_revertsWith_InvalidRateData() (gas: 35395)
[PASS] test_setInterestRateData_revertsWith_OnlyHub() (gas: 23786)
[PASS] test_setInterestRateData_revertsWith_Slope2MustBeGteSlope1() (gas: 37980)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 2.18s (2.17s CPU time)
Ran 8 tests for tests/unit/misc/EIP712Hash.t.sol:EIP712HashTest
[PASS] test_constants() (gas: 5450)
[PASS] test_hash_borrow_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 10000, μ: 4659, ~: 4659)
[PASS] test_hash_repay_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 10000, μ: 4615, ~: 4615)
[PASS] test_hash_setUsingAsCollateral_fuzz((address,uint256,bool,address,uint256,uint256)) (runs: 10000, μ: 4902, ~: 4902)
[PASS] test_hash_supply_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 10000, μ: 4703, ~: 4703)
[PASS] test_hash_updateUserDynamicConfig_fuzz((address,address,uint256,uint256)) (runs: 10000, μ: 4441, ~: 4441)
[PASS] test_hash_updateUserRiskPremium_fuzz((address,address,uint256,uint256)) (runs: 10000, μ: 4462, ~: 4462)
[PASS] test_hash_withdraw_fuzz((address,uint256,uint256,address,uint256,uint256)) (runs: 10000, μ: 4681, ~: 4681)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.85s (1.85s CPU time)
Ran 8 tests for tests/unit/misc/GatewayBase.t.sol:GatewayBaseTest
[PASS] test_constructor() (gas: 17646)
[PASS] test_registerSpoke_fuzz(address) (runs: 10000, μ: 42033, ~: 42033)
[PASS] test_registerSpoke_revertsWith_InvalidAddress() (gas: 13345)
[PASS] test_registerSpoke_revertsWith_OwnableUnauthorizedAccount() (gas: 14077)
[PASS] test_registerSpoke_unregister() (gas: 36599)
[PASS] test_renouncePositionManagerRole() (gas: 65281)
[PASS] test_renouncePositionManagerRole_revertsWith_InvalidAddress() (gas: 76695)
[PASS] test_renouncePositionManagerRole_revertsWith_OwnableUnauthorizedAccount() (gas: 76856)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 711.67ms (691.10ms CPU time)
Ran 5 tests for tests/gas/Gateways.Operations.gas.t.sol:NativeTokenGateway_Gas_Tests
[PASS] test_borrowNative() (gas: 922127)
[PASS] test_repayNative() (gas: 996932)
[PASS] test_supplyAndCollateralNative() (gas: 306548)
[PASS] test_supplyNative() (gas: 288339)
[PASS] test_withdrawNative() (gas: 511014)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 36.90ms (4.55ms CPU time)
Ran 8 tests for tests/gas/Gateways.Operations.gas.t.sol:SignatureGateway_Gas_Tests
[PASS] test_borrowWithSig() (gas: 749728)
[PASS] test_repayWithSig() (gas: 986703)
[PASS] test_setSelfAsUserPositionManagerWithSig() (gas: 207421)
[PASS] test_setUsingAsCollateralWithSig() (gas: 290425)
[PASS] test_supplyWithSig() (gas: 462683)
[PASS] test_updateUserDynamicConfigWithSig() (gas: 144529)
[PASS] test_updateUserRiskPremiumWithSig() (gas: 142178)
[PASS] test_withdrawWithSig() (gas: 412693)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 41.61ms (8.37ms CPU time)
Ran 6 tests for tests/unit/Hub/Hub.Access.t.sol:HubAccessTest
[PASS] test_change_authority() (gas: 210550)
[PASS] test_change_role_responsibility() (gas: 122065)
[PASS] test_hub_access_manager_exposure() (gas: 12684)
[PASS] test_hub_admin_access() (gas: 1205062)
[PASS] test_migrate_role_responsibility() (gas: 682280)
[PASS] test_setInterestRateData_access() (gas: 103546)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 24.00ms (4.12ms CPU time)
Ran 12 tests for tests/unit/Spoke/Spoke.SetUserPositionManagerWithSig.t.sol:SpokeSetUserPositionManagerWithSigTest
[PASS] test_DOMAIN_SEPARATOR() (gas: 16466)
[PASS] test_eip712Domain() (gas: 22064)
[PASS] test_setUserPositionManagerWithSig() (gas: 243619)
[PASS] test_setUserPositionManagerWithSig_ERC1271() (gas: 306735)
[PASS] test_setUserPositionManagerWithSig_ERC1271_revertsWith_InvalidAccountNonce(bytes32) (runs: 10000, μ: 377691, ~: 376628)
[PASS] test_setUserPositionManagerWithSig_ERC1271_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 228741)
[PASS] test_setUserPositionManagerWithSig_ERC1271_revertsWith_InvalidSignature_dueTo_InvalidHash() (gas: 279413)
[PASS] test_setUserPositionManagerWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 10000, μ: 221855, ~: 221667)
[PASS] test_setUserPositionManagerWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 30686)
[PASS] test_setUserPositionManagerWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 31970)
[PASS] test_setUserPositionManager_typeHash() (gas: 4015)
[PASS] test_useNonce_monotonic(bytes32) (runs: 10000, μ: 17972, ~: 17972)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 33.62s (33.59s CPU time)
Ran 5 tests for tests/unit/Spoke/Spoke.SetUsingAsCollateral.t.sol:SpokeConfigTest
[PASS] test_setUsingAsCollateral() (gas: 313686)
[PASS] test_setUsingAsCollateral_collateralStatusUnchanged() (gas: 454124)
[PASS] test_setUsingAsCollateral_revertsWith_ReserveFrozen() (gas: 105264)
[PASS] test_setUsingAsCollateral_revertsWith_ReserveNotListed() (gas: 21986)
[PASS] test_setUsingAsCollateral_revertsWith_ReservePaused() (gas: 64656)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 25.97ms (4.80ms 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: 10000, μ: 696607, ~: 696449)
Logs:
Bound result 23162263323885398575441255248
Bound result 551881300
Bound result 49590960403421108064013229239
[PASS] test_repay_less_than_share() (gas: 584451)
[PASS] test_repay_only_base_debt_interest() (gas: 758320)
[PASS] test_repay_only_base_debt_no_premium() (gas: 641611)
[PASS] test_repay_supply_ex_rate_decr() (gas: 1484674)
[PASS] test_repay_supply_ex_rate_decr_skip_time() (gas: 1482002)
[PASS] test_repay_zero_shares_nonzero_premium_debt() (gas: 762039)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 32.94s (32.92s CPU time)
Ran 19 tests for tests/unit/Hub/Hub.Add.t.sol:HubAddTest
[PASS] test_add_AddCapReachedButNotExceeded_rounding() (gas: 675285)
[PASS] test_add_fuzz_AddCapReachedButNotExceeded(uint40) (runs: 10000, μ: 160183, ~: 160147)
Logs:
Bound result 15037
[PASS] test_add_fuzz_multi_asset_multi_spoke(uint256,uint256,uint256) (runs: 10000, μ: 330207, ~: 330441)
Logs:
Bound result 0
Bound result 1575216395950
Bound result 928472014338291480805654358905
[PASS] test_add_fuzz_revertsWith_AddCapExceeded(uint40) (runs: 10000, μ: 112999, ~: 112962)
Logs:
Bound result 11349
[PASS] test_add_fuzz_revertsWith_AddCapExceeded_due_to_interest(uint40,uint256,uint256) (runs: 10000, μ: 274483, ~: 274376)
Logs:
Bound result 8547
Bound result 5640
Bound result 17864
[PASS] test_add_fuzz_revertsWith_InvalidShares_due_to_index(uint256,uint256,uint256) (runs: 10000, μ: 229999, ~: 230208)
Logs:
Bound result 999999999999999999999999999998
Bound result 1083898954
Bound result 3
[PASS] test_add_fuzz_single_asset(uint256,address,uint256) (runs: 10000, μ: 345555, ~: 345454)
Logs:
Bound result 3
Bound result 13697321729441020
[PASS] test_add_fuzz_single_spoke_multi_add(uint256,uint256) (runs: 10000, μ: 822162, ~: 822213)
Logs:
Bound result 179871023565643289081028563687
Bound result 1
[PASS] test_add_multi_add_minimal_shares() (gas: 328544)
[PASS] test_add_revertsWith_AmountDowncastOverflow() (gas: 368149)
[PASS] test_add_revertsWith_InsufficientTransferred() (gas: 64867)
[PASS] test_add_revertsWith_InvalidAmount() (gas: 13475)
[PASS] test_add_revertsWith_InvalidShares() (gas: 230124)
[PASS] test_add_revertsWith_SharesDowncastOverflow() (gas: 228043)
[PASS] test_add_revertsWith_SpokeNotActive() (gas: 98590)
[PASS] test_add_revertsWith_SpokePaused() (gas: 98707)
[PASS] test_add_single_asset() (gas: 333479)
Logs:
Bound result 2
Bound result 100000000000000000000
[PASS] test_add_with_increased_index() (gas: 308110)
[PASS] test_add_with_increased_index_with_premium() (gas: 688658)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 97.13s (97.11s CPU time)
Ran 14 tests for tests/unit/Spoke/Spoke.Supply.t.sol:SpokeSupplyTest
[PASS] test_fuzz_supply_effect_on_ex_rates(uint256,uint256) (runs: 10000, μ: 706674, ~: 707783)
Logs:
Bound result 412441420
Bound result 1
[PASS] test_supply() (gas: 302919)
[PASS] test_supply_does_not_update_risk_premium() (gas: 1658466)
[PASS] test_supply_fuzz_amounts(uint256) (runs: 10000, μ: 430541, ~: 430231)
Logs:
Bound result 12850
[PASS] test_supply_fuzz_index_increase_no_premium(uint256,uint256,uint256,uint256) (runs: 10000, μ: 662778, ~: 663030)
Logs:
Bound result 326411577960326964584540511358
Bound result 87024
Bound result 0
Bound result 852737811
[PASS] test_supply_fuzz_index_increase_with_premium(uint256,uint256,uint256,uint256) (runs: 10000, μ: 759535, ~: 759687)
Logs:
Bound result 569831226909633041724989878950
Bound result 35391
Bound result 0
Bound result 1937552
[PASS] test_supply_fuzz_revertsWith_ERC20InsufficientBalance(uint256) (runs: 10000, μ: 62254, ~: 61986)
Logs:
Bound result 23399
[PASS] test_supply_index_increase_no_premium() (gas: 864815)
[PASS] test_supply_index_increase_with_premium() (gas: 923733)
[PASS] test_supply_revertsWith_ERC20InsufficientAllowance() (gas: 39740)
[PASS] test_supply_revertsWith_InvalidSupplyAmount() (gas: 41953)
[PASS] test_supply_revertsWith_ReserveFrozen() (gas: 65102)
[PASS] test_supply_revertsWith_ReserveNotListed() (gas: 22091)
[PASS] test_supply_revertsWith_ReservePaused() (gas: 65022)
Suite result: ok. 14 passed; 0 failed; 0 skipped; finished in 101.94s (101.92s CPU time)
Ran 8 tests for tests/unit/Spoke/Spoke.Upgradeable.t.sol:SpokeUpgradeableTest
[PASS] test_implementation_constructor_fuzz(uint64) (runs: 10000, μ: 5014278, ~: 5014278)
[PASS] test_proxy_constructor_fuzz(uint64) (runs: 10000, μ: 5036730, ~: 5036723)
Logs:
Bound result 1
[PASS] test_proxy_constructor_fuzz_revertsWith_InvalidInitialization(uint64) (runs: 10000, μ: 10021635, ~: 10021628)
Logs:
Bound result 1728000000
[PASS] test_proxy_constructor_revertsWith_InvalidAddress() (gas: 9519)
[PASS] test_proxy_constructor_revertsWith_InvalidInitialization_ZeroRevision() (gas: 5011139)
[PASS] test_proxy_reinitialization_fuzz(uint64) (runs: 10000, μ: 10938561, ~: 10938550)
Logs:
Bound result 456
[PASS] test_proxy_reinitialization_revertsWith_CallerNotProxyAdmin() (gas: 5015115)
[PASS] test_proxy_reinitialization_revertsWith_InvalidAddress() (gas: 5016833)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 42.25s (42.22s CPU time)
Ran 6 tests for tests/unit/Spoke/Spoke.UserAccountData.t.sol:SpokeUserAccountDataTest
[PASS] test_userAccountData_scenario1() (gas: 499849)
[PASS] test_userAccountData_scenario2() (gas: 561970)
[PASS] test_userAccountData_scenario3() (gas: 562245)
[PASS] test_userAccountData_scenario4() (gas: 838871)
[PASS] test_userAccountData_scenario5() (gas: 717637)
[PASS] test_userAccountData_scenario6() (gas: 690081)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 27.01ms (4.64ms CPU time)
Ran 35 tests for tests/unit/Hub/Hub.Config.t.sol:HubConfigTest
[PASS] test_addAsset_fuzz(address,uint8,address) (runs: 10000, μ: 413985, ~: 414017)
Logs:
Bound result 18
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_feeReceiver(address,uint8,address) (runs: 10000, μ: 46608, ~: 46938)
Logs:
Bound result 0
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_irStrategy(address,uint8,address) (runs: 10000, μ: 46641, ~: 46969)
Logs:
Bound result 0
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_underlying(uint8,address,address) (runs: 10000, μ: 37700, ~: 37700)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals(address,uint8,address,address) (runs: 10000, μ: 47155, ~: 46949)
Logs:
Bound result 22
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals_tooLow(address,uint8,address,address) (runs: 10000, μ: 47413, ~: 47648)
Logs:
Bound result 3
[PASS] test_addAsset_fuzz_reverts_InvalidIrData(address,uint8,address,address) (runs: 10000, μ: 106583063, ~: 36219)
Logs:
Bound result 7
[PASS] test_addAsset_revertsWith_BlockTimestampDowncastOverflow() (gas: 767668)
[PASS] test_addAsset_revertsWith_DrawnRateDowncastOverflow() (gas: 764724)
[PASS] test_addAsset_reverts_UnderlyingAlreadyListed() (gas: 47752)
[PASS] test_addSpoke_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 10000, μ: 125842, ~: 125896)
Logs:
Bound result 0
[PASS] test_addSpoke_fuzz_revertsWith_AssetNotListed(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 10000, μ: 34721, ~: 34709)
Logs:
Bound result 1082385666380563208490542499155
[PASS] test_addSpoke_fuzz_revertsWith_InvalidAddress_spoke(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 10000, μ: 33424, ~: 33474)
Logs:
Bound result 0
[PASS] test_addSpoke_revertsWith_SpokeAlreadyListed() (gas: 38854)
[PASS] test_hub_deploy_revertsWith_InvalidAddress() (gas: 3842)
[PASS] test_hub_max_riskPremium() (gas: 8525)
[PASS] test_updateAssetConfig_NewFeeReceiver_noFees() (gas: 732191)
[PASS] test_updateAssetConfig_NewFeeReceiver_revertsWith_SpokeNotActive_noFees() (gas: 626186)
[PASS] test_updateAssetConfig_UseExistingSpokeAndListedAsFeeReceiver_revertsWith_SpokeAlreadyListed() (gas: 72090)
[PASS] test_updateAssetConfig_fuzz(uint256,(address,uint16,address,address)) (runs: 10000, μ: 268856, ~: 269125)
Logs:
Bound result 4
Bound result 1481
[PASS] test_updateAssetConfig_fuzz_FromZeroLiquidityFee(uint256,uint16) (runs: 10000, μ: 822558, ~: 822505)
Logs:
Bound result 4
Bound result 317
Bound result 4
Bound result 0
Bound result 4
Bound result 317
[PASS] test_updateAssetConfig_fuzz_LiquidityFee(uint256,uint16) (runs: 10000, μ: 725128, ~: 725087)
Logs:
Bound result 2
Bound result 18
Bound result 2
Bound result 18
[PASS] test_updateAssetConfig_fuzz_NewFeeReceiver(uint256) (runs: 10000, μ: 831327, ~: 831447)
Logs:
Bound result 2
Bound result 2
Bound result 500
[PASS] test_updateAssetConfig_fuzz_NewInterestRateStrategy(uint256) (runs: 10000, μ: 706015, ~: 706140)
Logs:
Bound result 0
[PASS] test_updateAssetConfig_fuzz_ReuseFeeReceiver_revertsWith_SpokeAlreadyListed(uint256) (runs: 10000, μ: 883648, ~: 883772)
Logs:
Bound result 0
Bound result 0
Bound result 0
Bound result 1000
[PASS] test_updateAssetConfig_fuzz_Scenario(uint256) (runs: 10000, μ: 680254, ~: 680306)
Logs:
Bound result 0
Bound result 0
Bound result 1000
Bound result 0
Bound result 1000
Bound result 0
Bound result 0
Bound result 0
Bound result 0
Bound result 0
Bound result 0
Bound result 0
Bound result 0
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidInterestRateStrategy(uint256) (runs: 10000, μ: 59944, ~: 59995)
Logs:
Bound result 3
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidLiquidityFee(uint256,(address,uint16,address,address)) (runs: 10000, μ: 40977, ~: 40880)
Logs:
Bound result 1
Bound result 3
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidReinvestmentController() (gas: 490553)
[PASS] test_updateAssetConfig_fuzz_revertsWith_calculateInterestRateReverts(uint256,(address,uint16,address,address)) (runs: 10000, μ: 202231, ~: 202502)
Logs:
Bound result 1
Bound result 5366
[PASS] test_updateAssetConfig_fuzz_revertsWith_setInterestRateDataReverts(uint256,(address,uint16,address,address)) (runs: 10000, μ: 65091, ~: 64994)
Logs:
Bound result 4
Bound result 208
[PASS] test_updateAssetConfig_oldFeeReceiver_flags() (gas: 708280)
Logs:
Bound result 2
Bound result 500
Bound result 2
Bound result 500
Bound result 2
Bound result 500
Bound result 0
Bound result 1000
[PASS] test_updateSpokeConfig_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 10000, μ: 58449, ~: 58515)
Logs:
Bound result 0
[PASS] test_updateSpokeConfig_fuzz_revertsWith_SpokeNotListed(uint256,address,(uint40,uint40,uint24,bool,bool)) (runs: 10000, μ: 40442, ~: 40504)
Logs:
Bound result 3
[PASS] test_updateSpokeConfig_revertsWith_AssetNotListed() (gas: 29334)
Suite result: ok. 35 passed; 0 failed; 0 skipped; finished in 200.65s (200.63s CPU time)
Ran 16 tests for tests/unit/Hub/Hub.Draw.t.sol:HubDrawTest
[PASS] test_draw_DifferentSpokes() (gas: 362336)
[PASS] test_draw_fuzz_IncreasedBorrowRate(uint256,uint256) (runs: 10000, μ: 705051, ~: 705097)
Logs:
Bound result 1
Bound result 90283052741385934335699328104
[PASS] test_draw_fuzz_amounts_same_block(uint256,uint256) (runs: 10000, μ: 289005, ~: 288910)
Logs:
Bound result 0
Bound result 1
[PASS] test_draw_fuzz_revertsWith_DrawCapExceeded(uint40) (runs: 10000, μ: 81418, ~: 81382)
Logs:
Bound result 21624328385
[PASS] test_draw_fuzz_revertsWith_DrawCapExceeded_due_to_interest(uint40,uint256,uint256) (runs: 10000, μ: 293860, ~: 294131)
Logs:
Bound result 3559
Bound result 3914
Bound result 2
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity(uint256,uint256) (runs: 10000, μ: 34073, ~: 33863)
Logs:
Bound result 1
Bound result 1104251137795585799102
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity_due_to_draw(uint256) (runs: 10000, μ: 175316, ~: 175045)
Logs:
Bound result 665235841099068870896188205484
[PASS] test_draw_fuzz_revertsWith_InsufficientLiquidity_due_to_remove(uint256) (runs: 10000, μ: 136202, ~: 136013)
Logs:
Bound result 866065786519167270736346684059
[PASS] test_draw_fuzz_revertsWith_InvalidAddress(uint256) (runs: 10000, μ: 15757, ~: 15757)
[PASS] test_draw_revertsWith_DrawCapExceeded_due_to_deficit() (gas: 274342)
[PASS] test_draw_revertsWith_InsufficientLiquidity() (gas: 28097)
[PASS] test_draw_revertsWith_InsufficientLiquidity_due_to_draw() (gas: 171620)
[PASS] test_draw_revertsWith_InsufficientLiquidity_due_to_remove() (gas: 133323)
[PASS] test_draw_revertsWith_InvalidAmount() (gas: 15877)
[PASS] test_draw_revertsWith_SpokeNotActive() (gas: 59712)
[PASS] test_draw_revertsWith_SpokePaused() (gas: 59785)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 50.78s (50.75s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueInterest.t.sol:SpokeAccrueInterestTest
[PASS] test_accrueInterest_NoActionTaken() (gas: 132063)
[PASS] test_accrueInterest_NoInterest_NoDebt(uint40) (runs: 10000, μ: 639081, ~: 638923)
Logs:
Bound result 4
[PASS] test_accrueInterest_NoInterest_OnlySupply(uint40) (runs: 10000, μ: 252250, ~: 252281)
Logs:
Bound result 0
[PASS] test_accrueInterest_TenPercentRp(uint256,uint40) (runs: 10000, μ: 584604, ~: 585091)
Logs:
Bound result 230960906588280552217423844417
Bound result 527228561
[PASS] test_accrueInterest_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 10000, μ: 542190, ~: 542485)
Logs:
Bound result 24976343554918515039707354982
Bound result 159898500
[PASS] test_accrueInterest_fuzz_RPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint40) (runs: 10000, μ: 3866318, ~: 3882582)
Logs:
Bound result 1506448242639236025915
Bound result 2
Bound result 344222380883448727249606972084
Bound result 21713302
Bound result 63470475548665421696603393446
Bound result 500000000000000000000000000000
Bound result 67949351497068729552390
Bound result 2203468747309471129461
Bound result 116595
Bound result 63470475548665421696603393446
Bound result 500000000000000000000000000000
Bound result 67949351497068729552390
Bound result 2203468747309471129461
[PASS] test_accrueInterest_fuzz_RatesRPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint96,uint96,uint96,uint96),uint40) (runs: 10000, μ: 3930707, ~: 3949298)
Logs:
Bound result 9
Bound result 15405
Bound result 5900000000
Bound result 700000000000000000
Bound result 579760926
Bound result 282860109778948621113262157166
Bound result 3600000000000000000000
Bound result 6800
Bound result 16194
Bound result 6066
Bound result 20452
Bound result 16427
Bound result 486504908
Bound result 579760926
Bound result 20360109774523621113263003697
Bound result 108725708198528297876
Bound result 6800
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 411.67s (411.65s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.EliminateDeficit.t.sol:HubEliminateDeficitTest
[PASS] test_eliminateDeficit(uint256) (runs: 10000, μ: 657194, ~: 657194)
[PASS] test_eliminateDeficit_allowSpokePaused() (gas: 429463)
[PASS] test_eliminateDeficit_fuzz_revertsWith_ArithmeticUnderflow_CallerSpokeNoFunds(uint256) (runs: 10000, μ: 343589, ~: 343589)
[PASS] test_eliminateDeficit_fuzz_revertsWith_callerSpokeNotActive(address) (runs: 10000, μ: 28908, ~: 28908)
[PASS] test_eliminateDeficit_revertsWith_InvalidAmount_ZeroAmountNoDeficit() (gas: 20068)
[PASS] test_eliminateDeficit_revertsWith_InvalidAmount_ZeroAmountWithDeficit() (gas: 340599)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 35.36s (35.34s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.MintFeeShares.t.sol:HubMintFeeSharesTest
[PASS] test_mintFeeShares() (gas: 314993)
[PASS] test_mintFeeShares_noFees() (gas: 370412)
[PASS] test_mintFeeShares_noShares() (gas: 301362)
[PASS] test_mintFeeShares_revertsWith_AccessManagedUnauthorized() (gas: 25025)
[PASS] test_mintFeeShares_revertsWith_AssetNotListed() (gas: 27812)
[PASS] test_mintFeeShares_revertsWith_SpokeNotActive() (gas: 245976)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 24.79ms (4.50ms CPU time)
Ran 9 tests for tests/gas/Hub.Operations.gas.t.sol:HubOperations_Gas_Tests
[PASS] test_add() (gas: 273543)
[PASS] test_deficit() (gas: 1181399)
[PASS] test_draw() (gas: 423925)
[PASS] test_mintFeeShares() (gas: 508292)
[PASS] test_payFee_transferShares() (gas: 975461)
[PASS] test_refreshPremium() (gas: 636657)
[PASS] test_remove() (gas: 314977)
[PASS] test_restore() (gas: 891946)
[PASS] test_restore_with_transfer() (gas: 892614)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 40.67ms (7.84ms 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: 10000, μ: 540644, ~: 540718)
Logs:
Bound result 372500000000000000000
Bound result 100000
Bound result 8162
Bound result 3
[PASS] test_accrueLiquidityFee_fuzz_maxLiquidityFee_with_premium_multiple_users(uint256,uint256,uint256,uint256,uint256) (runs: 10000, μ: 792284, ~: 792335)
Logs:
Bound result 3176
Bound result 249999999999999999999999999999
Bound result 23468
Bound result 648
Bound result 2
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_spoke() (gas: 717644604)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_user() (gas: 303124638)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_with_premium() (gas: 541002)
Logs:
Bound result 500000000000000000000
Bound result 5000
Bound result 34560000
Bound result 2
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 37.64s (37.62s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.PayFee.t.sol:HubPayFeeTest
[PASS] test_payFee_fuzz(uint256,uint256) (runs: 10000, μ: 707987, ~: 708130)
Logs:
Bound result 114401265751
Bound result 0
Bound result 5945380293
[PASS] test_payFee_fuzz_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 708457, ~: 708729)
Logs:
Bound result 3
Bound result 784775096
Bound result 2
[PASS] test_payFee_revertsWith_InvalidShares() (gas: 20137)
[PASS] test_payFee_revertsWith_SpokeNotActive() (gas: 59678)
[PASS] test_payFee_revertsWith_underflow_added_shares_exceeded() (gas: 138907)
[PASS] test_payFee_revertsWith_underflow_added_shares_exceeded_with_interest() (gas: 653077)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 52.93s (52.91s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueLiquidityFee.t.sol:SpokeAccrueLiquidityFeeTest
[PASS] test_accrueLiquidityFee() (gas: 881944)
[PASS] test_accrueLiquidityFee_NoActionTaken() (gas: 120065)
[PASS] test_accrueLiquidityFee_NoInterest_OnlySupply(uint40) (runs: 10000, μ: 247258, ~: 247256)
Logs:
Bound result 41907
[PASS] test_accrueLiquidityFee_exact() (gas: 888610)
[PASS] test_accrueLiquidityFee_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 10000, μ: 959706, ~: 981649)
Logs:
Bound result 94089528298259561612054
Bound result 29627
[PASS] test_accrueLiquidityFee_maxLiquidityFee() (gas: 546876)
[PASS] test_accrueLiquidityFee_setUsingAsCollateral() (gas: 901085)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 43.60s (43.58s CPU time)
Ran 10 tests for tests/unit/Hub/Hub.Reclaim.t.sol:HubReclaimTest
[PASS] test_reclaim() (gas: 680694)
Logs:
Bound result 1000000000000000000000
Bound result 500000000000000000000
Bound result 200000000000000000000
[PASS] test_reclaim_fullAmount() (gas: 661472)
[PASS] test_reclaim_fuzz(uint256,uint256,uint256) (runs: 10000, μ: 682471, ~: 681689)
Logs:
Bound result 736859776283892489568423027248
Bound result 80000000000000000000
Bound result 13
[PASS] test_reclaim_multipleSweepsAndReclaims() (gas: 789768)
[PASS] test_reclaim_revertsWith_AssetNotListed() (gas: 12439)
[PASS] test_reclaim_revertsWith_InvalidAmount_zero() (gas: 93115)
[PASS] test_reclaim_revertsWith_OnlyReinvestmentController(address) (runs: 10000, μ: 93980, ~: 93980)
[PASS] test_reclaim_revertsWith_OnlyReinvestmentController_init() (gas: 40003)
[PASS] test_reclaim_revertsWith_underflow_exceedsSwept() (gas: 98578)
[PASS] test_reclaim_revertsWith_underflow_exceedsSwept_afterSweep() (gas: 461593)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 31.10s (31.08s CPU time)
Ran 21 tests for tests/unit/Spoke/Spoke.Withdraw.HealthFactor.t.sol:SpokeWithdrawHealthFactorTest
[PASS] test_unsetCollateral_fuzz_revertsWith_HealthFactorBelowThreshold(uint256) (runs: 10000, μ: 761052, ~: 760786)
Logs:
Bound result 161511189662172960847968519596
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_interest_increase(uint256,uint256) (runs: 10000, μ: 656230, ~: 656747)
Logs:
Bound result 9080
Bound result 750000000
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls(uint256,uint256) (runs: 10000, μ: 883654, ~: 884451)
Logs:
Bound result 200000000
Bound result 124
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls_price_drop_dai(uint256,uint256,uint256) (runs: 10000, μ: 1147231, ~: 1149231)
Logs:
Bound result 35174396
Bound result 1162190
Bound result 463259900
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls_price_drop_weth(uint256,uint256,uint256) (runs: 10000, μ: 1148510, ~: 1149225)
Logs:
Bound result 181995348004
Bound result 890
Bound result 20857
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls_with_interest(uint256,uint256) (runs: 10000, μ: 940069, ~: 942147)
Logs:
Bound result 5826
Bound result 17133
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_debts(uint256,uint256) (runs: 10000, μ: 1004511, ~: 1004409)
Logs:
Bound result 14424
Bound result 168
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_debts_price_drop(uint256,uint256,uint256) (runs: 10000, μ: 1253277, ~: 1253518)
Logs:
Bound result 7392
Bound result 22650
Bound result 250000000000000000000
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_debts_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 1041398, ~: 1041600)
Logs:
Bound result 251091894
Bound result 734843480199528806409439188995
Bound result 8257122
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_price_drop(uint256,uint256) (runs: 10000, μ: 869305, ~: 869168)
Logs:
Bound result 2303
Bound result 256
[PASS] test_withdraw_fuzz_revertsWith_HealthFactorBelowThreshold_singleBorrow(uint256) (runs: 10000, μ: 620616, ~: 620404)
Logs:
Bound result 700000000000000000
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_interest_increase() (gas: 651382)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_colls() (gas: 879870)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_colls_price_drop_dai() (gas: 1142832)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_colls_price_drop_weth() (gas: 1142812)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_colls_with_interest() (gas: 937006)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_debts() (gas: 999423)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_debts_price_drop() (gas: 1246760)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_multiple_debts_with_interest() (gas: 1035183)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_price_drop() (gas: 864064)
[PASS] test_withdraw_revertsWith_HealthFactorBelowThreshold_singleBorrow() (gas: 622562)
Suite result: ok. 21 passed; 0 failed; 0 skipped; finished in 330.82s (330.80s CPU time)
Ran 12 tests for tests/unit/Hub/Hub.RefreshPremium.t.sol:HubRefreshPremiumTest
[PASS] test_refreshPremium_emitsEvent() (gas: 259520)
[PASS] test_refreshPremium_fuzz_positiveDeltas(uint256,int256,int256) (runs: 10000, μ: 488078, ~: 492769)
Logs:
Bound result 999999999999999999999900000001
Bound result 11249
Bound result 120000000
[PASS] test_refreshPremium_fuzz_withAccrual(uint256,uint256,uint256,uint256) (runs: 10000, μ: 469675, ~: 478963)
Logs:
Bound result 1
Bound result 1
Bound result 5
Bound result 348857405270125634153646177958
[PASS] test_refreshPremium_maxRiskPremiumThreshold() (gas: 895821)
[PASS] test_refreshPremium_negativeDeltas(uint256) (runs: 10000, μ: 461578, ~: 461527)
Logs:
Bound result 8000
[PASS] test_refreshPremium_negativeDeltas_withAccrual(uint256) (runs: 10000, μ: 534472, ~: 534147)
Logs:
Bound result 0
[PASS] test_refreshPremium_pausedSpokesAllowed() (gas: 120453)
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_NonZeroRestoredPremiumRay() (gas: 856098)
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_RiskPremiumThresholdExceeded_DecreasingPremium() (gas: 874294)
[PASS] test_refreshPremium_revertsWith_SpokeNotActive() (gas: 57758)
[PASS] test_refreshPremium_riskPremiumThreshold() (gas: 921229)
[PASS] test_refreshPremium_spokePremiumUpdateIsContained() (gas: 710889)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 44.86s (44.84s CPU time)
Ran 15 tests for tests/unit/Hub/Hub.Remove.t.sol:HubRemoveTest
[PASS] test_remove() (gas: 210665)
Logs:
Bound result 2
Bound result 100000000000000000000
[PASS] test_remove_all_with_interest() (gas: 377919)
[PASS] test_remove_fuzz(uint256,uint256) (runs: 10000, μ: 209231, ~: 209034)
Logs:
Bound result 1
Bound result 8596
[PASS] test_remove_fuzz_all_liquidity_with_interest(uint256,uint256) (runs: 10000, μ: 429899, ~: 430159)
Logs:
Bound result 3968527870998290
Bound result 479087929
[PASS] test_remove_fuzz_multi_spoke(uint256,uint256) (runs: 10000, μ: 293895, ~: 294021)
Logs:
Bound result 716796065597291239375772369658
Bound result 277408601408908088226182587823
[PASS] test_remove_fuzz_multi_spoke_with_interest(uint256,uint256,uint256,uint256) (runs: 10000, μ: 433362, ~: 433926)
Logs:
Bound result 56181105326071633715137630583
Bound result 43818894673928366284862369417
Bound result 1
Bound result 14144491
[PASS] test_remove_revertsWith_InsufficientLiquidity() (gas: 160467)
[PASS] test_remove_revertsWith_InsufficientLiquidity_exceeding_added_amount() (gas: 148158)
[PASS] test_remove_revertsWith_InsufficientLiquidity_zero_added() (gas: 20745)
[PASS] test_remove_revertsWith_InvalidAddress() (gas: 15718)
[PASS] test_remove_revertsWith_InvalidAmount() (gas: 17819)
[PASS] test_remove_revertsWith_SpokeNotActive() (gas: 59802)
[PASS] test_remove_revertsWith_SpokePaused() (gas: 59908)
[PASS] test_remove_revertsWith_underflow_exceeding_added_amount() (gas: 188116)
[PASS] test_remove_revertsWtih_underflow_one_extra_wei() (gas: 372890)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 66.65s (66.63s CPU time)
Ran 5 tests for tests/unit/Spoke/Spoke.Borrow.EdgeCases.t.sol:SpokeBorrowEdgeCasesTest
[PASS] test_borrow_fuzz_rounding_effect(uint256,uint256) (runs: 10000, μ: 1050455, ~: 1050590)
Logs:
Bound result 115
Bound result 185399002606151606685831967409
[PASS] test_borrow_fuzz_rounding_effect_inflated_ex_rate(uint256,uint256,uint256) (runs: 10000, μ: 1418649, ~: 1418747)
Logs:
Bound result 24534982268148940857
Bound result 63140936408460948197217
Bound result 370676316
[PASS] test_borrow_fuzz_rounding_effect_shares(uint256,uint256) (runs: 10000, μ: 1083838, ~: 1083598)
Logs:
Bound result 236041164352414197936550499282
Bound result 540584149
[PASS] test_borrow_rounding_effect_multiple_actions() (gas: 1147417)
[PASS] test_borrow_rounding_effect_shares() (gas: 1082813)
Logs:
Bound result 5000000000000000000
Bound result 94608000
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 125.04s (125.02s CPU time)
Ran 5 tests for tests/unit/Spoke/Spoke.Withdraw.Scenario.t.sol:SpokeWithdrawScenarioTest
[PASS] test_withdraw_fuzz_all_liquidity_with_interest_multi_user((uint256,uint256,uint256,uint256,uint256[2],uint256)) (runs: 10000, μ: 869856, ~: 869915)
Logs:
Bound result 0
Bound result 2126681
Bound result 8516443524749288116073441
Bound result 142208474
Bound result 54303318
Bound result 3397117502297039271537573
Bound result 65922
[PASS] test_withdraw_fuzz_partial_full_with_interest(uint256,uint256,uint256,uint40) (runs: 10000, μ: 717457, ~: 717516)
Logs:
Bound result 26811779724364726784
Bound result 2
Bound result 5725193543988693087
Bound result 3616165
[PASS] test_withdraw_round_trip_deposit_withdraw(uint256,uint256,address,uint256) (runs: 10000, μ: 416930, ~: 416940)
Logs:
Bound result 0
Bound result 255
Bound result 1000000000000000000000000
[PASS] test_withdraw_round_trip_withdraw_deposit(uint256,uint256,uint256,address,uint256) (runs: 10000, μ: 438473, ~: 437795)
Logs:
Bound result 1
Bound result 787815326973978325463902193753
Bound result 12854354692533578670773784305
Bound result 212184673026021674536097806246
[PASS] test_withdraw_underwater_reserve_not_collateral() (gas: 821822)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 119.34s (119.31s CPU time)
Ran 6 tests for tests/unit/Spoke/Spoke.Withdraw.Validation.t.sol:SpokeWithdrawValidationTest
[PASS] test_withdraw_fuzz_revertsWith_InsufficientLiquidity_with_debt(uint256,uint256,uint256,uint256,uint256) (runs: 10000, μ: 432473, ~: 432718)
Logs:
Bound result 0
Bound result 11863
Bound result 5455
Bound result 24448
Bound result 180000000
[PASS] test_withdraw_fuzz_revertsWith_InsufficientSupply_zero_supplied(uint256) (runs: 10000, μ: 52972, ~: 52708)
Logs:
Bound result 1000000000000000000000000000000
[PASS] test_withdraw_revertsWith_InsufficientLiquidity_with_debt() (gas: 429164)
[PASS] test_withdraw_revertsWith_InvalidAmount_zero_supplied() (gas: 49281)
[PASS] test_withdraw_revertsWith_ReserveNotListed() (gas: 22048)
[PASS] test_withdraw_revertsWith_ReservePaused() (gas: 64899)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 12.57s (12.55s CPU time)
Ran 7 tests for tests/unit/Hub/Hub.ReportDeficit.t.sol:HubReportDeficitTest
[PASS] test_reportDeficit_fuzz_revertsWith_SurplusDrawnDeficitReported(uint256) (runs: 10000, μ: 221782, ~: 221521)
Logs:
Bound result 3084
[PASS] test_reportDeficit_fuzz_revertsWith_SurplusPremiumRayDeficitReported(uint256) (runs: 10000, μ: 223377, ~: 223103)
Logs:
Bound result 5766
[PASS] test_reportDeficit_fuzz_with_premium(uint256,uint256,uint256,uint256) (runs: 10000, μ: 676846, ~: 677711)
Logs:
Bound result 3
Bound result 599597451
Bound result 1
Bound result 521007901455350743918792379
[PASS] test_reportDeficit_paused() (gas: 271263)
[PASS] test_reportDeficit_revertsWith_InvalidAmount() (gas: 24122)
[PASS] test_reportDeficit_revertsWith_SpokeNotActive(address) (runs: 10000, μ: 32527, ~: 32527)
[PASS] test_reportDeficit_with_premium() (gas: 676264)
Logs:
Bound result 10000000000
Bound result 31536000
Bound result 5000000000
Bound result 0
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 37.63s (37.61s 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: 10000, μ: 1214565, ~: 1219451)
Logs:
Bound result 5827
Bound result 4100
Bound result 9043
Bound result 7600
Bound result 1320
Bound result 1333
[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: 10000, μ: 2026633, ~: 1996592)
Logs:
Bound result 136
Bound result 750
Bound result 12000000000000000000000000000
Bound result 51214989874233280936144128986140772502013762712926711515271717983386859616936
Bound result 5000000000
Bound result 300000000000000000
Bound result 864000000
[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: 10000, μ: 6004799, ~: 6005078)
Logs:
Bound result 1583732293221532
Bound result 124226345538228563158192226477
Bound result 1437750599579719796
Bound result 43681521828772609991509217285
Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935
Bound result 258628111202730762031350557
Bound result 28669834816508917247402296
Bound result 32788473733568423227
Bound result 124500071911446106313672447343
Bound result 52404286538614834528970489640
Bound result 251
Bound result 27197
Bound result 44403525046472059661352532121115612300783162423377613020367541639699350563357
Bound result 1153020375161671885518684098811386756124836
Bound result 41721501105350346113032134559397651410647023115346584930170612
Bound result 153
Bound result 111481396545333491040794365959
Bound result 49084109540923890721061489027
Bound result 1
Bound result 96288
Bound result 32323135037341580581417551190371125849612992939218892258814249980932381
Bound result 75389791893148699710971998656201199845038489204794511
Bound result 1894461447270442623284138059250831214369164199000375036516513175947
Bound result 140049153038110585447770408216641726677
Bound result 419
[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: 10000, μ: 4255756, ~: 4255951)
Logs:
Bound result 83089245738667100770610241149
Bound result 9700856381061859547896762425
Bound result 106663985166388135
Bound result 428129419210341478
Bound result 422539803172343972055260501436290430795847
Bound result 43802082365689483545678922520
Bound result 22690368320814631821882873662906876277509096074541537134716629346340531
Bound result 1
Bound result 124999999999999999999999999999
Bound result 1457183138611939227764
Bound result 20
Bound result 75860823273537839464957306502
Bound result 1345762169131386004436664553880251762485065482651
Bound result 53269829992515802453215506228153733690555807598237554755915988447
Bound result 46366102601365873709380644
Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935
Bound result 69495352
[PASS] test_repay_partial_then_max() (gas: 684373)
[PASS] test_repay_round_trip_borrow_repay(uint256,uint256,uint40,address,uint256) (runs: 10000, μ: 868470, ~: 871189)
Logs:
Bound result 1
Bound result 960000000000000000
Bound result 6716
Bound result 7491
[PASS] test_repay_round_trip_repay_borrow(uint256,uint256,uint256,uint40,address,uint256) (runs: 10000, μ: 953516, ~: 963373)
Logs:
Bound result 3
Bound result 6000
Bound result 546
Bound result 37500000000000000000
Bound result 1030000000000000000
[PASS] test_repay_two_users_repay_same_reserve((uint256,uint256,uint256,uint256,uint256,uint256,address),(uint256,uint256,uint256,uint256,uint256,uint256,address),uint256) (runs: 10000, μ: 1462304, ~: 1492474)
Logs:
Bound result 103178726698718531993594849281
Bound result 173284149
Bound result 221542458097909883503369
Bound result 2005204964760182404335643
Bound result 505246258
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 649.56s (649.54s CPU time)
Ran 2 tests for tests/unit/Spoke/Spoke.Repay.Validation.t.sol:SpokeRepayValidationTest
[PASS] test_repay_revertsWith_ReserveNotListed() (gas: 21908)
[PASS] test_repay_revertsWith_ReservePaused() (gas: 64778)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 20.91ms (429.27µs CPU time)
Ran 3 tests for tests/unit/Hub/Hub.Rescue.t.sol:HubRescueTest
[PASS] test_cannot_rescue_liquidity_fee_reverts_with_InsufficientTransferred() (gas: 279900)
[PASS] test_rescue_fuzz_with_interest(uint256,uint256) (runs: 10000, μ: 526154, ~: 526142)
Logs:
Bound result 19351592
Bound result 57672528920699548499508579418
[PASS] test_rescue_scenario_fuzz(uint256) (runs: 10000, μ: 462912, ~: 462717)
Logs:
Bound result 48292777383942
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 39.29s (39.27s CPU time)
Ran 23 tests for tests/unit/Hub/Hub.Restore.t.sol:HubRestoreTest
[PASS] test_restore_full_amount_with_interest() (gas: 366906)
Logs:
Bound result 1000000000000000000000
Bound result 500000000000000000000
Bound result 31536000
[PASS] test_restore_full_amount_with_interest_and_premium() (gas: 677542)
Logs:
Bound result 100000000000000000000
Bound result 50000000000000000000
Bound result 31536000
Bound result 1
[PASS] test_restore_fuzz_full_amount_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 368196, ~: 368305)
Logs:
Bound result 548973771218010997730
Bound result 229022463289483
Bound result 172132551
[PASS] test_restore_fuzz_full_amount_with_interest_and_premium(uint256,uint256,uint256,uint256) (runs: 10000, μ: 667898, ~: 679493)
Logs:
Bound result 25000000000000000000
Bound result 960000000000000000
Bound result 20880
Bound result 184
[PASS] test_restore_fuzz_revertsWith_SurplusDrawnRestored_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 248120, ~: 249307)
Logs:
Bound result 10711
Bound result 10683
Bound result 3151
[PASS] test_restore_fuzz_revertsWith_SurplusDrawnRestored_with_interest_and_premium(uint256,uint256,uint256,uint256) (runs: 10000, μ: 639833, ~: 640030)
Logs:
Bound result 1
Bound result 1
Bound result 488482992
Bound result 1
[PASS] test_restore_one_share_delta_increase_revertsWith_InvalidPremiumChange() (gas: 214533)
[PASS] test_restore_partial_drawn() (gas: 330538)
[PASS] test_restore_partial_same_block() (gas: 326324)
[PASS] test_restore_premiumDeltas_twoWeiIncrease_realizedDelta() (gas: 236238)
[PASS] test_restore_revertsWith_InsufficientTransferred() (gas: 258503)
[PASS] test_restore_revertsWith_InvalidAmount_zero() (gas: 53477)
[PASS] test_restore_revertsWith_InvalidPremiumChange_premiumIncrease() (gas: 221685)
[PASS] test_restore_revertsWith_InvalidPremiumChange_premiumSharesIncrease() (gas: 221729)
[PASS] test_restore_revertsWith_SpokeNotActive_whenPaused() (gas: 165985)
[PASS] test_restore_revertsWith_SpokePaused() (gas: 93448)
[PASS] test_restore_revertsWith_SurplusDrawnRestored() (gas: 364815)
[PASS] test_restore_revertsWith_SurplusDrawnRestored_with_interest() (gas: 247883)
Logs:
Bound result 100000000000000000000
Bound result 50000000000000000000
Bound result 15768000
[PASS] test_restore_revertsWith_SurplusDrawnRestored_with_interest_and_premium() (gas: 638102)
Logs:
Bound result 100000000000000000000
Bound result 50000000000000000000
Bound result 31536000
Bound result 1
[PASS] test_restore_revertsWith_SurplusPremiumRayRestored() (gas: 534370)
[PASS] test_restore_revertsWith_underflow_offsetIncrease() (gas: 232925)
[PASS] test_restore_tooMuchDrawn_revertsWith_SurplusDrawnRestored() (gas: 221898)
[PASS] test_restore_when_asset_frozen() (gas: 428262)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 41.21s (41.19s CPU time)
Ran 1 test for tests/unit/Hub/Hub.Rounding.t.sol:HubRoundingTest
[PASS] test_sharePriceWithMultipleDonations() (gas: 679058780)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.42s (3.40s CPU time)
Ran 4 tests for tests/unit/Hub/Hub.Skim.t.sol:HubSkimTest
[PASS] test_skimAdd_fuzz_donationAfterAdd(uint256,uint256,uint256) (runs: 10000, μ: 228295, ~: 228298)
Logs:
Bound result 0
Bound result 1728000000
Bound result 200000000
[PASS] test_skimAdd_fuzz_donationBeforeAdd(uint256,uint256,uint256) (runs: 10000, μ: 228349, ~: 228352)
Logs:
Bound result 2
Bound result 22566231799
Bound result 96964150062199968570990735755
[PASS] test_skimAdd_fuzz_wrongSpokeTransfer(uint256,uint256,uint256) (runs: 10000, μ: 217213, ~: 217154)
Logs:
Bound result 3
Bound result 220191254
Bound result 54
[PASS] test_skimRestore_fuzz_liquidityDonation(uint256,uint256,uint256) (runs: 10000, μ: 276202, ~: 277893)
Logs:
Bound result 3
Bound result 48949110635294594111246965440
Bound result 15
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 58.10s (58.08s CPU time)
Ran 10 tests for tests/unit/Hub/Hub.SpokeConfig.t.sol:HubSpokeConfigTest
[PASS] test_add_active_paused_scenarios() (gas: 293912)
[PASS] test_draw_active_paused_scenarios() (gas: 294341)
[PASS] test_eliminateDeficit_active_paused_scenarios() (gas: 651631)
[PASS] test_mintFeeShares_active_paused_scenarios() (gas: 857310)
[PASS] test_payFeeShares_active_paused_scenarios() (gas: 348069)
[PASS] test_refreshPremium_active_paused_scenarios() (gas: 260108)
[PASS] test_remove_active_paused_scenarios() (gas: 309142)
[PASS] test_reportDeficit_active_paused_scenarios() (gas: 442423)
[PASS] test_restore_active_paused_scenarios() (gas: 349173)
[PASS] test_transferShares_fuzz_active_paused_scenarios(bool,bool,bool,bool) (runs: 10000, μ: 209405, ~: 209312)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 8.47s (8.44s CPU time)
Ran 12 tests for tests/unit/Spoke/Spoke.Withdraw.t.sol:SpokeWithdrawTest
[PASS] test_fuzz_withdraw_effect_on_ex_rates(uint256,uint256) (runs: 10000, μ: 735583, ~: 737682)
Logs:
Bound result 32000000
Bound result 497000000000000000
[PASS] test_withdraw_all_liquidity() (gas: 235131)
[PASS] test_withdraw_all_liquidity_with_interest_no_premium() (gas: 784497)
[PASS] test_withdraw_all_liquidity_with_interest_with_premium() (gas: 791701)
[PASS] test_withdraw_fuzz_all_elapsed_with_interest(uint256,uint256,uint40) (runs: 10000, μ: 664320, ~: 664225)
Logs:
Bound result 18845
Bound result 7512
Bound result 2814
[PASS] test_withdraw_fuzz_all_greater_than_supplied(uint256) (runs: 10000, μ: 238089, ~: 237896)
Logs:
Bound result 563890960535603734654611706276
[PASS] test_withdraw_fuzz_all_liquidity_with_interest_no_premium((uint256,uint256,uint256,uint256,uint256)) (runs: 10000, μ: 843356, ~: 843897)
Logs:
Bound result 0
Bound result 92651360569421861105855858871
Bound result 6921581745196860494201085651
Bound result 99999
Bound result 774040151
[PASS] test_withdraw_fuzz_all_liquidity_with_interest_with_premium((uint256,uint256,uint256,uint256,uint256)) (runs: 10000, μ: 856824, ~: 856871)
Logs:
Bound result 0
Bound result 34789
Bound result 7246
Bound result 47923
Bound result 665
[PASS] test_withdraw_fuzz_all_with_interest(uint256,uint256) (runs: 10000, μ: 675297, ~: 675292)
Logs:
Bound result 917722322937972495493913508402
Bound result 178995921961485646859300812331
[PASS] test_withdraw_fuzz_suppliedAmount(uint256) (runs: 10000, μ: 238070, ~: 237880)
Logs:
Bound result 313784510060429619176231003129
[PASS] test_withdraw_max_greater_than_supplied() (gas: 218933)
[PASS] test_withdraw_same_block() (gas: 243295)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 160.75s (160.73s CPU time)
Ran 49 tests for tests/unit/SpokeConfigurator.t.sol:SpokeConfiguratorTest
[PASS] test_addCollateralFactor() (gas: 113881)
[PASS] test_addCollateralFactor_revertsWith_OwnableUnauthorizedAccount() (gas: 17995)
[PASS] test_addDynamicReserveConfig() (gas: 96182)
[PASS] test_addDynamicReserveConfig_revertsWith_OwnableUnauthorizedAccount() (gas: 18267)
[PASS] test_addLiquidationBonus_revertsWith_OwnableUnauthorizedAccount() (gas: 18102)
[PASS] test_addLiquidationFee() (gas: 113859)
[PASS] test_addLiquidationFee_revertsWith_OwnableUnauthorizedAccount() (gas: 17995)
[PASS] test_addMaxLiquidationBonus() (gas: 113940)
[PASS] test_addReserve() (gas: 420029)
[PASS] test_addReserve_revertsWith_MaximumReservesReached() (gas: 253826)
[PASS] test_addReserve_revertsWith_OwnableUnauthorizedAccount() (gas: 19139)
[PASS] test_freezeAllReserves() (gas: 199042)
[PASS] test_freezeAllReserves_revertsWith_OwnableUnauthorizedAccount() (gas: 15774)
[PASS] test_pauseAllReserves() (gas: 198871)
[PASS] test_pauseAllReserves_revertsWith_OwnableUnauthorizedAccount() (gas: 15731)
[PASS] test_updateBorrowable() (gas: 96457)
[PASS] test_updateBorrowable_revertsWith_OwnableUnauthorizedAccount() (gas: 17993)
[PASS] test_updateCollateralFactor() (gas: 71501)
[PASS] test_updateCollateralFactor_revertsWith_OwnableUnauthorizedAccount() (gas: 18116)
[PASS] test_updateCollateralRisk() (gas: 70767)
[PASS] test_updateCollateralRisk_revertsWith_OwnableUnauthorizedAccount() (gas: 18027)
[PASS] test_updateDynamicReserveConfig() (gas: 2725058)
[PASS] test_updateDynamicReserveConfig_revertsWith_OwnableUnauthorizedAccount() (gas: 18357)
[PASS] test_updateFrozen() (gas: 99371)
[PASS] test_updateFrozen_revertsWith_OwnableUnauthorizedAccount() (gas: 18058)
[PASS] test_updateHealthFactorForMaxBonus() (gas: 57251)
[PASS] test_updateHealthFactorForMaxBonus_revertsWith_OwnableUnauthorizedAccount() (gas: 15862)
[PASS] test_updateLiquidatable() (gas: 96570)
[PASS] test_updateLiquidatable_revertsWith_OwnableUnauthorizedAccount() (gas: 18059)
[PASS] test_updateLiquidationBonusFactor() (gas: 60269)
[PASS] test_updateLiquidationBonusFactor_revertsWith_OwnableUnauthorizedAccount() (gas: 15795)
[PASS] test_updateLiquidationConfig() (gas: 57065)
[PASS] test_updateLiquidationConfig_revertsWith_OwnableUnauthorizedAccount() (gas: 16125)
[PASS] test_updateLiquidationFee() (gas: 71508)
[PASS] test_updateLiquidationFee_revertsWith_OwnableUnauthorizedAccount() (gas: 18075)
[PASS] test_updateLiquidationTargetHealthFactor() (gas: 60270)
[PASS] test_updateLiquidationTargetHealthFactor_revertsWith_OwnableUnauthorizedAccount() (gas: 15886)
[PASS] test_updateMaxLiquidationBonus() (gas: 71462)
[PASS] test_updateMaxLiquidationBonus_revertsWith_OwnableUnauthorizedAccount() (gas: 18010)
[PASS] test_updateMaxReserves() (gas: 42648)
[PASS] test_updateMaxReserves_revertsWith_OwnableUnauthorizedAccount() (gas: 15821)
[PASS] test_updatePaused() (gas: 99246)
[PASS] test_updatePaused_revertsWith_OwnableUnauthorizedAccount() (gas: 18058)
[PASS] test_updatePositionManager() (gas: 62828)
[PASS] test_updatePositionManager_revertsWith_OwnableUnauthorizedAccount() (gas: 15917)
[PASS] test_updateReceiveSharesEnabled() (gas: 96500)
[PASS] test_updateReceiveSharesEnabled_revertsWith_OwnableUnauthorizedAccount() (gas: 18012)
[PASS] test_updateReservePriceSource() (gas: 250193)
[PASS] test_updateReservePriceSource_revertsWith_OwnableUnauthorizedAccount() (gas: 17987)
Suite result: ok. 49 passed; 0 failed; 0 skipped; finished in 45.40ms (23.52ms CPU time)
Ran 8 tests for tests/unit/Hub/Hub.Sweep.t.sol:HubSweepTest
[PASS] test_sweep() (gas: 486373)
Logs:
Bound result 1000000000000000000000
Bound result 1000000000000000000000
[PASS] test_sweep_does_not_impact_utilization(uint256,uint256) (runs: 10000, μ: 635591, ~: 636683)
Logs:
Bound result 807666773866059253631603007703
Bound result 799351692736563656336378425633
[PASS] test_sweep_fuzz(uint256,uint256) (runs: 10000, μ: 486884, ~: 486890)
Logs:
Bound result 104201255265181788609171584255
Bound result 18771635647425992638784047881
[PASS] test_sweep_revertsWith_AssetNotListed() (gas: 12406)
[PASS] test_sweep_revertsWith_InsufficientLiquidity() (gas: 222388)
[PASS] test_sweep_revertsWith_InvalidAmount() (gas: 104209)
[PASS] test_sweep_revertsWith_OnlyReinvestmentController(address) (runs: 10000, μ: 94702, ~: 94702)
[PASS] test_sweep_revertsWith_OnlyReinvestmentController_init() (gas: 40016)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 38.86s (38.84s CPU time)
Ran 7 tests for tests/unit/Hub/Hub.TransferShares.t.sol:HubTransferSharesTest
[PASS] test_transferShares() (gas: 188879)
Logs:
Bound result 1000000000000000000000
Bound result 1000000000000000000000
[PASS] test_transferShares_fuzz(uint256,uint256) (runs: 10000, μ: 192254, ~: 192464)
Logs:
Bound result 9700
Bound result 4298
[PASS] test_transferShares_fuzz_revertsWith_underflow_spoke_added_shares_exceeded(uint256) (runs: 10000, μ: 151659, ~: 151383)
Logs:
Bound result 79601690249260152562284666051
[PASS] test_transferShares_revertsWith_AddCapExceeded() (gas: 194958)
[PASS] test_transferShares_revertsWith_SpokeNotActive() (gas: 176511)
[PASS] test_transferShares_revertsWith_SpokePaused() (gas: 178870)
[PASS] test_transferShares_zeroShares_revertsWith_InvalidShares() (gas: 22457)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 15.67s (15.65s CPU time)
Ran 17 tests for tests/unit/Spoke/Spoke.Borrow.HealthFactor.t.sol:SpokeBorrowHealthFactorTest
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_collateral_price_drop(uint256,uint256) (runs: 10000, μ: 888324, ~: 888331)
Logs:
Bound result 39000
Bound result 3772
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls(uint256,uint256) (runs: 10000, μ: 856740, ~: 858085)
Logs:
Bound result 355555555555555555556
Bound result 9270
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_colls_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 894222, ~: 895343)
Logs:
Bound result 9700
Bound result 281474976645120
Bound result 184
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_debts(uint256,uint256) (runs: 10000, μ: 1096012, ~: 1096120)
Logs:
Bound result 4571224282895329672
Bound result 499999999999999999990603166797
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_multiple_debts_with_interest(uint256,uint256,uint256) (runs: 10000, μ: 1136893, ~: 1136766)
Logs:
Bound result 999000000000000000
Bound result 35843399398158517434305759283
Bound result 308794704
[PASS] test_borrow_fuzz_revertsWith_HealthFactorBelowThreshold_with_interest(uint256,uint256) (runs: 10000, μ: 674067, ~: 674370)
Logs:
Bound result 378
Bound result 1
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold() (gas: 640966)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_collateral_price_drop_weth() (gas: 882412)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls() (gas: 851683)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls_collateral_price_drop_dai() (gas: 1103458)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls_collateral_price_drop_weth() (gas: 1103502)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls_with_interest() (gas: 890587)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_debts() (gas: 1089164)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_multiple_debts_with_interest() (gas: 1129539)
[PASS] test_borrow_revertsWith_HealthFactorBelowThreshold_with_interest() (gas: 668958)
[PASS] test_fuzz_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls_collateral_price_drop_dai(uint256,uint256,uint256) (runs: 10000, μ: 1106690, ~: 1108260)
Logs:
Bound result 1800000000
Bound result 121
Bound result 120000000
[PASS] test_fuzz_borrow_revertsWith_HealthFactorBelowThreshold_multiple_colls_collateral_price_drop_weth(uint256,uint256,uint256) (runs: 10000, μ: 1107635, ~: 1108282)
Logs:
Bound result 6637
Bound result 1586361352866
Bound result 376606675446150561
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 270.75s (270.73s CPU time)
Ran 6 tests for tests/unit/Hub/HubAccrueInterest.t.sol:HubAccrueInterestTest
[PASS] test_accrueInterest_NoActionTaken() (gas: 43656)
[PASS] test_accrueInterest_NoInterest_NoDebt(uint40) (runs: 10000, μ: 401946, ~: 401854)
Logs:
Bound result 15
[PASS] test_accrueInterest_NoInterest_OnlyAdd(uint40) (runs: 10000, μ: 210914, ~: 210858)
Logs:
Bound result 22883
[PASS] test_accrueInterest_fuzz_BorrowAmountAndElapsed(uint256,uint40) (runs: 10000, μ: 276626, ~: 276266)
Logs:
Bound result 321595642394716127064762623799
Bound r...*[Comment body truncated]* |
♻️ Forge Gas Snapshots
🔕 Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you want to keep this nightly until foundry merges in the nightly random fix into stable ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i tested and gas numbers are the same w nightly and stable
for now, we can:
- nightly w seed
- stable w/o seed
i am inclined towards the former (need to add back seed here after we reach consensus)
No description provided.