feat : deploy & config verification script#1268
Draft
Kogaroshi wants to merge 4 commits intorft/payload-enginefrom
Draft
feat : deploy & config verification script#1268Kogaroshi wants to merge 4 commits intorft/payload-enginefrom
Kogaroshi wants to merge 4 commits intorft/payload-enginefrom
Conversation
🌈 Test ResultsNo files changed, compilation skipped
Ran 10 tests for tests/deployments/batches/AaveV4TokenizationSpokeBatch.t.sol:AaveV4TokenizationSpokeBatchTest
[PASS] test_differentSaltProducesDifferentAddress() (gas: 19778)
[PASS] test_getReport() (gas: 7747)
[PASS] test_revert_emptyShareName() (gas: 13533)
[PASS] test_revert_emptyShareSymbol() (gas: 13558)
[PASS] test_revert_invalidUnderlying() (gas: 15413)
[PASS] test_revert_zeroHub() (gas: 16289)
[PASS] test_revert_zeroSpokeProxyAdminOwner() (gas: 14177)
[PASS] test_tokenizationSpokeAsset() (gas: 15524)
[PASS] test_tokenizationSpokeAssetId() (gas: 15378)
[PASS] test_tokenizationSpokeHub() (gas: 15468)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 17.71ms (2.36ms CPU time)
Ran 3 tests for tests/unit/Spoke/Spoke.Access.t.sol:SpokeAccessTest
[PASS] testAccess_change_authority() (gas: 3173995)
[PASS] testAccess_hub_functions_callable_by_spokes() (gas: 569508)
[PASS] testAccess_spoke_admin_config_access() (gas: 491646)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 34.85ms (2.74ms CPU time)
Ran 3 tests for tests/deployments/procedures/deploy/spoke/AaveV4TokenizationSpokeDeployProcedure.t.sol:AaveV4TokenizationSpokeDeployProcedureTest
[PASS] test_deployUpgradeableTokenizationSpokeInstance() (gas: 3638107)
[PASS] test_deployUpgradeableTokenizationSpokeInstance_reverts() (gas: 36233)
[PASS] test_deployUpgradeableTokenizationSpokeInstance_revertsWith_failedCreate2FactoryCall() (gas: 96330)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 8.90ms (1.16ms CPU time)
Ran 5 tests for tests/deployments/batches/AaveV4TreasurySpokeBatch.t.sol:AaveV4TreasurySpokeBatchTest
[PASS] test_differentSaltProducesDifferentAddress() (gas: 9112)
[PASS] test_getReport() (gas: 5245)
[PASS] test_proxyAdminOwner() (gas: 12960)
[PASS] test_revert_zeroOwner() (gas: 3742)
[PASS] test_treasurySpokeOwner() (gas: 17535)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 4.83ms (670.62µs CPU time)
Ran 2 tests for tests/deployments/procedures/deploy/spoke/AaveV4TreasurySpokeDeployProcedure.t.sol:AaveV4TreasurySpokeDeployProcedureTest
[PASS] test_deployTreasurySpoke() (gas: 1632108)
[PASS] test_deployTreasurySpoke_reverts() (gas: 10585)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.54ms (313.20µs CPU time)
Ran 19 tests for tests/unit/AaveOracle.t.sol:AaveOracleTest
[PASS] test_constructor() (gas: 527185)
[PASS] test_decimals() (gas: 8313)
[PASS] test_fuzz_constructor(uint8) (runs: 5000, μ: 528596, ~: 528916)
Logs:
Bound result 1
[PASS] test_getReservePrice() (gas: 46772)
[PASS] test_getReservePrice_revertsWith_InvalidPrice() (gas: 44558)
[PASS] test_getReservePrice_revertsWith_InvalidSource() (gas: 10876)
[PASS] test_getReservePrices() (gas: 76745)
[PASS] test_getReservePrices_revertsWith_InvalidSource() (gas: 48933)
[PASS] test_getReserveSource() (gas: 47161)
[PASS] test_setReserveSource() (gas: 44248)
[PASS] test_setReserveSource_revertsWith_InvalidPrice() (gas: 97405)
[PASS] test_setReserveSource_revertsWith_InvalidSource() (gas: 17138)
[PASS] test_setReserveSource_revertsWith_InvalidSourceDecimals() (gas: 16953)
[PASS] test_setReserveSource_revertsWith_OnlySpoke() (gas: 12996)
[PASS] test_setReserveSource_revertsWith_OracleMismatch() (gas: 6034106)
[PASS] test_setSpoke() (gas: 5550901)
[PASS] test_setSpoke_revertsWith_InvalidAddress() (gas: 10870)
[PASS] test_setSpoke_revertsWith_OnlyDeployer(address) (runs: 5000, μ: 13486, ~: 13486)
[PASS] test_setSpoke_revertsWith_SpokeAlreadySet() (gas: 15102)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 720.63ms (680.89ms CPU time)
Ran 2 tests for tests/deployments/procedures/deploy/spoke/AaveV4AaveOracleDeployProcedure.t.sol:AaveV4AaveOracleDeployProcedureTest
[PASS] test_deployAaveOracle() (gas: 524367)
[PASS] test_deployAaveOracle_reverts_inputValidation() (gas: 8466)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.34ms (101.59µs CPU time)
Ran 2 tests for tests/deployments/procedures/deploy/AaveV4AccessManagerEnumerableDeployProcedure.t.sol:AaveV4AccessManagerEnumerableDeployProcedureTest
[PASS] test_deployAccessManagerEnumerable() (gas: 3572625)
[PASS] test_deployAccessManagerEnumerable_reverts() (gas: 10562)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.97ms (510.13µs CPU time)
Ran 4 tests for tests/deployments/procedures/deploy/roles/AaveV4AccessManagerRolesProcedure.t.sol:AaveV4AccessManagerRolesProcedureTest
[PASS] test_grantAccessManagerAdminRole() (gas: 177545)
[PASS] test_grantAccessManagerAdminRole_reverts() (gas: 14128)
[PASS] test_replaceDefaultAdminRole() (gas: 144634)
[PASS] test_replaceDefaultAdminRole_reverts() (gas: 178663)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 5.02ms (864.11µs CPU time)
Ran 5 tests for tests/deployments/batches/AaveV4AuthorityBatch.t.sol:AaveV4AuthorityBatchTest
[PASS] test_adminRoleMemberTracking() (gas: 21933)
[PASS] test_differentSaltProducesDifferentAddress() (gas: 14349)
[PASS] test_getReport() (gas: 19882)
[PASS] test_noOtherRolesInitialized() (gas: 15869)
[PASS] test_revert_zeroAdmin() (gas: 3765)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 5.36ms (917.17µs CPU time)
Ran 12 tests for tests/unit/Hub/Hub.RefreshPremium.t.sol:HubRefreshPremiumTest
[PASS] test_refreshPremium_emitsEvent() (gas: 255162)
[PASS] test_refreshPremium_fuzz_positiveDeltas(uint256,int256,int256) (runs: 5000, μ: 490580, ~: 495795)
Logs:
Bound result 999999999910000000000000000001
Bound result 1
Bound result 18368
[PASS] test_refreshPremium_fuzz_withAccrual(uint256,uint256,uint256,uint256) (runs: 5000, μ: 468150, ~: 477399)
Logs:
Bound result 10349
Bound result 1550
Bound result 750000000
Bound result 1643
[PASS] test_refreshPremium_haltedSpokesAllowed() (gas: 121536)
[PASS] test_refreshPremium_maxRiskPremiumThreshold() (gas: 898586)
[PASS] test_refreshPremium_negativeDeltas(uint256) (runs: 5000, μ: 460725, ~: 461309)
Logs:
Bound result 3124043968137
[PASS] test_refreshPremium_negativeDeltas_withAccrual(uint256) (runs: 5000, μ: 530333, ~: 530551)
Logs:
Bound result 3124043968137
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_NonZeroRestoredPremiumRay() (gas: 853771)
[PASS] test_refreshPremium_revertsWith_InvalidPremiumChange_RiskPremiumThresholdExceeded_DecreasingPremium() (gas: 875136)
[PASS] test_refreshPremium_revertsWith_SpokeNotActive() (gas: 58974)
[PASS] test_refreshPremium_riskPremiumThreshold() (gas: 920790)
[PASS] test_refreshPremium_spokePremiumUpdateIsContained() (gas: 710944)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 20.71s (20.67s CPU time)
Ran 21 tests for tests/unit/AccessManagerEnumerable.t.sol:AccessManagerEnumerableTest
[PASS] test_getRoleMembers_fuzz(uint256,uint256) (runs: 5000, μ: 1981987, ~: 1980849)
Logs:
Bound result 9
Bound result 10
[PASS] test_getRoleTargetSelectors_fuzz(uint256,uint256) (runs: 5000, μ: 1601012, ~: 1600097)
Logs:
Bound result 9
Bound result 10
[PASS] test_grantRole() (gas: 315933)
[PASS] test_grantRole_fuzz(uint64,uint256) (runs: 5000, μ: 913976, ~: 920059)
Logs:
Bound result 5
[PASS] test_renounceRole() (gas: 321091)
[PASS] test_renounceRole_shouldNotTrack() (gas: 24510)
[PASS] test_revokeRole() (gas: 323262)
[PASS] test_revokeRole_shouldNotTrack() (gas: 33158)
[PASS] test_setRoleAdmin_fuzz_trackAdminRoles_multipleRoles_multipleAdmins(uint256) (runs: 5000, μ: 2117294, ~: 2176942)
Logs:
Bound result 12
[PASS] test_setRoleAdmin_fuzz_trackRolesAndTrackAdminRoles_multipleRoles(uint256) (runs: 5000, μ: 1930962, ~: 1899678)
Logs:
Bound result 12
[PASS] test_setRoleAdmin_trackAdminOfRoles() (gas: 606166)
[PASS] test_setRoleAdmin_trackAdminOfRoles_changeAdminRole() (gas: 577193)
[PASS] test_setRoleAdmin_trackAdminRoles() (gas: 602394)
[PASS] test_setRoleAdmin_trackRolesAndTrackAdminRoles() (gas: 378260)
[PASS] test_setRoleGuardian_trackRoles() (gas: 262021)
[PASS] test_setTargetFunctionRole() (gas: 489773)
[PASS] test_setTargetFunctionRole_multipleTargets() (gas: 1181595)
[PASS] test_setTargetFunctionRole_removeTarget() (gas: 1018326)
[PASS] test_setTargetFunctionRole_skipAddPublicRole() (gas: 206355)
[PASS] test_setTargetFunctionRole_skipAddToAdminRole() (gas: 34319)
[PASS] test_setTargetFunctionRole_withReplace() (gas: 672090)
Suite result: ok. 21 passed; 0 failed; 0 skipped; finished in 22.42s (22.42s CPU time)
Ran 22 tests for tests/unit/AssetInterestRateStrategy.t.sol:AssetInterestRateStrategyTest
[PASS] test_calculateInterestRate_AtMaxUtilization() (gas: 24621)
Logs:
Bound result 10000
Bound result 452221174671990369444601363699
[PASS] test_calculateInterestRate_AtOptimalPoint() (gas: 24281)
Logs:
Bound result 2000
Bound result 452221174671990369444601363699
[PASS] test_calculateInterestRate_LeftToOptimalPoint(uint256) (runs: 5000, μ: 24187, ~: 24330)
Logs:
Bound result 137
Bound result 252173843969976304268974536488
[PASS] test_calculateInterestRate_RightToOptimalPoint(uint256) (runs: 5000, μ: 25300, ~: 25349)
Logs:
Bound result 8137
Bound result 252173843969976304268974536488
[PASS] test_calculateInterestRate_ZeroDebtZeroLiquidity() (gas: 18793)
Logs:
Bound result 0
[PASS] test_calculateInterestRate_fuzz_ZeroDebt(uint256) (runs: 5000, μ: 19075, ~: 18822)
Logs:
Bound result 3124043968137
[PASS] test_calculateInterestRate_revertsWith_InterestRateDataNotSet() (gas: 11203)
[PASS] test_deploy_revertsWith_InvalidAddress() (gas: 36224)
[PASS] test_getBaseDrawnRate() (gas: 14769)
[PASS] test_getInterestRateData() (gas: 19268)
[PASS] test_getMaxDrawnRate() (gas: 15234)
[PASS] test_getOptimalUsageRatio() (gas: 14727)
[PASS] test_getRateGrowthAfterOptimal() (gas: 14791)
[PASS] test_getRateGrowthBeforeOptimal() (gas: 14791)
[PASS] test_maxDrawnRate() (gas: 8314)
[PASS] test_maxOptimalRatio() (gas: 8357)
[PASS] test_minOptimalRatio() (gas: 8299)
[PASS] test_setInterestRateData() (gas: 68941)
[PASS] test_setInterestRateData_revertsWith_InvalidMaxDrawnRate() (gas: 41761)
[PASS] test_setInterestRateData_revertsWith_InvalidOptimalUsageRatio() (gas: 42401)
[PASS] test_setInterestRateData_revertsWith_InvalidRateData() (gas: 35290)
[PASS] test_setInterestRateData_revertsWith_OnlyHub() (gas: 23496)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 1.28s (1.25s CPU time)
Ran 6 tests for tests/unit/position-manager/libraries/ConfigPermissions.t.sol:ConfigPermissionsTests
[PASS] test_constants() (gas: 12052)
[PASS] test_getConfigPermissionValues(uint8) (runs: 5000, μ: 13682, ~: 13682)
[PASS] test_setCanSetUsingAsCollateral_fuzz(uint8,bool) (runs: 5000, μ: 10623, ~: 10611)
[PASS] test_setCanUpdateUserDynamicConfig_fuzz(uint8,bool) (runs: 5000, μ: 10602, ~: 10590)
[PASS] test_setCanUpdateUserRiskPremium_fuzz(uint8,bool) (runs: 5000, μ: 10612, ~: 10600)
[PASS] test_setFullPermissions_fuzz(bool) (runs: 5000, μ: 13124, ~: 13134)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 1.05s (1.05s CPU time)
Ran 15 tests for tests/unit/Hub/Hub.Remove.t.sol:HubRemoveTest
[PASS] test_remove() (gas: 205634)
Logs:
Bound result 2
Bound result 100000000000000000000
[PASS] test_remove_all_with_interest() (gas: 361829)
[PASS] test_remove_fuzz(uint256,uint256) (runs: 5000, μ: 204450, ~: 204507)
Logs:
Bound result 4
Bound result 100
[PASS] test_remove_fuzz_all_liquidity_with_interest(uint256,uint256) (runs: 5000, μ: 409698, ~: 409942)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_remove_fuzz_multi_spoke(uint256,uint256) (runs: 5000, μ: 282418, ~: 282514)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_remove_fuzz_multi_spoke_with_interest(uint256,uint256,uint256,uint256) (runs: 5000, μ: 412493, ~: 412989)
Logs:
Bound result 10214
Bound result 5441
Bound result 260
Bound result 12805
[PASS] test_remove_revertsWith_InsufficientLiquidity() (gas: 155153)
[PASS] test_remove_revertsWith_InsufficientLiquidity_exceeding_added_amount() (gas: 144228)
[PASS] test_remove_revertsWith_InsufficientLiquidity_zero_added() (gas: 21376)
[PASS] test_remove_revertsWith_InvalidAddress() (gas: 16471)
[PASS] test_remove_revertsWith_InvalidAmount() (gas: 18628)
[PASS] test_remove_revertsWith_SpokeHalted() (gas: 62005)
[PASS] test_remove_revertsWith_SpokeNotActive() (gas: 61914)
[PASS] test_remove_revertsWith_underflow_exceeding_added_amount() (gas: 178890)
[PASS] test_remove_revertsWtih_underflow_one_extra_wei() (gas: 354337)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 30.29s (30.26s CPU time)
Ran 7 tests for tests/unit/Hub/Hub.ReportDeficit.t.sol:HubReportDeficitTest
[PASS] test_reportDeficit_fuzz_revertsWith_SurplusDrawnDeficitReported(uint256) (runs: 5000, μ: 220011, ~: 220462)
Logs:
Bound result 3124043968137
[PASS] test_reportDeficit_fuzz_revertsWith_SurplusPremiumRayDeficitReported(uint256) (runs: 5000, μ: 221036, ~: 221487)
Logs:
Bound result 3124043968137
[PASS] test_reportDeficit_fuzz_with_premium(uint256,uint256,uint256,uint256) (runs: 5000, μ: 677997, ~: 678742)
Logs:
Bound result 11037
Bound result 12075
Bound result 6031
Bound result 750000000
[PASS] test_reportDeficit_halted() (gas: 265181)
[PASS] test_reportDeficit_revertsWith_InvalidAmount() (gas: 22761)
[PASS] test_reportDeficit_revertsWith_SpokeNotActive(address) (runs: 5000, μ: 33938, ~: 33938)
[PASS] test_reportDeficit_with_premium() (gas: 677102)
Logs:
Bound result 10000000000
Bound result 31536000
Bound result 5000000000
Bound result 0
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 18.50s (18.46s CPU time)
Ran 26 tests for tests/unit/position-manager/ConfigPositionManager/ConfigPositionManager.Permit.t.sol:ConfigPositionManagerPermitTest
[PASS] test_DOMAIN_SEPARATOR() (gas: 2660213)
[PASS] test_eip712Domain() (gas: 2665410)
[PASS] test_setCanSetUsingAsCollateralPermissionPermit_typeHash() (gas: 9929)
[PASS] test_setCanSetUsingAsCollateralPermissionWithSig_fuzz(address,bool) (runs: 5000, μ: 158475, ~: 157641)
[PASS] test_setCanSetUsingAsCollateralPermissionWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 144961, ~: 142564)
[PASS] test_setCanSetUsingAsCollateralPermissionWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 28199)
[PASS] test_setCanSetUsingAsCollateralPermissionWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 32569)
[PASS] test_setCanSetUsingAsCollateralPermissionWithSig_revertsWith_SpokeNotRegistered() (gas: 76385)
[PASS] test_setCanUpdateUserDynamicConfigPermissionPermit_typeHash() (gas: 9863)
[PASS] test_setCanUpdateUserDynamicConfigPermissionWithSig_fuzz(address,bool) (runs: 5000, μ: 158481, ~: 157647)
[PASS] test_setCanUpdateUserDynamicConfigPermissionWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 144938, ~: 142541)
[PASS] test_setCanUpdateUserDynamicConfigPermissionWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 28190)
[PASS] test_setCanUpdateUserDynamicConfigPermissionWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 32549)
[PASS] test_setCanUpdateUserDynamicConfigPermissionWithSig_revertsWith_SpokeNotRegistered() (gas: 76398)
[PASS] test_setCanUpdateUserRiskPremiumPermissionPermit_typeHash() (gas: 9949)
[PASS] test_setCanUpdateUserRiskPremiumPermissionWithSig_fuzz(address,bool) (runs: 5000, μ: 158458, ~: 157624)
[PASS] test_setCanUpdateUserRiskPremiumPermissionWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 144873, ~: 142476)
[PASS] test_setCanUpdateUserRiskPremiumPermissionWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 28189)
[PASS] test_setCanUpdateUserRiskPremiumPermissionWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 32560)
[PASS] test_setCanUpdateUserRiskPremiumPermissionWithSig_revertsWith_SpokeNotRegistered() (gas: 76330)
[PASS] test_setGlobalPermissionPermit_typeHash() (gas: 9935)
[PASS] test_setGlobalPermissionWithSig_fuzz(address,bool) (runs: 5000, μ: 162732, ~: 162093)
[PASS] test_setGlobalPermissionWithSig_revertsWith_InvalidAccountNonce(bytes32) (runs: 5000, μ: 144899, ~: 142502)
[PASS] test_setGlobalPermissionWithSig_revertsWith_InvalidSignature_dueTo_ExpiredDeadline() (gas: 28176)
[PASS] test_setGlobalPermissionWithSig_revertsWith_InvalidSignature_dueTo_InvalidSigner() (gas: 32555)
[PASS] test_setGlobalPermissionWithSig_revertsWith_SpokeNotRegistered() (gas: 76382)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 49.54s (49.51s CPU time)
Ran 39 tests for tests/unit/position-manager/ConfigPositionManager/ConfigPositionManager.t.sol:ConfigPositionManagerTest
[PASS] test_multicall() (gas: 84518)
[PASS] test_renounceCanUpdateUserDynamicConfigPermission() (gas: 41286)
[PASS] test_renounceCanUpdateUserDynamicConfigPermission_revertsWith_SpokeNotRegistered() (gas: 17489)
[PASS] test_renounceCanUpdateUserRiskPremiumPermission() (gas: 41198)
[PASS] test_renounceCanUpdateUserRiskPremiumPermission_revertsWith_SpokeNotRegistered() (gas: 17380)
[PASS] test_renounceCanUpdateUsingAsCollateralPermission() (gas: 41215)
[PASS] test_renounceCanUpdateUsingAsCollateralPermission_revertsWith_SpokeNotRegistered() (gas: 17424)
[PASS] test_renounceGlobalPermission() (gas: 42252)
[PASS] test_renounceGlobalPermission_revertsWith_SpokeNotRegistered() (gas: 17445)
[PASS] test_setCanSetUsingAsCollateralPermission() (gas: 54009)
[PASS] test_setCanSetUsingAsCollateralPermission_remove() (gas: 41304)
[PASS] test_setCanSetUsingAsCollateralPermission_revertsWith_InvalidAddress_zeroDelegatee() (gas: 17885)
[PASS] test_setCanSetUsingAsCollateralPermission_revertsWith_SpokeNotRegistered() (gas: 17512)
[PASS] test_setCanUpdateUserDynamicConfigPermission() (gas: 54054)
[PASS] test_setCanUpdateUserDynamicConfigPermission_remove() (gas: 41359)
[PASS] test_setCanUpdateUserDynamicConfigPermission_revertsWith_InvalidAddress_zeroDelegatee() (gas: 17959)
[PASS] test_setCanUpdateUserDynamicConfigPermission_revertsWith_SpokeNotRegistered() (gas: 17576)
[PASS] test_setCanUpdateUserRiskPremiumPermission() (gas: 54033)
[PASS] test_setCanUpdateUserRiskPremiumPermission_remove() (gas: 41341)
[PASS] test_setCanUpdateUserRiskPremiumPermission_revertsWith_InvalidAddress_zeroDelegatee() (gas: 17916)
[PASS] test_setCanUpdateUserRiskPremiumPermission_revertsWith_SpokeNotRegistered() (gas: 17557)
[PASS] test_setGlobalPermission() (gas: 55612)
[PASS] test_setGlobalPermission_removeAllPermissions() (gas: 42393)
[PASS] test_setGlobalPermission_removePreviousPermissions() (gas: 46538)
[PASS] test_setGlobalPermission_revertsWith_InvalidAddress_zeroDelegatee() (gas: 17869)
[PASS] test_setGlobalPermission_revertsWith_SpokeNotRegistered() (gas: 17510)
[PASS] test_setGlobalPermission_setThenRemove() (gas: 49972)
[PASS] test_setUsingAsCollateralOnBehalfOf_fuzz_withGlobalPermission(uint256,bool) (runs: 5000, μ: 105714, ~: 110551)
Logs:
Bound result 2
[PASS] test_setUsingAsCollateralOnBehalfOf_fuzz_withPermission(uint256,bool) (runs: 5000, μ: 105752, ~: 110589)
Logs:
Bound result 2
[PASS] test_setUsingAsCollateralOnBehalfOf_revertsWith_CallerNotAllowed() (gas: 22173)
[PASS] test_setUsingAsCollateralOnBehalfOf_revertsWith_SpokeNotRegistered() (gas: 17530)
[PASS] test_updateUserDynamicConfigOnBehalfOf_revertsWith_CallerNotAllowed() (gas: 19930)
[PASS] test_updateUserDynamicConfigOnBehalfOf_revertsWith_SpokeNotRegistered() (gas: 17422)
[PASS] test_updateUserDynamicConfigOnBehalfOf_withGlobalPermission() (gas: 69720)
[PASS] test_updateUserDynamicConfigOnBehalfOf_withPermission() (gas: 69844)
[PASS] test_updateUserRiskPremiumOnBehalfOf_revertsWith_CallerNotAllowed() (gas: 19909)
[PASS] test_updateUserRiskPremiumOnBehalfOf_revertsWith_SpokeNotRegistered() (gas: 17469)
[PASS] test_updateUserRiskPremiumOnBehalfOf_withGlobalPermission() (gas: 809271)
[PASS] test_updateUserRiskPremiumOnBehalfOf_withPermission() (gas: 809306)
Suite result: ok. 39 passed; 0 failed; 0 skipped; finished in 10.85s (10.81s CPU time)
Ran 3 tests for tests/unit/Hub/Hub.Rescue.t.sol:HubRescueTest
[PASS] test_cannot_rescue_liquidity_fee_reverts_with_InsufficientTransferred() (gas: 265867)
[PASS] test_rescue_fuzz_with_interest(uint256,uint256) (runs: 5000, μ: 508049, ~: 508006)
Logs:
Bound result 6166668
Bound result 2540
[PASS] test_rescue_scenario_fuzz(uint256) (runs: 5000, μ: 447581, ~: 447372)
Logs:
Bound result 3124043968137
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 16.93s (16.90s CPU time)
Ran 11 tests for tests/deployments/utils/libraries/Create2Utils.t.sol:Create2UtilsTest
[PASS] testAddressFromLast20Bytes_fuzz(bytes32) (runs: 5000, μ: 8826, ~: 8826)
[PASS] testComputeCreate2Address_fuzz(bytes32,bytes) (runs: 5000, μ: 12061, ~: 12041)
[PASS] testComputeCreate2Address_fuzz(bytes32,bytes32) (runs: 5000, μ: 10699, ~: 10699)
[PASS] testCreate2Deploy_fuzz(bytes32) (runs: 5000, μ: 51562, ~: 51562)
[PASS] testCreate2Deploy_revertsWith_contractAlreadyDeployed(bytes32) (runs: 5000, μ: 52279, ~: 52279)
[PASS] testCreate2Deploy_revertsWith_create2AddressDerivationFailure(bytes32) (runs: 5000, μ: 13800, ~: 13800)
[PASS] testCreate2Deploy_revertsWith_failedCreate2FactoryCall(bytes32) (runs: 5000, μ: 1048773113209, ~: 1048773113129)
[PASS] testCreate2Deploy_revertsWith_missingCreate2Factory() (gas: 11694)
[PASS] testIsContractDeployed() (gas: 44966)
[PASS] testIsContractDeployed_fuzz(address) (runs: 5000, μ: 13618, ~: 13618)
[PASS] testProxify_fuzz(bytes32,address) (runs: 5000, μ: 749048, ~: 749048)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 3.35s (3.35s CPU time)
Ran 23 tests for tests/unit/Hub/Hub.Restore.t.sol:HubRestoreTest
[PASS] test_restore_full_amount_with_interest() (gas: 364098)
Logs:
Bound result 1000000000000000000000
Bound result 500000000000000000000
Bound result 31536000
[PASS] test_restore_full_amount_with_interest_and_premium() (gas: 677404)
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: 5000, μ: 365356, ~: 365451)
Logs:
Bound result 615514462186775432459
Bound result 571193127101173104469
Bound result 173721804
[PASS] test_restore_fuzz_full_amount_with_interest_and_premium(uint256,uint256,uint256,uint256) (runs: 5000, μ: 668232, ~: 679465)
Logs:
Bound result 23066
Bound result 5405
Bound result 750000000
Bound result 805
[PASS] test_restore_fuzz_revertsWith_SurplusDrawnRestored_with_interest(uint256,uint256,uint256) (runs: 5000, μ: 243513, ~: 244624)
Logs:
Bound result 615514462186775432459
Bound result 571193127101173104469
Bound result 173721804
[PASS] test_restore_fuzz_revertsWith_SurplusDrawnRestored_with_interest_and_premium(uint256,uint256,uint256,uint256) (runs: 5000, μ: 642058, ~: 642302)
Logs:
Bound result 23066
Bound result 5405
Bound result 750000000
Bound result 805
[PASS] test_restore_one_share_delta_increase_revertsWith_InvalidPremiumChange() (gas: 211618)
[PASS] test_restore_partial_drawn() (gas: 322405)
[PASS] test_restore_partial_same_block() (gas: 322531)
[PASS] test_restore_premiumDeltas_twoWeiIncrease_realizedDelta() (gas: 232328)
[PASS] test_restore_revertsWith_InsufficientTransferred() (gas: 252128)
[PASS] test_restore_revertsWith_InvalidAmount_zero() (gas: 58090)
[PASS] test_restore_revertsWith_InvalidPremiumChange_premiumIncrease() (gas: 218581)
[PASS] test_restore_revertsWith_InvalidPremiumChange_premiumSharesIncrease() (gas: 218581)
[PASS] test_restore_revertsWith_SpokeHalted() (gas: 99279)
[PASS] test_restore_revertsWith_SpokeNotActive_whenPaused() (gas: 181407)
[PASS] test_restore_revertsWith_SurplusDrawnRestored() (gas: 358216)
[PASS] test_restore_revertsWith_SurplusDrawnRestored_with_interest() (gas: 243249)
Logs:
Bound result 100000000000000000000
Bound result 50000000000000000000
Bound result 15768000
[PASS] test_restore_revertsWith_SurplusDrawnRestored_with_interest_and_premium() (gas: 640264)
Logs:
Bound result 100000000000000000000
Bound result 50000000000000000000
Bound result 31536000
Bound result 1
[PASS] test_restore_revertsWith_SurplusPremiumRayRestored() (gas: 508544)
[PASS] test_restore_revertsWith_underflow_offsetIncrease() (gas: 227438)
[PASS] test_restore_tooMuchDrawn_revertsWith_SurplusDrawnRestored() (gas: 213936)
[PASS] test_restore_when_asset_caps_reset() (gas: 435308)
Suite result: ok. 23 passed; 0 failed; 0 skipped; finished in 18.25s (18.22s CPU time)
Ran 1 test for tests/unit/Hub/Hub.Rounding.t.sol:HubRoundingTest
[PASS] test_sharePriceWithMultipleDonations() (gas: 664227677)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.90s (2.87s CPU time)
Ran 1 test for tests/unit/Spoke/Spoke.AccrueInterest.Scenario.t.sol:SpokeAccrueInterestScenarioTest
[PASS] test_accrueInterest_fuzz_RPBorrowAndSkipTime_twoActions((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint40) (runs: 5000, μ: 5587056, ~: 5437484)
Logs:
Bound result 416966230219621053938274952927
Bound result 0
Bound result 255831241153786906
Bound result 41191294854201435881
Bound result 124281697546210950467266407747
Bound result 33522909571553656
Bound result 481970306954558904
Bound result 12412
Bound result 6
Bound result 124281697546210950467266407747
Bound result 33522909571553656
Bound result 481970306954558904
Bound result 12412
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 131.27s (131.24s CPU time)
Ran 4 tests for tests/unit/Hub/Hub.Skim.t.sol:HubSkimTest
[PASS] test_skimAdd_fuzz_donationAfterAdd(uint256,uint256,uint256) (runs: 5000, μ: 228854, ~: 228924)
Logs:
Bound result 3
Bound result 18470873395738003579119570309
Bound result 446067553769140138733721804
[PASS] test_skimAdd_fuzz_donationBeforeAdd(uint256,uint256,uint256) (runs: 5000, μ: 228886, ~: 228956)
Logs:
Bound result 3
Bound result 18470873395738003579119570309
Bound result 446067553769140138733721804
[PASS] test_skimAdd_fuzz_wrongSpokeTransfer(uint256,uint256,uint256) (runs: 5000, μ: 217943, ~: 217885)
Logs:
Bound result 3
Bound result 18132171100462486213502917929
Bound result 446067553769140138733721804
[PASS] test_skimRestore_fuzz_liquidityDonation(uint256,uint256,uint256) (runs: 5000, μ: 270245, ~: 271625)
Logs:
Bound result 3
Bound result 18470873395738003579119570309
Bound result 446067553769140138733721804
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 31.49s (31.45s CPU time)
Ran 10 tests for tests/unit/Hub/Hub.SpokeConfig.t.sol:HubSpokeConfigTest
[PASS] test_add_active_halted_scenarios() (gas: 301722)
[PASS] test_draw_active_halted_scenarios() (gas: 305378)
[PASS] test_eliminateDeficit_active_halted_scenarios() (gas: 831578)
[PASS] test_mintFeeShares_active_halted_scenarios() (gas: 819714)
[PASS] test_payFeeShares_active_halted_scenarios() (gas: 367538)
[PASS] test_refreshPremium_active_halted_scenarios() (gas: 268064)
[PASS] test_remove_active_halted_scenarios() (gas: 317564)
[PASS] test_reportDeficit_active_halted_scenarios() (gas: 446110)
[PASS] test_restore_active_halted_scenarios() (gas: 353304)
[PASS] test_transferShares_fuzz_active_halted_scenarios(bool,bool,bool,bool) (runs: 5000, μ: 211095, ~: 211109)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 4.03s (4.00s 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, μ: 954072, ~: 937219)
Logs:
Bound result 812
[PASS] test_extSloads(uint256,bytes) (runs: 5000, μ: 1012977, ~: 967503)
Logs:
Bound result 362
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 60.66s (60.66s CPU time)
Ran 5 tests for tests/gas/Gateways.Operations.gas.t.sol:NativeTokenGateway_Gas_Tests
[PASS] test_borrowNative() (gas: 924817)
[PASS] test_repayNative() (gas: 992785)
[PASS] test_supplyAndCollateralNative() (gas: 305250)
[PASS] test_supplyNative() (gas: 286669)
[PASS] test_withdrawNative() (gas: 508792)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 60.02ms (4.08ms CPU time)
Ran 8 tests for tests/gas/Gateways.Operations.gas.t.sol:SignatureGateway_Gas_Tests
[PASS] test_borrowWithSig() (gas: 748586)
[PASS] test_repayWithSig() (gas: 955129)
[PASS] test_setSelfAsUserPositionManagerWithSig() (gas: 209305)
[PASS] test_setUsingAsCollateralWithSig() (gas: 289375)
[PASS] test_supplyWithSig() (gas: 434298)
[PASS] test_updateUserDynamicConfigWithSig() (gas: 145272)
[PASS] test_updateUserRiskPremiumWithSig() (gas: 143127)
[PASS] test_withdrawWithSig() (gas: 409926)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 63.23ms (8.24ms CPU time)
Ran 8 tests for tests/unit/Hub/Hub.Sweep.t.sol:HubSweepTest
[PASS] test_sweep() (gas: 465035)
Logs:
Bound result 1000000000000000000000
Bound result 1000000000000000000000
[PASS] test_sweep_does_not_impact_utilization(uint256,uint256) (runs: 5000, μ: 640699, ~: 641968)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_sweep_fuzz(uint256,uint256) (runs: 5000, μ: 467842, ~: 467942)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_sweep_revertsWith_AssetNotListed() (gas: 12581)
[PASS] test_sweep_revertsWith_InsufficientLiquidity() (gas: 219868)
[PASS] test_sweep_revertsWith_InvalidAmount() (gas: 103903)
[PASS] test_sweep_revertsWith_OnlyReinvestmentController(address) (runs: 5000, μ: 93979, ~: 93979)
[PASS] test_sweep_revertsWith_OnlyReinvestmentController_init() (gas: 40062)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 19.35s (19.31s CPU time)
Ran 7 tests for tests/unit/Hub/Hub.TransferShares.t.sol:HubTransferSharesTest
[PASS] test_transferShares() (gas: 188777)
Logs:
Bound result 1000000000000000000000
Bound result 1000000000000000000000
[PASS] test_transferShares_fuzz(uint256,uint256) (runs: 5000, μ: 192153, ~: 192360)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_transferShares_fuzz_revertsWith_underflow_spoke_added_shares_exceeded(uint256) (runs: 5000, μ: 148494, ~: 148200)
Logs:
Bound result 3124043968137
[PASS] test_transferShares_revertsWith_AddCapExceeded() (gas: 192950)
[PASS] test_transferShares_revertsWith_SpokeHalted() (gas: 182055)
[PASS] test_transferShares_revertsWith_SpokeNotActive() (gas: 175374)
[PASS] test_transferShares_zeroShares_revertsWith_InvalidShares() (gas: 22607)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 8.45s (8.41s CPU time)
Ran 12 tests for tests/unit/position-manager/GiverPositionManager.t.sol:GiverPositionManagerTest
[PASS] test_multicall() (gas: 334983)
[PASS] test_repayOnBehalfOf() (gas: 640418)
Logs:
Bound result 50000000000000000000
[PASS] test_repayOnBehalfOf_fuzz(uint256) (runs: 5000, μ: 637159, ~: 640646)
Logs:
Bound result 3124043968137
[PASS] test_repayOnBehalfOf_fuzz_withInterest(uint256,uint256) (runs: 5000, μ: 571438, ~: 567792)
Logs:
Bound result 900000068691281935000
Bound result 25920101
[PASS] test_repayOnBehalfOf_maxRepay() (gas: 561604)
[PASS] test_repayOnBehalfOf_maxRepay_revertsWith_InvalidRepayAmount() (gas: 483251)
[PASS] test_repayOnBehalfOf_revertsWith_ReserveNotListed() (gas: 32366)
[PASS] test_repayOnBehalfOf_revertsWith_SpokeNotRegistered() (gas: 28756)
[PASS] test_supplyOnBehalfOf() (gas: 296678)
Logs:
Bound result 100000000000000000000
[PASS] test_supplyOnBehalfOf_fuzz(uint256) (runs: 5000, μ: 296916, ~: 296706)
Logs:
Bound result 3124043968137
[PASS] test_supplyOnBehalfOf_revertsWith_ReserveNotListed() (gas: 32405)
[PASS] test_supplyOnBehalfOf_revertsWith_SpokeNotRegistered() (gas: 28806)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 29.83s (29.80s CPU time)
Ran 6 tests for tests/unit/Hub/Hub.Access.t.sol:HubAccessTest
[PASS] test_change_authority() (gas: 2867628)
[PASS] test_change_role_responsibility() (gas: 110877)
[PASS] test_hub_access_manager_exposure() (gas: 13433)
[PASS] test_hub_admin_access() (gas: 1350682)
[PASS] test_migrate_role_responsibility() (gas: 935050)
[PASS] test_setInterestRateData_access() (gas: 102755)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 36.34ms (3.84ms CPU time)
Ran 8 tests for tests/unit/Hub/HubAccrueInterest.t.sol:HubAccrueInterestTest
[PASS] test_accrueInterest_NoActionTaken() (gas: 42781)
[PASS] test_accrueInterest_NoInterest_NoDebt(uint40) (runs: 5000, μ: 387744, ~: 387620)
Logs:
Bound result 9
[PASS] test_accrueInterest_NoInterest_OnlyAdd(uint40) (runs: 5000, μ: 201251, ~: 201186)
Logs:
Bound result 9
[PASS] test_accrueInterest_fuzz_BorrowAmountAndElapsed(uint256,uint40) (runs: 5000, μ: 269099, ~: 268991)
Logs:
Bound result 68691281934999
Bound result 1
[PASS] test_accrueInterest_fuzz_BorrowAmountRateAndElapsed(uint256,uint256,uint40) (runs: 5000, μ: 382004, ~: 381750)
Logs:
Bound result 615514462186775432459
Bound result 27544
Bound result 6348
[PASS] test_accrueInterest_fuzz_BorrowAndWait(uint40) (runs: 5000, μ: 267821, ~: 267719)
Logs:
Bound result 9
[PASS] test_getAssetDrawnRate_MatchesStoredAfterAction() (gas: 187581)
[PASS] test_getAssetDrawnRate_fuzz_DiffersAfterTimePasses(uint40) (runs: 5000, μ: 210690, ~: 210549)
Logs:
Bound result 9
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 26.44s (26.41s CPU time)
Ran 13 tests for tests/unit/HubConfigurator.GranularAccessControl.t.sol:HubConfiguratorGranularAccessControlTest
[PASS] test_assetManager_canCall_deactivateAsset() (gas: 138373)
[PASS] test_assetManager_canCall_haltAsset() (gas: 138365)
[PASS] test_assetManager_canCall_resetAssetCaps() (gas: 138805)
[PASS] test_assetManager_canCall_updateLiquidityFee() (gas: 84257)
[PASS] test_assetManager_cannotCall_anySpokeManagerMethod() (gas: 354021)
[PASS] test_fuzz_unauthorized_cannotCall_assetManagerMethods(address) (runs: 5000, μ: 279742, ~: 279742)
[PASS] test_fuzz_unauthorized_cannotCall_spokeManagerMethods(address) (runs: 5000, μ: 354347, ~: 354347)
[PASS] test_spokeManager_canCall_addSpoke() (gas: 126758)
[PASS] test_spokeManager_canCall_resetSpokeCaps() (gas: 185749)
[PASS] test_spokeManager_canCall_updateSpokeActive() (gas: 66043)
[PASS] test_spokeManager_canCall_updateSpokeCaps() (gas: 66566)
[PASS] test_spokeManager_canCall_updateSpokeHalted() (gas: 66034)
[PASS] test_spokeManager_cannotCall_anyAssetManagerMethod() (gas: 278806)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 5.66s (5.63s 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, μ: 1006596, ~: 1007163)
Logs:
Bound result 16
Bound result 6729
Bound result 3757
Bound result 15440
Bound result 34010
Bound result 36227
[PASS] test_addAsset_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 48830, ~: 49199)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals(bool,address,uint8,address,uint256,address) (runs: 5000, μ: 65205, ~: 65189)
Logs:
Bound result 21
Bound result 5098
[PASS] test_addAsset_revertsWith_InvalidAddress_irStrategy() (gas: 58262)
[PASS] test_addAsset_revertsWith_InvalidAddress_underlying() (gas: 58199)
[PASS] test_addAsset_revertsWith_InvalidLiquidityFee() (gas: 908350)
[PASS] test_addAsset_reverts_invalidIrData() (gas: 76480)
[PASS] test_addSpoke() (gas: 135489)
[PASS] test_addSpokeToAssets() (gas: 232820)
[PASS] test_addSpokeToAssets_revertsWith_AccessManagedUnauthorized() (gas: 28147)
[PASS] test_addSpokeToAssets_revertsWith_MismatchedConfigs() (gas: 35971)
[PASS] test_addSpoke_revertsWith_AccessManagedUnauthorized() (gas: 27791)
[PASS] test_deactivateAsset() (gas: 177029)
[PASS] test_deactivateAsset_revertsWith_AccessManagedUnauthorized() (gas: 28998)
[PASS] test_deactivateSpoke() (gas: 175835)
[PASS] test_deactivateSpoke_revertsWith_AccessManagedUnauthorized() (gas: 28992)
[PASS] test_haltAsset() (gas: 177018)
[PASS] test_haltAsset_revertsWith_AccessManagedUnauthorized() (gas: 28955)
[PASS] test_haltSpoke() (gas: 175878)
[PASS] test_haltSpoke_revertsWith_AccessManagedUnauthorized() (gas: 29023)
[PASS] test_resetAssetCaps() (gas: 251224)
[PASS] test_resetAssetCaps_revertsWith_AccessManagedUnauthorized() (gas: 28952)
[PASS] test_resetSpokeCaps() (gas: 268891)
[PASS] test_resetSpokeCaps_revertsWith_AccessManagedUnauthorized() (gas: 29065)
[PASS] test_updateFeeConfig_Scenario() (gas: 353194)
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, μ: 195256, ~: 195561)
Logs:
Bound result 4
Bound result 3961
[PASS] test_updateFeeConfig_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 34996, ~: 34996)
[PASS] test_updateFeeConfig_revertsWith_InvalidAddress_spoke() (gas: 59417)
[PASS] test_updateFeeConfig_revertsWith_InvalidLiquidityFee() (gas: 62594)
[PASS] test_updateFeeReceiver_Scenario() (gas: 227711)
[PASS] test_updateFeeReceiver_WithdrawFromOldSpoke() (gas: 1272502)
[PASS] test_updateFeeReceiver_correctAccruals() (gas: 1308288)
[PASS] test_updateFeeReceiver_fuzz(address) (runs: 5000, μ: 188889, ~: 188889)
[PASS] test_updateFeeReceiver_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 34702, ~: 34702)
[PASS] test_updateFeeReceiver_revertsWith_InvalidAddress_spoke() (gas: 64072)
[PASS] test_updateFeeReceiver_revertsWith_SpokeAlreadyListed() (gas: 89436)
[PASS] test_updateInterestRateData() (gas: 81868)
[PASS] test_updateInterestRateData_revertsWith_AccessManagedUnauthorized() (gas: 30158)
[PASS] test_updateInterestRateStrategy() (gas: 102802)
[PASS] test_updateInterestRateStrategy_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 46076, ~: 46076)
[PASS] test_updateInterestRateStrategy_revertsWith_DrawnRateStrategyReverts() (gas: 85989)
[PASS] test_updateInterestRateStrategy_revertsWith_InvalidAddress_irStrategy() (gas: 75564)
[PASS] test_updateInterestRateStrategy_revertsWith_InvalidInterestRateStrategy() (gas: 76221)
[PASS] test_updateLiquidityFee_fuzz(uint256,uint16) (runs: 5000, μ: 100461, ~: 102068)
Logs:
Bound result 3
Bound result 0
[PASS] test_updateLiquidityFee_revertsWith_AccessManagedUnauthorized() (gas: 27622)
[PASS] test_updateLiquidityFee_revertsWith_InvalidLiquidityFee() (gas: 64212)
[PASS] test_updateReinvestmentController() (gas: 110911)
[PASS] test_updateReinvestmentController_fuzz_revertsWith_AccessManagedUnauthorized(address) (runs: 5000, μ: 34681, ~: 34681)
[PASS] test_updateSpokeActive() (gas: 99483)
[PASS] test_updateSpokeActive_revertsWith_AccessManagedUnauthorized() (gas: 31277)
[PASS] test_updateSpokeAddCap() (gas: 75422)
[PASS] test_updateSpokeAddCap_revertsWith_AccessManagedUnauthorized() (gas: 31268)
[PASS] test_updateSpokeCaps() (gas: 75557)
[PASS] test_updateSpokeCaps_revertsWith_AccessManagedUnauthorized() (gas: 31256)
[PASS] test_updateSpokeDrawCap() (gas: 75362)
[PASS] test_updateSpokeDrawCap_revertsWith_AccessManagedUnauthorized() (gas: 31267)
[PASS] test_updateSpokeHalted() (gas: 102218)
[PASS] test_updateSpokeHalted_revertsWith_AccessManagedUnauthorized() (gas: 31298)
[PASS] test_updateSpokeRiskPremiumThreshold() (gas: 75429)
[PASS] test_updateSpokeRiskPremiumThreshold_revertsWith_AccessManagedUnauthorized() (gas: 31235)
Suite result: ok. 60 passed; 0 failed; 0 skipped; finished in 11.80s (11.76s CPU time)
Ran 19 tests for tests/unit/Hub/Hub.Add.t.sol:HubAddTest
[PASS] test_add_AddCapReachedButNotExceeded_rounding() (gas: 660978)
[PASS] test_add_fuzz_AddCapReachedButNotExceeded(uint40) (runs: 5000, μ: 157951, ~: 157910)
Logs:
Bound result 9
[PASS] test_add_fuzz_multi_asset_multi_spoke(uint256,uint256,uint256) (runs: 5000, μ: 332648, ~: 332796)
Logs:
Bound result 3
Bound result 218470873395738003579119570309
Bound result 446067553769140138733721804
[PASS] test_add_fuzz_revertsWith_AddCapExceeded(uint40) (runs: 5000, μ: 112484, ~: 112443)
Logs:
Bound result 9
[PASS] test_add_fuzz_revertsWith_AddCapExceeded_due_to_interest(uint40,uint256,uint256) (runs: 5000, μ: 263906, ~: 263776)
Logs:
Bound result 1291
Bound result 1071208440522043736492
Bound result 173721804
[PASS] test_add_fuzz_revertsWith_InvalidShares_due_to_index(uint256,uint256,uint256) (runs: 5000, μ: 220720, ~: 220916)
Logs:
Bound result 999999999900000000000000004006
Bound result 3102569651
Bound result 10
[PASS] test_add_fuzz_single_asset(uint256,address,uint256) (runs: 5000, μ: 342533, ~: 342559)
Logs:
Bound result 0
Bound result 1397
[PASS] test_add_fuzz_single_spoke_multi_add(uint256,uint256) (runs: 5000, μ: 786306, ~: 786332)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_add_multi_add_minimal_shares() (gas: 316186)
[PASS] test_add_revertsWith_AmountDowncastOverflow() (gas: 357788)
[PASS] test_add_revertsWith_InsufficientTransferred() (gas: 64504)
[PASS] test_add_revertsWith_InvalidAmount() (gas: 13631)
[PASS] test_add_revertsWith_InvalidShares() (gas: 220255)
[PASS] test_add_revertsWith_SharesDowncastOverflow() (gas: 224404)
[PASS] test_add_revertsWith_SpokeHalted() (gas: 99829)
[PASS] test_add_revertsWith_SpokeNotActive() (gas: 99843)
[PASS] test_add_single_asset() (gas: 330408)
Logs:
Bound result 2
Bound result 100000000000000000000
[PASS] test_add_with_increased_index() (gas: 298187)
[PASS] test_add_with_increased_index_with_premium() (gas: 674503)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 44.62s (44.58s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueInterest.t.sol:SpokeAccrueInterestTest
[PASS] test_accrueInterest_NoActionTaken() (gas: 133168)
[PASS] test_accrueInterest_NoInterest_NoDebt(uint40) (runs: 5000, μ: 640198, ~: 640028)
Logs:
Bound result 9
[PASS] test_accrueInterest_NoInterest_OnlySupply(uint40) (runs: 5000, μ: 250245, ~: 250250)
Logs:
Bound result 9
[PASS] test_accrueInterest_TenPercentRp(uint256,uint40) (runs: 5000, μ: 583637, ~: 584050)
Logs:
Bound result 68691281934999
Bound result 0
[PASS] test_accrueInterest_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 5000, μ: 542990, ~: 543343)
Logs:
Bound result 68691281934999
Bound result 0
[SKIP: pending rft] test_accrueInterest_fuzz_RPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint40) (runs: 0, μ: 0, ~: 0)
[PASS] test_accrueInterest_fuzz_RatesRPBorrowAndSkipTime((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint96,uint96,uint96,uint96),uint40) (runs: 5000, μ: 4030126, ~: 4047043)
Logs:
Bound result 411405848788079200951284955761
Bound result 4500
Bound result 5808
Bound result 19274
Bound result 17382
Bound result 3333
Bound result 5000000000
Bound result 3291119784
Bound result 19450
Bound result 22
Bound result 8233
Bound result 1
Bound result 22447
Bound result 17382
Bound result 3333
Bound result 5000000000
Bound result 3291119784
Suite result: ok. 6 passed; 0 failed; 1 skipped; finished in 110.80s (110.77s 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, μ: 545665, ~: 545725)
Logs:
Bound result 5695
Bound result 750000000
Bound result 0
Bound result 477235411008605295071243848033
[PASS] test_accrueLiquidityFee_fuzz_maxLiquidityFee_with_premium_multiple_users(uint256,uint256,uint256,uint256,uint256) (runs: 5000, μ: 803299, ~: 803404)
Logs:
Bound result 24104
Bound result 222
Bound result 0
Bound result 11533
Bound result 19541
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_spoke() (gas: 277790935)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_multi_user() (gas: 194858233)
[PASS] test_accrueLiquidityFee_maxLiquidityFee_with_premium() (gas: 545787)
Logs:
Bound result 5000
Bound result 34560000
Bound result 2
Bound result 500000000000000000000
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 17.20s (17.17s CPU time)
Ran 7 tests for tests/unit/Spoke/Spoke.AccrueLiquidityFee.t.sol:SpokeAccrueLiquidityFeeTest
[PASS] test_accrueLiquidityFee() (gas: 879496)
[PASS] test_accrueLiquidityFee_NoActionTaken() (gas: 122186)
[PASS] test_accrueLiquidityFee_NoInterest_OnlySupply(uint40) (runs: 5000, μ: 245264, ~: 245225)
Logs:
Bound result 9
[PASS] test_accrueLiquidityFee_exact() (gas: 885393)
[PASS] test_accrueLiquidityFee_fuzz_BorrowAmountAndSkipTime(uint256,uint40) (runs: 5000, μ: 953673, ~: 981402)
Logs:
Bound result 68691281934999
Bound result 0
[PASS] test_accrueLiquidityFee_maxLiquidityFee() (gas: 546929)
[PASS] test_accrueLiquidityFee_setUsingAsCollateral() (gas: 895978)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 19.12s (19.09s CPU time)
Ran 11 tests for tests/unit/libraries/KeyValueList.t.sol:KeyValueListTest
[PASS] test_add_unique() (gas: 352075)
[PASS] test_fuzz_add(uint256,uint256) (runs: 5000, μ: 231245, ~: 232296)
[PASS] test_fuzz_add_unique(uint256,uint256) (runs: 5000, μ: 236147, ~: 236956)
Logs:
Bound result 100
[PASS] test_fuzz_get(uint256[]) (runs: 5000, μ: 377309, ~: 378109)
[PASS] test_fuzz_get_uninitialized(uint256[]) (runs: 5000, μ: 264434, ~: 249976)
[PASS] test_fuzz_get_uninitialized_sorted(uint256[]) (runs: 5000, μ: 180024, ~: 153157)
[PASS] test_fuzz_pack_unpack_roundtrip(uint256,uint256) (runs: 5000, μ: 9176, ~: 9363)
Logs:
Bound result 1869986064
Bound result 100
[PASS] test_fuzz_sortByKey(uint256[]) (runs: 5000, μ: 434903, ~: 429695)
[PASS] test_fuzz_sortByKey_length(uint256) (runs: 5000, μ: 199897, ~: 198623)
Logs:
Bound result 37
[PASS] test_fuzz_sortByKey_with_collision(uint256[]) (runs: 5000, μ: 513191, ~: 510249)
[PASS] test_fuzz_uncheckedAt(uint256[]) (runs: 5000, μ: 150000, ~: 150694)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 71.34s (71.33s CPU time)
Ran 2 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.CollateralToLiquidate.t.sol:LiquidationLogicCollateralToLiquidateTest
[PASS] test_calculateCollateralAmountToLiquidate() (gas: 165019)
[PASS] test_calculateCollateralToLiquidate_fuzz((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 188391, ~: 176783)
Logs:
Bound result 0
Bound result 10
Bound result 5625
Bound result 22453318525466649636763644584
Bound result 5
Bound result 40
Bound result 12
Bound result 5625541975901246828944
Bound result 11480
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.63s (2.59s 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,uint256,uint256,uint256)) (runs: 5000, μ: 39413, ~: 39545)
Logs:
Bound result 1631194238
Bound result 10585
Bound result 3436
Bound result 1187448874948792728
Bound result 232473893725761368
Bound result 7575125999959706
Bound result 15
Bound result 306286583169637935431906209884
Bound result 75679658657443156232320694161
Bound result 101634016077
Bound result 57926430471
[PASS] test_calculateDebtToLiquidate_fuzz_AmountAdjustedDueToDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 41832, ~: 42046)
Logs:
Bound result 18822046599935410513651614155054
Bound result 10213
Bound result 6014
Bound result 1417694694192823590
Bound result 573600540329698003
Bound result 4648017386000911
Bound result 11
Bound result 18233714595769
Bound result 99000000000000000000054501304
Bound result 9919303
Bound result 57
Bound result 4648017386000911
Bound result 3989
[PASS] test_calculateDebtToLiquidate_fuzz_ImpossibleToAdjustForDust((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 42017, ~: 41980)
Logs:
Bound result 1631194238
Bound result 10585
Bound result 3436
Bound result 1187448874948792728
Bound result 232473893725761368
Bound result 7575125999959706
Bound result 15
Bound result 306286583169637935431906209884
Bound result 75679658657443156232320694161
Bound result 101634016077
Bound result 57926430471
Bound result 5
Bound result 10000000000000000
Bound result 101634016077
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 4.67s (4.64s 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, μ: 23337, ~: 23388)
Logs:
Bound result 3116123919
Bound result 10725
Bound result 2977
Bound result 1486249897798496545
Bound result 555054242782847130
Bound result 6199474701275945
Bound result 9
[PASS] test_calculateDebtToTargetHealthFactor_NoPrecisionLoss() (gas: 27984)
[PASS] test_calculateDebtToTargetHealthFactor_PrecisionLoss() (gas: 17520)
[PASS] test_calculateDebtToTargetHealthFactor_UnitPrice() (gas: 27984)
[PASS] test_calculateDebtToTargetHealthFactor_fuzz_NoRevert((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 20568, ~: 20538)
Logs:
Bound result 3116123919
Bound result 10725
Bound result 2977
Bound result 1486249897798496545
Bound result 555054242782847130
Bound result 6199474701275945
Bound result 9
[PASS] test_calculateDebtToTargetHealthFactor_fuzz_revertsWith_DivisionByZero_ZeroAssetPrice((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 22868, ~: 22919)
Logs:
Bound result 3116123919
Bound result 10725
Bound result 2977
Bound result 1486249897798496545
Bound result 555054242782847130
Bound result 6199474701275945
Bound result 9
[PASS] test_calculateDebtToTargetHealthFactor_revertsWith_ArithmeticError_TargetHealthFactorLessThanHealthFactor((uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 22620, ~: 22671)
Logs:
Bound result 3116123919
Bound result 10725
Bound result 2977
Bound result 1486249897798496545
Bound result 555054242782847130
Bound result 6199474701275945
Bound result 9
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.11s (3.07s CPU time)
Ran 16 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.EvaluateDeficit.t.sol:LiquidationLogicEvaluateDeficitTest
[PASS] test_evaluateDeficit_CRE_SCCM_DRE_BRCM() (gas: 8941)
[PASS] test_evaluateDeficit_CRE_SCCM_DRE_BRCO() (gas: 8909)
[PASS] test_evaluateDeficit_CRE_SCCM_DRN_BRCM() (gas: 8952)
[PASS] test_evaluateDeficit_CRE_SCCM_DRN_BRCO() (gas: 8897)
[PASS] test_evaluateDeficit_CRE_SCCO_DRE_BRCM() (gas: 8945)
[PASS] test_evaluateDeficit_CRE_SCCO_DRE_BRCO() (gas: 8990)
[PASS] test_evaluateDeficit_CRE_SCCO_DRN_BRCM() (gas: 8955)
[PASS] test_evaluateDeficit_CRE_SCCO_DRN_BRCO() (gas: 8943)
[PASS] test_evaluateDeficit_CRN_SCCM_DRE_BRCM() (gas: 8943)
[PASS] test_evaluateDeficit_CRN_SCCM_DRE_BRCO() (gas: 8932)
[PASS] test_evaluateDeficit_CRN_SCCM_DRN_BRCM() (gas: 8866)
[PASS] test_evaluateDeficit_CRN_SCCM_DRN_BRCO() (gas: 8899)
[PASS] test_evaluateDeficit_CRN_SCCO_DRE_BRCM() (gas: 8876)
[PASS] test_evaluateDeficit_CRN_SCCO_DRE_BRCO() (gas: 8933)
[PASS] test_evaluateDeficit_CRN_SCCO_DRN_BRCM() (gas: 8929)
[PASS] test_evaluateDeficit_CRN_SCCO_DRN_BRCO() (gas: 8918)
Suite result: ok. 16 passed; 0 failed; 0 skipped; finished in 36.38ms (1.18ms CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.ExecuteLiquidation.t.sol:LiquidationLogicExecuteLiquidationTest
[PASS] test_executeLiquidation() (gas: 372061)
[PASS] test_executeLiquidation_revertsWith_InvalidDebtToCover() (gas: 81065)
[PASS] test_executeLiquidation_revertsWith_MustNotLeaveDust_Collateral() (gas: 144801)
[PASS] test_executeLiquidation_revertsWith_MustNotLeaveDust_Debt() (gas: 145345)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 39.15ms (1.61ms CPU time)
Ran 3 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateCollateral.t.sol:LiquidationLogicLiquidateCollateralTest
[PASS] test_liquidateCollateral_fuzz(uint256,uint256,bool) (runs: 5000, μ: 204185, ~: 189092)
Logs:
Bound result 10605966300000000000
Bound result 6858
[PASS] test_liquidateCollateral_revertsWith_ArithmeticUnderflow() (gas: 28131)
[PASS] test_liquidateCollateral_revertsWith_ArithmeticUnderflow_FeeShares() (gas: 118356)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.70s (2.67s CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateDebt.t.sol:LiquidationLogicLiquidateDebtTest
[PASS] test_liquidateDebt_fuzz(uint256) (runs: 5000, μ: 228515, ~: 218717)
[PASS] test_liquidateDebt_revertsWith_ArithmeticUnderflow() (gas: 106137)
[PASS] test_liquidateDebt_revertsWith_InsufficientAllowance() (gas: 115595)
[PASS] test_liquidateDebt_revertsWith_InsufficientBalance() (gas: 177180)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.70s (2.67s CPU time)
Ran 4 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidateUser.t.sol:LiquidationLogicLiquidateUserTest
[PASS] test_liquidateUser() (gas: 373081)
[PASS] test_liquidateUser_revertsWith_InvalidDebtToCover() (gas: 73821)
[PASS] test_liquidateUser_revertsWith_MustNotLeaveDust_Collateral() (gas: 141553)
[PASS] test_liquidateUser_revertsWith_MustNotLeaveDust_Debt() (gas: 146160)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 39.08ms (1.80ms CPU time)
Ran 38 tests for tests/unit/Hub/Hub.Config.t.sol:HubConfigTest
[PASS] test_addAsset_fuzz(address,uint8,address) (runs: 5000, μ: 948140, ~: 948179)
Logs:
Bound result 18
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_feeReceiver(address,uint8,address) (runs: 5000, μ: 45292, ~: 44992)
Logs:
Bound result 3
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_irStrategy(address,uint8,address) (runs: 5000, μ: 45357, ~: 45057)
Logs:
Bound result 3
[PASS] test_addAsset_fuzz_revertsWith_InvalidAddress_underlying(uint8,address,address) (runs: 5000, μ: 36654, ~: 36654)
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals(address,uint8,address,address) (runs: 5000, μ: 45896, ~: 45941)
Logs:
Bound result 251
[PASS] test_addAsset_fuzz_revertsWith_InvalidAssetDecimals_tooLow(address,uint8,address,address) (runs: 5000, μ: 46043, ~: 46330)
Logs:
Bound result 2
[PASS] test_addAsset_fuzz_reverts_InvalidIrData(address,uint8,address,address) (runs: 5000, μ: 40486018234, ~: 34985)
Logs:
Bound result 14
[PASS] test_addAsset_revertsWith_BlockTimestampDowncastOverflow() (gas: 956555)
[PASS] test_addAsset_revertsWith_DrawnRateDowncastOverflow() (gas: 953681)
[PASS] test_addAsset_reverts_UnderlyingAlreadyListed() (gas: 48915)
[PASS] test_addSpoke_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 126698, ~: 126748)
Logs:
Bound result 5
[PASS] test_addSpoke_fuzz_revertsWith_AssetNotListed(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 35246, ~: 35235)
Logs:
Bound result 11927
[PASS] test_addSpoke_fuzz_revertsWith_InvalidAddress_spoke(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 33929, ~: 33979)
Logs:
Bound result 5
[PASS] test_addSpoke_revertsWith_SpokeAlreadyListed() (gas: 39773)
[PASS] test_getAssetId() (gas: 73181)
[PASS] test_getAssetId_fuzz_revertsWith_AssetNotListed(address) (runs: 5000, μ: 18583, ~: 18583)
[PASS] test_hub_deploy_reverts_on_InvalidConstructorInput() (gas: 786876)
[PASS] test_hub_max_riskPremium() (gas: 8643)
[PASS] test_isUnderlyingListed() (gas: 1736179)
[PASS] test_updateAssetConfig_NewFeeReceiver_noFees() (gas: 718175)
[PASS] test_updateAssetConfig_NewFeeReceiver_revertsWith_SpokeNotActive_noFees() (gas: 613507)
[PASS] test_updateAssetConfig_UseExistingSpokeAndListedAsFeeReceiver_revertsWith_SpokeAlreadyListed() (gas: 70730)
[PASS] test_updateAssetConfig_fuzz(uint256,(address,uint16,address,address)) (runs: 5000, μ: 269260, ~: 269545)
Logs:
Bound result 1
Bound result 5526
[PASS] test_updateAssetConfig_fuzz_FromZeroLiquidityFee(uint256,uint16) (runs: 5000, μ: 819084, ~: 818914)
Logs:
Bound result 3
Bound result 1
Bound result 3
Bound result 0
Bound result 3
Bound result 1
[PASS] test_updateAssetConfig_fuzz_LiquidityFee(uint256,uint16) (runs: 5000, μ: 721504, ~: 721334)
Logs:
Bound result 3
Bound result 1
Bound result 3
Bound result 1
[PASS] test_updateAssetConfig_fuzz_NewDrawnRateStrategy(uint256) (runs: 5000, μ: 1256392, ~: 1256394)
Logs:
Bound result 3
[PASS] test_updateAssetConfig_fuzz_NewFeeReceiver(uint256) (runs: 5000, μ: 820420, ~: 820422)
Logs:
Bound result 3
Bound result 3
Bound result 1000
[PASS] test_updateAssetConfig_fuzz_ReuseFeeReceiver_revertsWith_SpokeAlreadyListed(uint256) (runs: 5000, μ: 874100, ~: 874102)
Logs:
Bound result 3
Bound result 3
Bound result 3
Bound result 1000
[PASS] test_updateAssetConfig_fuzz_Scenario(uint256) (runs: 5000, μ: 700436, ~: 700489)
Logs:
Bound result 3
Bound result 3
Bound result 1000
Bound result 3
Bound result 1000
Bound result 3
Bound result 0
Bound result 3
Bound result 0
Bound result 3
Bound result 0
Bound result 3
Bound result 0
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidInterestRateStrategy(uint256) (runs: 5000, μ: 61105, ~: 61158)
Logs:
Bound result 3
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidLiquidityFee(uint256,(address,uint16,address,address)) (runs: 5000, μ: 40142, ~: 40042)
Logs:
Bound result 1
Bound result 5526
[PASS] test_updateAssetConfig_fuzz_revertsWith_InvalidReinvestmentController() (gas: 469843)
[PASS] test_updateAssetConfig_fuzz_revertsWith_calculateInterestRateReverts(uint256,(address,uint16,address,address)) (runs: 5000, μ: 198886, ~: 199295)
Logs:
Bound result 4
Bound result 15
[PASS] test_updateAssetConfig_fuzz_revertsWith_setInterestRateDataReverts(uint256,(address,uint16,address,address)) (runs: 5000, μ: 95948, ~: 96293)
Logs:
Bound result 3
Bound result 350
[PASS] test_updateAssetConfig_oldFeeReceiver_flags() (gas: 875259)
Logs:
Bound result 3
Bound result 1000
Bound result 5
Bound result 500
Bound result 3
Bound result 1000
Bound result 0
Bound result 1000
[PASS] test_updateSpokeConfig_fuzz(uint256,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 59180, ~: 59239)
Logs:
Bound result 3
[PASS] test_updateSpokeConfig_fuzz_revertsWith_SpokeNotListed(uint256,address,(uint40,uint40,uint24,bool,bool)) (runs: 5000, μ: 40547, ~: 40614)
Logs:
Bound result 2
[PASS] test_updateSpokeConfig_revertsWith_AssetNotListed() (gas: 29661)
Suite result: ok. 38 passed; 0 failed; 0 skipped; finished in 92.93s (92.90s CPU time)
Ran 5 tests for tests/unit/Spoke/Spoke.Borrow.EdgeCases.t.sol:SpokeBorrowEdgeCasesTest
[PASS] test_borrow_fuzz_rounding_effect(uint256,uint256) (runs: 5000, μ: 1042266, ~: 1042361)
Logs:
Bound result 68691281934999
Bound result 100
[PASS] test_borrow_fuzz_rounding_effect_inflated_ex_rate(uint256,uint256,uint256) (runs: 5000, μ: 1414674, ~: 1414747)
Logs:
Bound result 597528960716847526939947
Bound result 395000775899076820696802
Bound result 609857102
[PASS] test_borrow_fuzz_rounding_effect_shares(uint256,uint256) (runs: 5000, μ: 1085271, ~: 1085012)
Logs:
Bound result 68691281934999
Bound result 832464101
[PASS] test_borrow_rounding_effect_multiple_actions() (gas: 1147381)
[PASS] test_borrow_rounding_effect_shares() (gas: 1084274)
Logs:
Bound result 5000000000000000000
Bound result 94608000
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 56.23s (56.19s CPU time)
Ran 8 tests for tests/unit/libraries/LiquidationLogic/LiquidationLogic.LiquidationAmounts.t.sol:LiquidationLogicLiquidationAmountsTest
[PASS] test_calculateLiquidationAmounts_EnoughCollateral() (gas: 166731)
[PASS] test_calculateLiquidationAmounts_InsufficientCollateral() (gas: 167437)
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_CollateralDust((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 285989, ~: 274783)
Logs:
Bound result 3
Bound result 2767
Bound result 443124196721905572
Bound result 14843
Bound result 8
Bound result 18
Bound result 13290
Bound result 5661
Bound result 1999999999999999997
Bound result 443124196721905572
Bound result 9304570613870847
Bound result 9
Bound result 999999999999999999999999999997
Bound result 1000000000000000000000000000
Bound result 28591
Bound result 54527
Bound result 6504484831365108
Bound result 7
Bound result 1109
Bound result 18850239771387979476210927906
Bound result 0
Bound result 6504484831365108
Bound result 26
Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_NoCollateralDust((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 240911, ~: 228936)
Logs:
Bound result 3
Bound result 2767
Bound result 443124196721905572
Bound result 14843
Bound result 8
Bound result 18
Bound result 13290
Bound result 5661
Bound result 1999999999999999997
Bound result 443124196721905572
Bound result 9304570613870847
Bound result 9
Bound result 999999999999999999999999999997
Bound result 1000000000000000000000000000
Bound result 28591
Bound result 54527
Bound result 6504484831365108
Bound result 7
Bound result 1109
Bound result 18850239771387979476210927906
Bound result 0
Bound result 18850239771387979476210927906
Bound result 999999999999999999999999999997
[PASS] test_calculateLiquidationAmounts_fuzz_EnoughCollateral_NoDebtLeft((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 260030, ~: 248026)
Logs:
Bound result 305647192271866193
Bound result 8596
Bound result 375151818457824964
Bound result 10660
Bound result 18
Bound result 3
Bound result 10650
Bound result 2
Bound result 1320660900608901589
Bound result 375151818457824964
Bound result 2459529247883382
Bound result 14
Bound result 688868459503709026022276783765
Bound result 35620419098526773228444064473
Bound result 30663477167
Bound result 40658186962
Bound result 3642834413111126
Bound result 12
Bound result 6498
Bound result 945630876467233914863016616547
Bound result 0
Bound result 3
Bound result 10650
Bound result 2
Bound result 1320660900608901589
Bound result 375151818457824964
Bound result 2459529247883382
Bound result 14
Bound result 688868459503709026022276783765
Bound result 35620419098526773228444064473
Bound result 30663477167
Bound result 40658186962
Bound result 2459529247883382
Bound result 678767
Bound result 945630876467233914863016616547
Bound result 688868459503709026022276783765
[PASS] test_calculateLiquidationAmounts_fuzz_InsufficientCollateral((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 245800, ~: 234092)
Logs:
Bound result 511
Bound result 4408
Bound result 0
Bound result 10010
Bound result 6
Bound result 99608
Bound result 10010
Bound result 3645
Bound result 1000000000000000045
Bound result 0
Bound result 94060736361194
Bound result 14
Bound result 5000000000000000000000000000
Bound result 99000000000000000004425000001
Bound result 17618
Bound result 481706357738
Bound result 15313
Bound result 16
Bound result 9986
Bound result 1000000000
Bound result 5
Bound result 1336
Bound result 5000000000000000000000000000
[PASS] test_calculateLiquidationAmounts_fuzz_revertsWith_MustNotLeaveDust_Collateral((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 268867, ~: 257135)
Logs:
Bound result 3886412
Bound result 2
Bound result 147
Bound result 12468
Bound result 6
Bound result 28951245481117846533722652
Bound result 12468
Bound result 3739
Bound result 1000109044247905327
Bound result 147
Bound result 1766670143596910
Bound result 14
Bound result 885000589634409638603543244567
Bound result 45625495039344622427514351693
Bound result 1
Bound result 45089934476
Bound result 9035404749081580
Bound result 15
Bound result 274
Bound result 471071379138868438154450132077
Bound result 5
Bound result 9035404749081580
Bound result 3252684925
Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935
[PASS] test_calculateLiquidationAmounts_fuzz_revertsWith_MustNotLeaveDust_Debt((address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)) (runs: 5000, μ: 251834, ~: 239784)
Logs:
Bound result 305647192271866193
Bound result 8596
Bound result 37...*[Comment body truncated]* |
♻️ Forge Gas Snapshots🔕 Unchanged
|
Forge Build Sizes
🔕 Unchanged
|
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
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.
Python script taking in input the deploy report and the configuration file, and verifies :