mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-09 15:27:55 -05:00
chore(RewardsStreamerMP): remove MPs from shares/weights calculations
This commit is contained in:
366
.gas-report
366
.gas-report
@@ -1,366 +0,0 @@
|
||||
|
||||
╭-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╮
|
||||
| script/DeployRewardsStreamerMP.s.sol:DeployRewardsStreamerMPScript Contract | | | | | |
|
||||
+=======================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| 7103409 | 33906 | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| | | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| run | 6202546 | 6202546 | 6202546 | 6202546 | 67 |
|
||||
╰-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
|
||||
|
||||
╭---------------------------------------------------------+-----------------+-----+--------+-----+---------╮
|
||||
| script/DeploymentConfig.s.sol:DeploymentConfig Contract | | | | | |
|
||||
+==========================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
|
||||
| 0 | 7333 | | | | |
|
||||
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
|
||||
| | | | | | |
|
||||
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
|
||||
| activeNetworkConfig | 454 | 454 | 454 | 454 | 134 |
|
||||
╰---------------------------------------------------------+-----------------+-----+--------+-----+---------╯
|
||||
|
||||
╭-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╮
|
||||
| script/UpgradeRewardsStreamerMP.s.sol:UpgradeRewardsStreamerMPScript Contract | | | | | |
|
||||
+=========================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| 3140997 | 15448 | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| run | 2657933 | 2657933 | 2657933 | 2657933 | 3 |
|
||||
╰-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
|
||||
|
||||
╭------------------------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
| src/RewardsStreamerMP.sol:RewardsStreamerMP Contract | | | | | |
|
||||
+=============================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| 2821054 | 13009 | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| MAX_LOCKUP_PERIOD | 382 | 382 | 382 | 382 | 4 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| MAX_MULTIPLIER | 262 | 262 | 262 | 262 | 9 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| MIN_LOCKUP_PERIOD | 308 | 308 | 308 | 308 | 15 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| emergencyModeEnabled | 2398 | 2398 | 2398 | 2398 | 7 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| enableEmergencyMode | 2507 | 19414 | 24699 | 24699 | 8 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountTotalMaxMP | 3133 | 3133 | 3133 | 3133 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountTotalStakedBalance | 15173 | 15173 | 15173 | 15173 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountVaults | 5225 | 5225 | 5225 | 5225 | 4 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getStakedBalance | 2618 | 2618 | 2618 | 2618 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getVault | 1621 | 1621 | 1621 | 1621 | 72 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| initialize | 115654 | 115654 | 115654 | 115654 | 67 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lastRewardTime | 428 | 1428 | 1428 | 2428 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 79955 | 79955 | 79955 | 79955 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 14282 | 42727 | 42692 | 78446 | 259 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| mpBalanceOfAccount | 10308 | 10308 | 10308 | 10308 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| proxiableUUID | 387 | 387 | 387 | 387 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| registerVault | 2562 | 70883 | 71335 | 71335 | 266 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardEndTime | 362 | 1362 | 1362 | 2362 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardStartTime | 407 | 1407 | 1407 | 2407 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardsBalanceOf | 2942 | 6975 | 7525 | 7746 | 8 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setReward | 2606 | 58415 | 86507 | 105754 | 7 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setTrustedCodehash | 24199 | 24199 | 24199 | 24199 | 67 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 2637 | 178788 | 180726 | 201200 | 323 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMPAccrued | 384 | 384 | 384 | 384 | 81 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMaxMP | 406 | 406 | 406 | 406 | 81 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsAccrued | 407 | 407 | 407 | 407 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsSupply | 1036 | 1995 | 1817 | 6776 | 30 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalStaked | 427 | 427 | 427 | 427 | 82 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 63857 | 64502 | 63857 | 68054 | 13 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateGlobalState | 14339 | 26780 | 28759 | 28759 | 19 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateVaultMP | 11707 | 17581 | 18273 | 18273 | 19 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| upgradeToAndCall | 3181 | 7875 | 8438 | 10881 | 5 |
|
||||
╰------------------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭----------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
| src/StakeVault.sol:StakeVault Contract | | | | | |
|
||||
+===============================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| 1557273 | 7323 | | | | |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| STAKING_TOKEN | 239 | 239 | 239 | 239 | 1 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| emergencyExit | 14974 | 31592 | 31512 | 48612 | 7 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| initialize | 98005 | 98005 | 98005 | 98005 | 266 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 12145 | 122559 | 62090 | 353914 | 4 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 12075 | 57976 | 58119 | 93872 | 260 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| owner | 377 | 377 | 377 | 377 | 265 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| register | 12654 | 74497 | 74924 | 74924 | 266 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 12077 | 233957 | 236707 | 257181 | 324 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stakeManager | 367 | 367 | 367 | 367 | 265 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| trustStakeManager | 7577 | 7577 | 7577 | 7577 | 1 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 12054 | 89644 | 94967 | 99164 | 14 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| withdraw | 20705 | 20705 | 20705 | 20705 | 1 |
|
||||
╰----------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭----------------------------------------------------+-----------------+------+--------+--------+---------╮
|
||||
| src/TransparentProxy.sol:TransparentProxy Contract | | | | | |
|
||||
+=========================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| 0 | 1231 | | | | |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| fallback | 689 | 7797 | 854 | 132112 | 461 |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| implementation | 343 | 2340 | 2343 | 2343 | 869 |
|
||||
╰----------------------------------------------------+-----------------+------+--------+--------+---------╯
|
||||
|
||||
╭--------------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
| src/VaultFactory.sol:VaultFactory Contract | | | | | |
|
||||
+===================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|--------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| 0 | 1991 | | | | |
|
||||
|--------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|--------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|--------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| createVault | 227659 | 244565 | 244759 | 244759 | 265 |
|
||||
╰--------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭-------------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| src/XPNFTToken.sol:XPNFTToken Contract | | | | | |
|
||||
+======================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 721357 | 3311 | | | | |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| approve | 391 | 391 | 391 | 391 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| getApproved | 293 | 293 | 293 | 293 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| isApprovedForAll | 507 | 507 | 507 | 507 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| metadataGenerator | 324 | 324 | 324 | 324 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| safeTransferFrom(address,address,uint256) | 482 | 482 | 482 | 482 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| safeTransferFrom(address,address,uint256,bytes) | 673 | 673 | 673 | 673 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setApprovalForAll | 473 | 473 | 473 | 473 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setMetadataGenerator | 23993 | 26486 | 26486 | 28980 | 2 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| tokenURI | 71322 | 71322 | 71322 | 71322 | 1 |
|
||||
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| transferFrom | 527 | 527 | 527 | 527 | 1 |
|
||||
╰-------------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭----------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| src/XPToken.sol:XPToken Contract | | | | | |
|
||||
+=======================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 1040918 | 4850 | | | | |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| acceptOwnership | 28260 | 28260 | 28260 | 28260 | 1 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| addRewardProvider | 23967 | 57628 | 51089 | 68189 | 44 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| allowance | 530 | 530 | 530 | 530 | 2 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| approve | 410 | 410 | 410 | 410 | 2 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| balanceOf | 3601 | 11267 | 9601 | 20601 | 6 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| getRewardProviders | 1051 | 3304 | 3304 | 5557 | 4 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| mint | 24199 | 75906 | 91068 | 91080 | 14 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| mintAllowance | 5714 | 5751 | 5751 | 5788 | 2 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| owner | 340 | 1006 | 340 | 2340 | 3 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| removeRewardProvider | 23685 | 28092 | 25800 | 34792 | 6 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| totalSupply | 3018 | 5018 | 3018 | 11018 | 8 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| transfer | 408 | 408 | 408 | 408 | 2 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| transferFrom | 517 | 517 | 517 | 517 | 2 |
|
||||
|----------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| transferOwnership | 47730 | 47730 | 47730 | 47730 | 1 |
|
||||
╰----------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| src/nft-metadata-generators/NFTMetadataGeneratorSVG.sol:NFTMetadataGeneratorSVG Contract | | | | | |
|
||||
+===============================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 1146955 | 5713 | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| generate | 51746 | 51746 | 51746 | 51746 | 1 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| imagePrefix | 1074 | 2074 | 2074 | 3074 | 2 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| imageSuffix | 1118 | 2118 | 2118 | 3118 | 2 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setImageStrings | 25248 | 30606 | 30606 | 35965 | 2 |
|
||||
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| src/nft-metadata-generators/NFTMetadataGeneratorURL.sol:NFTMetadataGeneratorURL Contract | | | | | |
|
||||
+===============================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 1120404 | 5550 | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| generate | 61198 | 61198 | 61198 | 61198 | 1 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setURLStrings | 25416 | 30774 | 30774 | 36133 | 2 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| urlPrefix | 1075 | 1075 | 1075 | 1075 | 1 |
|
||||
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| urlSuffix | 1141 | 1141 | 1141 | 1141 | 1 |
|
||||
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| test/mocks/MockMetadataGenerator.sol:MockMetadataGenerator Contract | | | | | |
|
||||
+==========================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 896351 | 4458 | | | | |
|
||||
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| generate | 57807 | 57807 | 57807 | 57807 | 1 |
|
||||
╰---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭---------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| test/mocks/MockToken.sol:MockToken Contract | | | | | |
|
||||
+==================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 625370 | 3260 | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| approve | 46342 | 46342 | 46342 | 46342 | 265 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| balanceOf | 558 | 926 | 558 | 2558 | 103 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| mint | 51279 | 56383 | 51279 | 68379 | 278 |
|
||||
╰---------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
| test/mocks/StackOverflowStakeManager.sol:StackOverflowStakeManager Contract | | | | | |
|
||||
+====================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| 1031089 | 4604 | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 845 | 161317 | 161317 | 321839 | 333 |
|
||||
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| proxiableUUID | 330 | 330 | 330 | 330 | 1 |
|
||||
╰-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭-------------------------------------------------------+-----------------+-------+--------+-------+---------╮
|
||||
| test/mocks/XPProviderMock.sol:XPProviderMock Contract | | | | | |
|
||||
+============================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 177729 | 606 | | | | |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| rewardsBalanceOfAccount | 501 | 1834 | 2501 | 2501 | 12 |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setTotalXPShares | 43652 | 43652 | 43652 | 43652 | 20 |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| setUserXPShare | 44125 | 44125 | 44125 | 44125 | 4 |
|
||||
|-------------------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| totalRewardsSupply | 323 | 989 | 323 | 2323 | 72 |
|
||||
╰-------------------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
|
||||
|
||||
@@ -308,28 +308,22 @@ contract RewardsStreamerMP is
|
||||
}
|
||||
|
||||
function updateGlobalMP() internal {
|
||||
(uint256 adjustedRewardIndex, uint256 newTotalMPAccrued) = _pendingTotalMPAccrued();
|
||||
uint256 newTotalMPAccrued = _pendingTotalMPAccrued();
|
||||
if (newTotalMPAccrued > totalMPAccrued) {
|
||||
totalMPAccrued = newTotalMPAccrued;
|
||||
lastMPUpdatedTime = block.timestamp;
|
||||
}
|
||||
|
||||
if (adjustedRewardIndex != rewardIndex) {
|
||||
rewardIndex = adjustedRewardIndex;
|
||||
}
|
||||
}
|
||||
|
||||
function _pendingTotalMPAccrued() internal view returns (uint256, uint256) {
|
||||
uint256 adjustedRewardIndex = rewardIndex;
|
||||
|
||||
function _pendingTotalMPAccrued() internal view returns (uint256) {
|
||||
if (totalMaxMP == 0) {
|
||||
return (adjustedRewardIndex, totalMPAccrued);
|
||||
return totalMPAccrued;
|
||||
}
|
||||
|
||||
uint256 currentTime = block.timestamp;
|
||||
uint256 timeDiff = currentTime - lastMPUpdatedTime;
|
||||
if (timeDiff == 0) {
|
||||
return (adjustedRewardIndex, totalMPAccrued);
|
||||
return totalMPAccrued;
|
||||
}
|
||||
|
||||
uint256 accruedMP = _accrueMP(totalStaked, timeDiff);
|
||||
@@ -339,14 +333,7 @@ contract RewardsStreamerMP is
|
||||
|
||||
uint256 newTotalMPAccrued = totalMPAccrued + accruedMP;
|
||||
|
||||
// Adjust rewardIndex before updating totalMP
|
||||
uint256 previousTotalWeight = totalStaked + totalMPAccrued;
|
||||
uint256 newTotalWeight = totalStaked + newTotalMPAccrued;
|
||||
if (previousTotalWeight != 0 && newTotalWeight != previousTotalWeight) {
|
||||
adjustedRewardIndex = (rewardIndex * previousTotalWeight) / newTotalWeight;
|
||||
}
|
||||
|
||||
return (adjustedRewardIndex, newTotalMPAccrued);
|
||||
return newTotalMPAccrued;
|
||||
}
|
||||
|
||||
function setReward(uint256 amount, uint256 duration) external onlyOwner {
|
||||
@@ -414,10 +401,9 @@ contract RewardsStreamerMP is
|
||||
}
|
||||
|
||||
function _pendingRewardIndex() internal view returns (uint256, uint256) {
|
||||
(uint256 adjustedRewardIndex, uint256 newTotalMPAccrued) = _pendingTotalMPAccrued();
|
||||
uint256 totalWeight = totalStaked + newTotalMPAccrued;
|
||||
uint256 totalShares = totalStaked;
|
||||
|
||||
if (totalWeight == 0) {
|
||||
if (totalShares == 0) {
|
||||
return (0, rewardIndex);
|
||||
}
|
||||
|
||||
@@ -434,7 +420,7 @@ contract RewardsStreamerMP is
|
||||
return (0, rewardIndex);
|
||||
}
|
||||
|
||||
uint256 newRewardIndex = adjustedRewardIndex + Math.mulDiv(accruedRewards, SCALE_FACTOR, totalWeight);
|
||||
uint256 newRewardIndex = rewardIndex + Math.mulDiv(accruedRewards, SCALE_FACTOR, totalShares);
|
||||
|
||||
return (accruedRewards, newRewardIndex);
|
||||
}
|
||||
@@ -492,10 +478,10 @@ contract RewardsStreamerMP is
|
||||
|
||||
VaultData storage vault = vaultData[vaultAddress];
|
||||
|
||||
uint256 accountWeight = vault.stakedBalance + _mpBalanceOf(vaultAddress);
|
||||
uint256 accountShares = vault.stakedBalance;
|
||||
uint256 deltaRewardIndex = newRewardIndex - vault.rewardIndex;
|
||||
|
||||
return (accountWeight * deltaRewardIndex) / SCALE_FACTOR;
|
||||
return (accountShares * deltaRewardIndex) / SCALE_FACTOR;
|
||||
}
|
||||
|
||||
function rewardsBalanceOfAccount(address account) external view returns (uint256) {
|
||||
|
||||
@@ -2106,27 +2106,31 @@ contract RewardsStreamerMP_RewardsTest is RewardsStreamerMPTest {
|
||||
|
||||
_stake(alice, 100e18, 0);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), 0);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[bob]), 0);
|
||||
|
||||
vm.prank(admin);
|
||||
streamer.setReward(1000e18, 10 days);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), 0);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[bob]), 0);
|
||||
|
||||
vm.warp(initialTime + 1 days);
|
||||
|
||||
uint256 liveBalanceBeforeGlobalUpdate = streamer.rewardsBalanceOf(vaults[alice]);
|
||||
uint256 tolerance = 300; // 300 wei
|
||||
|
||||
assertEq(streamer.totalRewardsSupply(), 100e18, "Total rewards supply mismatch");
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), liveBalanceBeforeGlobalUpdate);
|
||||
assertApproxEqAbs(streamer.rewardsBalanceOf(vaults[alice]), 100e18, tolerance);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), 100e18);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[bob]), 0);
|
||||
|
||||
vm.warp(initialTime + 5 days);
|
||||
_stake(bob, 100e18, 0);
|
||||
|
||||
assertEq(streamer.totalRewardsSupply(), 500e18, "Total rewards supply mismatch");
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), 500e18);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[bob]), 0);
|
||||
|
||||
vm.warp(initialTime + 10 days);
|
||||
|
||||
uint256 secondLiveBalanceBeforeGlobalUpdate = streamer.rewardsBalanceOf(vaults[alice]);
|
||||
|
||||
assertEq(streamer.totalRewardsSupply(), 1000e18, "Total rewards supply mismatch");
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), secondLiveBalanceBeforeGlobalUpdate);
|
||||
assertApproxEqAbs(streamer.rewardsBalanceOf(vaults[alice]), 1000e18, tolerance);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[alice]), 750e18);
|
||||
assertEq(streamer.rewardsBalanceOf(vaults[bob]), 250e18);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user