mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-08 20:48:00 -05:00
!refactor(RewardsStreamerMP): rename internal functions and rewardIndex
This commit does the following changes: `_getVaultPendingMP()` -> _`vaultPendingMP()` `_liveTotalMP()` -> `_totalMP()` `_liveRewardIndex()` -> `_rewardIndex()` `updateRewardIndex()` -> `_updateRewardIndex()` BREAKING CHANGE: The previous public `rewardIndex` field is now called `lastRewardIndex`. Closes #189
This commit is contained in:
82
.gas-report
82
.gas-report
@@ -10,7 +10,7 @@
|
||||
|-------------------------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-------------------------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| fallback | 746 | 132239 | 190895 | 190943 | 515 |
|
||||
| fallback | 746 | 132251 | 190917 | 190965 | 515 |
|
||||
╰-------------------------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭-----------------------------------------------------+-----------------+---------+---------+---------+---------╮
|
||||
@@ -46,13 +46,13 @@
|
||||
+=======================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| 8427605 | 40187 | | | | |
|
||||
| 8425853 | 40179 | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| | | | | | |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| run | 7346139 | 7346139 | 7346139 | 7346139 | 92 |
|
||||
| run | 7344531 | 7344531 | 7344531 | 7344531 | 92 |
|
||||
╰-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
|
||||
|
||||
╭---------------------------------------------------------+-----------------+-----+--------+-----+---------╮
|
||||
@@ -74,13 +74,13 @@
|
||||
+=========================================================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| 5878083 | 28278 | | | | |
|
||||
| 5876322 | 28270 | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| | | | | | |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
|
||||
| runWithAdminAndProxy | 3309002 | 3309002 | 3309002 | 3309002 | 3 |
|
||||
| runWithAdminAndProxy | 3307394 | 3307394 | 3307394 | 3307394 | 3 |
|
||||
╰-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
|
||||
|
||||
╭------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
@@ -116,7 +116,7 @@
|
||||
|------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| removeRewardDistributor | 2632 | 12148 | 4824 | 28990 | 9 |
|
||||
|------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setReward | 22021 | 152039 | 164219 | 164219 | 290 |
|
||||
| setReward | 22043 | 152059 | 164241 | 164241 | 290 |
|
||||
|------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalSupply | 3545 | 5726 | 3545 | 11545 | 11 |
|
||||
|------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -164,7 +164,7 @@
|
||||
+=============================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| 3515097 | 16284 | | | | |
|
||||
| 3513337 | 16276 | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| | | | | | |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -176,33 +176,33 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| MIN_LOCKUP_PERIOD | 309 | 309 | 309 | 309 | 15 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| emergencyModeEnabled | 2399 | 2399 | 2399 | 2399 | 263 |
|
||||
| emergencyModeEnabled | 2421 | 2421 | 2421 | 2421 | 263 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| enableEmergencyMode | 2521 | 25269 | 25435 | 25435 | 264 |
|
||||
| enableEmergencyMode | 2543 | 25291 | 25457 | 25457 | 264 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountTotalMaxMP | 3169 | 3169 | 3169 | 3169 | 1 |
|
||||
| getAccountTotalMaxMP | 3191 | 3191 | 3191 | 3191 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountTotalStakedBalance | 15170 | 15170 | 15170 | 15170 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getAccountVaults | 5208 | 5208 | 5208 | 5208 | 4 |
|
||||
| getAccountVaults | 5230 | 5230 | 5230 | 5230 | 4 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getStakedBalance | 2643 | 2643 | 2643 | 2643 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| getVault | 1970 | 7310 | 1970 | 17970 | 4182 |
|
||||
| getVault | 1970 | 7411 | 1970 | 17970 | 4184 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| initialize | 92752 | 92752 | 92752 | 92752 | 92 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lastRewardTime | 385 | 1385 | 1385 | 2385 | 2 |
|
||||
| lastRewardTime | 407 | 1407 | 1407 | 2407 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 95188 | 95188 | 95188 | 95188 | 1 |
|
||||
| leave | 94998 | 94998 | 94998 | 94998 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 7106 | 45325 | 48853 | 90909 | 1034 |
|
||||
| lock | 7040 | 45022 | 48575 | 90631 | 1034 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| migrateToVault | 13548 | 72959 | 15755 | 189576 | 3 |
|
||||
| migrateToVault | 13570 | 72911 | 15777 | 189386 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| mpBalanceOf | 917 | 2361 | 2316 | 7063 | 12 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| mpBalanceOfAccount | 6188 | 8261 | 8261 | 10334 | 2 |
|
||||
| mpBalanceOfAccount | 6210 | 8283 | 8283 | 10356 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| mpStakedOf | 606 | 701 | 606 | 2606 | 21 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -214,47 +214,47 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardStartTime | 408 | 1408 | 1408 | 2408 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardsBalanceOf | 2340 | 3538 | 3953 | 6340 | 268 |
|
||||
| rewardsBalanceOf | 2340 | 3544 | 3953 | 6340 | 268 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardsBalanceOfAccount | 10220 | 10220 | 10220 | 10220 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setReward | 2486 | 105543 | 107054 | 107054 | 265 |
|
||||
| setReward | 2508 | 105565 | 107076 | 107076 | 265 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setRewardsSupplier | 26831 | 26831 | 26831 | 26831 | 87 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setTrustedCodehash | 24194 | 24194 | 24194 | 24194 | 92 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 2703 | 142975 | 62559 | 248644 | 2668 |
|
||||
| stake | 2639 | 140819 | 62283 | 248368 | 2668 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMP | 805 | 1257 | 1257 | 1710 | 6 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMPAccrued | 385 | 1055 | 385 | 2385 | 4162 |
|
||||
| totalMPAccrued | 385 | 1068 | 385 | 2385 | 4164 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMPStaked | 429 | 1099 | 429 | 2429 | 4165 |
|
||||
| totalMPStaked | 429 | 1111 | 429 | 2429 | 4167 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMaxMP | 407 | 1077 | 407 | 2407 | 4162 |
|
||||
| totalMaxMP | 407 | 1090 | 407 | 2407 | 4164 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsAccrued | 385 | 385 | 385 | 385 | 3 |
|
||||
| totalRewardsAccrued | 407 | 407 | 407 | 407 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsSupply | 976 | 1599 | 1770 | 6715 | 290 |
|
||||
| totalRewardsSupply | 998 | 1624 | 1792 | 6737 | 290 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalShares | 662 | 662 | 662 | 662 | 6 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalStaked | 386 | 1055 | 386 | 2386 | 4169 |
|
||||
| totalStaked | 408 | 1090 | 408 | 2408 | 4171 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 41762 | 44586 | 41788 | 81026 | 269 |
|
||||
| unstake | 41550 | 44252 | 41576 | 80814 | 269 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateAccount | 369042 | 369042 | 369042 | 369042 | 1 |
|
||||
| updateAccount | 368194 | 368194 | 368194 | 368194 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateGlobalState | 15820 | 25876 | 29230 | 29230 | 8 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateVault | 34763 | 37437 | 34763 | 115885 | 1024 |
|
||||
| updateVault | 34573 | 36925 | 34573 | 115695 | 1026 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| upgradeTo | 10235 | 10851 | 10235 | 12701 | 4 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| upgradeToAndCall | 3228 | 3228 | 3228 | 3228 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| vaultShares | 871 | 1037 | 871 | 2871 | 12 |
|
||||
| vaultShares | 893 | 1059 | 893 | 2893 | 12 |
|
||||
╰------------------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
╭----------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
@@ -270,27 +270,27 @@
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| STAKING_TOKEN | 240 | 240 | 240 | 240 | 1 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| emergencyExit | 15001 | 31441 | 31439 | 48539 | 263 |
|
||||
| emergencyExit | 15023 | 31463 | 31461 | 48561 | 263 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| initialize | 97660 | 97660 | 97660 | 97660 | 362 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 12161 | 126456 | 69692 | 354278 | 4 |
|
||||
| leave | 12161 | 126408 | 69597 | 354278 | 4 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 12091 | 60744 | 64319 | 106372 | 1035 |
|
||||
| lock | 12091 | 60441 | 64041 | 106094 | 1035 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| migrateToVault | 29036 | 99641 | 31243 | 238646 | 3 |
|
||||
| migrateToVault | 29058 | 99593 | 31265 | 238456 | 3 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| owner | 379 | 411 | 379 | 2379 | 370 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| register | 12674 | 78039 | 78600 | 78600 | 362 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 12071 | 177339 | 78052 | 304212 | 2669 |
|
||||
| stake | 12071 | 174779 | 77776 | 303936 | 2669 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stakeManager | 369 | 369 | 369 | 369 | 361 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| trustStakeManager | 7580 | 7580 | 7580 | 7580 | 1 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 12048 | 60890 | 57231 | 112048 | 270 |
|
||||
| unstake | 12048 | 60557 | 57019 | 111836 | 270 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| withdraw | 20754 | 20754 | 20754 | 20754 | 1 |
|
||||
╰----------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
@@ -306,7 +306,7 @@
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| fallback | 708 | 6583 | 2454 | 395419 | 23163 |
|
||||
| fallback | 708 | 6601 | 2454 | 394571 | 23175 |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| implementation | 346 | 2345 | 2346 | 2346 | 4344 |
|
||||
╰----------------------------------------------------+-----------------+------+--------+--------+---------╯
|
||||
@@ -404,17 +404,17 @@
|
||||
+==================================================================================================+
|
||||
| Deployment Cost | Deployment Size | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| 770657 | 3987 | | | | |
|
||||
| 770741 | 3987 | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| | | | | | |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| approve | 29075 | 31481 | 29183 | 46259 | 2664 |
|
||||
| approve | 29075 | 31479 | 29183 | 46259 | 2664 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| balanceOf | 561 | 1339 | 561 | 2561 | 4956 |
|
||||
| balanceOf | 561 | 1349 | 561 | 2561 | 4958 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| mint | 33964 | 37111 | 34072 | 68248 | 2673 |
|
||||
| mint | 33964 | 37109 | 34072 | 68248 | 2673 |
|
||||
╰---------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
|
||||
164
.gas-snapshot
164
.gas-snapshot
@@ -1,21 +1,21 @@
|
||||
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93510)
|
||||
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 357956)
|
||||
EmergencyExitTest:test_EmergencyExitBasic() (gas: 450623)
|
||||
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 776726)
|
||||
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 456174)
|
||||
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 453263)
|
||||
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 441131)
|
||||
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39154)
|
||||
FuzzTests:testFuzz_AccrueMP(uint128,uint64,uint64) (runs: 1024, μ: 394287, ~: 358834)
|
||||
FuzzTests:testFuzz_AccrueMP_Relock(uint128,uint64,uint64,uint64) (runs: 1024, μ: 494753, ~: 462295)
|
||||
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1007, μ: 519035, ~: 510343)
|
||||
FuzzTests:testFuzz_Lock(uint256,uint64) (runs: 1024, μ: 777031, ~: 776145)
|
||||
FuzzTests:testFuzz_Relock(uint256,uint64,uint64) (runs: 1024, μ: 400366, ~: 374940)
|
||||
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1001, μ: 617477, ~: 618785)
|
||||
FuzzTests:testFuzz_Stake(uint256,uint64) (runs: 1024, μ: 302125, ~: 268696)
|
||||
FuzzTests:testFuzz_Unstake(uint128,uint64,uint16,uint128) (runs: 1024, μ: 500493, ~: 467093)
|
||||
FuzzTests:testFuzz_UpdateVault(uint128,uint64,uint64) (runs: 1024, μ: 394310, ~: 358857)
|
||||
IntegrationTest:testStakeFoo() (gas: 1439862)
|
||||
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93554)
|
||||
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 357702)
|
||||
EmergencyExitTest:test_EmergencyExitBasic() (gas: 450413)
|
||||
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 776284)
|
||||
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 455942)
|
||||
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 453031)
|
||||
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 440921)
|
||||
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39176)
|
||||
FuzzTests:testFuzz_AccrueMP(uint128,uint64,uint64) (runs: 1003, μ: 392259, ~: 358391)
|
||||
FuzzTests:testFuzz_AccrueMP_Relock(uint128,uint64,uint64,uint64) (runs: 1003, μ: 492243, ~: 461616)
|
||||
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1002, μ: 518848, ~: 510133)
|
||||
FuzzTests:testFuzz_Lock(uint256,uint64) (runs: 1004, μ: 776280, ~: 775635)
|
||||
FuzzTests:testFuzz_Relock(uint256,uint64,uint64) (runs: 1004, μ: 399185, ~: 374421)
|
||||
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1000, μ: 617250, ~: 618553)
|
||||
FuzzTests:testFuzz_Stake(uint256,uint64) (runs: 1004, μ: 301165, ~: 268436)
|
||||
FuzzTests:testFuzz_Unstake(uint128,uint64,uint16,uint128) (runs: 1003, μ: 499623, ~: 466490)
|
||||
FuzzTests:testFuzz_UpdateVault(uint128,uint64,uint64) (runs: 1003, μ: 392282, ~: 358414)
|
||||
IntegrationTest:testStakeFoo() (gas: 1438808)
|
||||
KarmaMintAllowanceTest:testAddKarmaDistributorOnlyOwner() (gas: 364802)
|
||||
KarmaMintAllowanceTest:testBalanceOf() (gas: 441486)
|
||||
KarmaMintAllowanceTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49545)
|
||||
@@ -56,83 +56,83 @@ KarmaTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88820)
|
||||
KarmaTest:testRemoveUnknownKarmaDistributor() (gas: 41398)
|
||||
KarmaTest:testTotalSupply() (gas: 349329)
|
||||
KarmaTest:testTransfersNotAllowed() (gas: 40241)
|
||||
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 9678086)
|
||||
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 355137)
|
||||
LeaveTest:test_TrustNewStakeManager() (gas: 9729089)
|
||||
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1025, μ: 408592, ~: 408617)
|
||||
LockTest:test_LockFailsWithNoStake() (gas: 91768)
|
||||
LockTest:test_LockFailsWithZero() (gas: 365265)
|
||||
LockTest:test_LockMultipleTimesExceedMaxLock() (gas: 664894)
|
||||
LockTest:test_LockWithPriorLock() (gas: 598618)
|
||||
LockTest:test_LockWithoutPriorLock() (gas: 474027)
|
||||
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 91768)
|
||||
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 2014856)
|
||||
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 9674371)
|
||||
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 354861)
|
||||
LeaveTest:test_TrustNewStakeManager() (gas: 9725444)
|
||||
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1004, μ: 408039, ~: 408063)
|
||||
LockTest:test_LockFailsWithNoStake() (gas: 91490)
|
||||
LockTest:test_LockFailsWithZero() (gas: 364923)
|
||||
LockTest:test_LockMultipleTimesExceedMaxLock() (gas: 663872)
|
||||
LockTest:test_LockWithPriorLock() (gas: 597786)
|
||||
LockTest:test_LockWithoutPriorLock() (gas: 473473)
|
||||
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 91490)
|
||||
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 2014602)
|
||||
MathTest:test_CalcAbsoluteMaxTotalMP() (gas: 5240)
|
||||
MathTest:test_CalcAccrueMP() (gas: 8599)
|
||||
MathTest:test_CalcBonusMP() (gas: 19200)
|
||||
MathTest:test_CalcInitialMP() (gas: 5836)
|
||||
MathTest:test_CalcMaxAccruedMP() (gas: 4886)
|
||||
MathTest:test_CalcMaxTotalMP() (gas: 19984)
|
||||
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 867796)
|
||||
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 867034)
|
||||
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 92580)
|
||||
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 60081)
|
||||
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 35891)
|
||||
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 108341)
|
||||
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 50631)
|
||||
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 36066)
|
||||
RewardsStreamerMP_RewardsTest:testRewardsBalanceOf() (gas: 1330186)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards() (gas: 224570)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 61280)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 101038)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39300)
|
||||
RewardsStreamerMP_RewardsTest:testTotalRewardsSupply() (gas: 762553)
|
||||
StakeTest:test_StakeMultipleAccounts() (gas: 602653)
|
||||
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 611147)
|
||||
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1014977)
|
||||
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 612928)
|
||||
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 635062)
|
||||
StakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1589437)
|
||||
StakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 605951)
|
||||
StakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1182972)
|
||||
StakeTest:test_StakeOneAccount() (gas: 339523)
|
||||
StakeTest:test_StakeOneAccountAndRewards() (gas: 348056)
|
||||
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 651757)
|
||||
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 536255)
|
||||
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 357498)
|
||||
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 358116)
|
||||
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 358161)
|
||||
StakeVaultMigrationTest:testMigrateToVault() (gas: 926324)
|
||||
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 651184)
|
||||
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 68065)
|
||||
RewardsStreamerMP_RewardsTest:testRewardsBalanceOf() (gas: 1330038)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards() (gas: 224636)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 61302)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 101060)
|
||||
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39322)
|
||||
RewardsStreamerMP_RewardsTest:testTotalRewardsSupply() (gas: 762981)
|
||||
StakeTest:test_StakeMultipleAccounts() (gas: 602123)
|
||||
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 610639)
|
||||
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1013731)
|
||||
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 612398)
|
||||
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 634532)
|
||||
StakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1587229)
|
||||
StakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 605167)
|
||||
StakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1181314)
|
||||
StakeTest:test_StakeOneAccount() (gas: 339269)
|
||||
StakeTest:test_StakeOneAccountAndRewards() (gas: 347824)
|
||||
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 651167)
|
||||
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 535665)
|
||||
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 357244)
|
||||
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 357862)
|
||||
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 357907)
|
||||
StakeVaultMigrationTest:testMigrateToVault() (gas: 925734)
|
||||
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 650930)
|
||||
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 68087)
|
||||
StakeVaultTest:testOwner() (gas: 15262)
|
||||
StakingTokenTest:testOwner() (gas: 15262)
|
||||
StakingTokenTest:testStakeToken() (gas: 13144)
|
||||
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2023488)
|
||||
UnstakeTest:test_StakeMultipleAccounts() (gas: 602632)
|
||||
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 611102)
|
||||
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1015021)
|
||||
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 612994)
|
||||
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 635061)
|
||||
UnstakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1589493)
|
||||
UnstakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 605973)
|
||||
UnstakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1182983)
|
||||
UnstakeTest:test_StakeOneAccount() (gas: 339523)
|
||||
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 348055)
|
||||
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 651756)
|
||||
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 536235)
|
||||
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 357520)
|
||||
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 358116)
|
||||
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 358161)
|
||||
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 607059)
|
||||
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 847228)
|
||||
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 962376)
|
||||
UnstakeTest:test_UnstakeOneAccount() (gas: 578496)
|
||||
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 578523)
|
||||
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 498634)
|
||||
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 594663)
|
||||
UpdateVaultTest:test_UpdateAccount() (gas: 2503328)
|
||||
UpgradeTest:test_RevertWhenNotOwner() (gas: 3591501)
|
||||
UpgradeTest:test_UpgradeStakeManager() (gas: 9565211)
|
||||
VaultRegistrationTest:test_VaultRegistration() (gas: 63050)
|
||||
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2023424)
|
||||
UnstakeTest:test_StakeMultipleAccounts() (gas: 602102)
|
||||
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 610594)
|
||||
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1013775)
|
||||
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 612464)
|
||||
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 634531)
|
||||
UnstakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1587285)
|
||||
UnstakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 605189)
|
||||
UnstakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1181325)
|
||||
UnstakeTest:test_StakeOneAccount() (gas: 339269)
|
||||
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 347823)
|
||||
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 651166)
|
||||
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 535645)
|
||||
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 357266)
|
||||
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 357862)
|
||||
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 357907)
|
||||
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 606447)
|
||||
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 846296)
|
||||
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 961382)
|
||||
UnstakeTest:test_UnstakeOneAccount() (gas: 577948)
|
||||
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 577911)
|
||||
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 498212)
|
||||
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 594051)
|
||||
UpdateVaultTest:test_UpdateAccount() (gas: 2501420)
|
||||
UpgradeTest:test_RevertWhenNotOwner() (gas: 3589741)
|
||||
UpgradeTest:test_UpgradeStakeManager() (gas: 9561610)
|
||||
VaultRegistrationTest:test_VaultRegistration() (gas: 63138)
|
||||
WithdrawTest:testOwner() (gas: 15296)
|
||||
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 370784)
|
||||
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 370530)
|
||||
@@ -59,7 +59,7 @@ contract RewardsStreamerMP is
|
||||
/// @notice Time of the last multiplier points update.
|
||||
uint256 public lastMPUpdatedTime;
|
||||
/// @notice Index of the current reward period.
|
||||
uint256 public rewardIndex;
|
||||
uint256 public lastRewardIndex;
|
||||
/// @notice The address that can set rewards
|
||||
address public rewardsSupplier;
|
||||
/// @notice Amount of rewards available for distribution.
|
||||
@@ -205,7 +205,7 @@ contract RewardsStreamerMP is
|
||||
vault.maxMP += _deltaMPMax;
|
||||
totalMaxMP += _deltaMPMax;
|
||||
|
||||
vault.rewardIndex = rewardIndex;
|
||||
vault.rewardIndex = lastRewardIndex;
|
||||
|
||||
emit Staked(msg.sender, amount, lockPeriod);
|
||||
}
|
||||
@@ -240,7 +240,7 @@ contract RewardsStreamerMP is
|
||||
totalMPStaked += deltaMp;
|
||||
totalMaxMP += deltaMp;
|
||||
|
||||
vault.rewardIndex = rewardIndex;
|
||||
vault.rewardIndex = lastRewardIndex;
|
||||
|
||||
emit Locked(msg.sender, lockPeriod, newLockEnd);
|
||||
}
|
||||
@@ -398,11 +398,11 @@ contract RewardsStreamerMP is
|
||||
|
||||
function _updateGlobalState() internal {
|
||||
_updateGlobalMP();
|
||||
updateRewardIndex();
|
||||
_updateRewardIndex();
|
||||
}
|
||||
|
||||
function _updateGlobalMP() internal {
|
||||
uint256 newTotalMPAccrued = _liveTotalMP();
|
||||
uint256 newTotalMPAccrued = _totalMP();
|
||||
if (newTotalMPAccrued > totalMPAccrued) {
|
||||
totalMPAccrued = newTotalMPAccrued;
|
||||
lastMPUpdatedTime = block.timestamp;
|
||||
@@ -411,7 +411,7 @@ contract RewardsStreamerMP is
|
||||
|
||||
function _updateVault(address vaultAddress, bool forceMPUpdate) internal {
|
||||
VaultData storage vault = vaultData[vaultAddress];
|
||||
uint256 accruedMP = _getVaultPendingMP(vault);
|
||||
uint256 accruedMP = _vaultPendingMP(vault);
|
||||
if (accruedMP > 0 || forceMPUpdate) {
|
||||
vault.mpAccrued += accruedMP;
|
||||
vault.lastMPUpdateTime = block.timestamp;
|
||||
@@ -419,24 +419,23 @@ contract RewardsStreamerMP is
|
||||
|
||||
uint256 rewardsAccrued = _vaultPendingRewards(vault);
|
||||
vault.rewardsAccrued += rewardsAccrued;
|
||||
vault.rewardIndex = rewardIndex;
|
||||
vault.rewardIndex = lastRewardIndex;
|
||||
|
||||
uint256 mpToStake = vault.mpAccrued - vault.mpStaked;
|
||||
vault.mpStaked += mpToStake;
|
||||
totalMPStaked += mpToStake;
|
||||
vault.rewardIndex = rewardIndex;
|
||||
emit Compound(vaultAddress, mpToStake);
|
||||
}
|
||||
|
||||
function updateRewardIndex() internal {
|
||||
function _updateRewardIndex() internal {
|
||||
uint256 accruedRewards;
|
||||
uint256 newRewardIndex;
|
||||
|
||||
(accruedRewards, newRewardIndex) = _liveRewardIndex();
|
||||
(accruedRewards, newRewardIndex) = _rewardIndex();
|
||||
totalRewardsAccrued += accruedRewards;
|
||||
|
||||
if (newRewardIndex > rewardIndex) {
|
||||
rewardIndex = newRewardIndex;
|
||||
if (newRewardIndex > lastRewardIndex) {
|
||||
lastRewardIndex = newRewardIndex;
|
||||
lastRewardTime = block.timestamp < rewardEndTime ? block.timestamp : rewardEndTime;
|
||||
}
|
||||
}
|
||||
@@ -450,7 +449,7 @@ contract RewardsStreamerMP is
|
||||
);
|
||||
vault.stakedBalance -= amount;
|
||||
vault.maxMP -= _deltaMpMax;
|
||||
vault.rewardIndex = rewardIndex;
|
||||
vault.rewardIndex = lastRewardIndex;
|
||||
vault.mpAccrued -= _deltaMpTotal;
|
||||
|
||||
// A vault's "staked" MP will be reduced if the accrued MP is less than the staked MP.
|
||||
@@ -478,7 +477,7 @@ contract RewardsStreamerMP is
|
||||
return vault.stakedBalance + vault.mpStaked;
|
||||
}
|
||||
|
||||
function _liveTotalMP() internal view returns (uint256) {
|
||||
function _totalMP() internal view returns (uint256) {
|
||||
if (totalMaxMP == 0) {
|
||||
return totalMPAccrued;
|
||||
}
|
||||
@@ -499,11 +498,11 @@ contract RewardsStreamerMP is
|
||||
return newTotalMPAccrued;
|
||||
}
|
||||
|
||||
function _liveRewardIndex() internal view returns (uint256, uint256) {
|
||||
function _rewardIndex() internal view returns (uint256, uint256) {
|
||||
uint256 shares = _totalShares();
|
||||
|
||||
if (shares == 0) {
|
||||
return (0, rewardIndex);
|
||||
return (0, lastRewardIndex);
|
||||
}
|
||||
|
||||
uint256 currentTime = block.timestamp;
|
||||
@@ -511,15 +510,15 @@ contract RewardsStreamerMP is
|
||||
uint256 elapsedTime = applicableTime - lastRewardTime;
|
||||
|
||||
if (elapsedTime == 0) {
|
||||
return (0, rewardIndex);
|
||||
return (0, lastRewardIndex);
|
||||
}
|
||||
|
||||
uint256 accruedRewards = _calculatePendingRewards();
|
||||
if (accruedRewards == 0) {
|
||||
return (0, rewardIndex);
|
||||
return (0, lastRewardIndex);
|
||||
}
|
||||
|
||||
uint256 newRewardIndex = rewardIndex + Math.mulDiv(accruedRewards, SCALE_FACTOR, shares);
|
||||
uint256 newRewardIndex = lastRewardIndex + Math.mulDiv(accruedRewards, SCALE_FACTOR, shares);
|
||||
|
||||
return (accruedRewards, newRewardIndex);
|
||||
}
|
||||
@@ -549,7 +548,7 @@ contract RewardsStreamerMP is
|
||||
return accruedRewards;
|
||||
}
|
||||
|
||||
function _getVaultPendingMP(VaultData storage vault) internal view returns (uint256) {
|
||||
function _vaultPendingMP(VaultData storage vault) internal view returns (uint256) {
|
||||
if (block.timestamp == vault.lastMPUpdateTime) {
|
||||
return 0;
|
||||
}
|
||||
@@ -566,12 +565,12 @@ contract RewardsStreamerMP is
|
||||
|
||||
function _mpBalanceOf(address vaultAddress) internal view returns (uint256) {
|
||||
VaultData storage vault = vaultData[vaultAddress];
|
||||
return vault.mpAccrued + _getVaultPendingMP(vault);
|
||||
return vault.mpAccrued + _vaultPendingMP(vault);
|
||||
}
|
||||
|
||||
function _vaultPendingRewards(VaultData storage vault) internal view returns (uint256) {
|
||||
uint256 newRewardIndex;
|
||||
(, newRewardIndex) = _liveRewardIndex();
|
||||
(, newRewardIndex) = _rewardIndex();
|
||||
|
||||
uint256 accountShares = vault.stakedBalance + vault.mpStaked;
|
||||
uint256 deltaRewardIndex = newRewardIndex - vault.rewardIndex;
|
||||
@@ -605,7 +604,7 @@ contract RewardsStreamerMP is
|
||||
* @return The total multiplier points accrued in the system.
|
||||
*/
|
||||
function totalMP() external view returns (uint256) {
|
||||
return _liveTotalMP();
|
||||
return _totalMP();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -687,7 +686,7 @@ contract RewardsStreamerMP is
|
||||
|
||||
for (uint256 i = 0; i < accountVaults.length; i++) {
|
||||
VaultData storage vault = vaultData[accountVaults[i]];
|
||||
accountTotalMP += vault.mpAccrued + _getVaultPendingMP(vault);
|
||||
accountTotalMP += vault.mpAccrued + _vaultPendingMP(vault);
|
||||
}
|
||||
return accountTotalMP;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user