Skip to content

Commit

Permalink
refactor(StakeManager): optimize stake and lock functionality by remo…
Browse files Browse the repository at this point in the history
…ving mintBonusMP function
  • Loading branch information
3esmit committed Sep 26, 2024
1 parent 769f32f commit 978b4dc
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 85 deletions.
34 changes: 17 additions & 17 deletions .gas-report
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
| contracts/StakeManager.sol:StakeManager contract | | | | | |
|--------------------------------------------------|-----------------|--------|--------|--------|---------|
| Deployment Cost | Deployment Size | | | | |
| 2465702 | 13041 | | | | |
| 2477476 | 13094 | | | | |
| Function Name | min | avg | median | max | # calls |
| EPOCH_SIZE | 307 | 307 | 307 | 307 | 1498 |
| MAX_BOOST | 285 | 285 | 285 | 285 | 637 |
| MAX_LOCKUP_PERIOD | 361 | 361 | 361 | 361 | 4 |
| MIN_LOCKUP_PERIOD | 264 | 264 | 264 | 264 | 12 |
| YEAR | 263 | 263 | 263 | 263 | 637 |
| accounts | 1597 | 1597 | 1597 | 1597 | 144273 |
| accounts | 1597 | 1597 | 1597 | 1597 | 144291 |
| calculateMPToMint | 740 | 740 | 740 | 740 | 1276 |
| currentEpoch | 384 | 1050 | 384 | 2384 | 54 |
| epochEnd | 627 | 627 | 627 | 2627 | 23675 |
| epochEnd | 627 | 627 | 627 | 2627 | 23678 |
| epochReward | 1425 | 2925 | 1425 | 5925 | 3 |
| executeAccount(address) | 151152 | 151152 | 151152 | 151152 | 2 |
| executeAccount(address,uint256) | 26562 | 72616 | 74122 | 217879 | 141860 |
| executeEpoch() | 23458 | 120800 | 121956 | 938985 | 23564 |
| executeAccount(address,uint256) | 26562 | 72614 | 74122 | 217879 | 141878 |
| executeEpoch() | 23458 | 120801 | 121956 | 938985 | 23567 |
| executeEpoch(uint256) | 23861 | 24497 | 23861 | 26090 | 7 |
| isVault | 540 | 948 | 540 | 2540 | 680 |
| lock | 23862 | 23862 | 23862 | 23862 | 1 |
Expand All @@ -24,7 +24,7 @@
| migrationInitialize | 24602 | 24602 | 24602 | 24602 | 1 |
| newEpoch | 441 | 441 | 441 | 441 | 5 |
| owner | 2432 | 2432 | 2432 | 2432 | 13 |
| pendingMPToBeMinted | 364 | 364 | 364 | 364 | 46432 |
| pendingMPToBeMinted | 364 | 364 | 364 | 364 | 46438 |
| pendingReward | 386 | 1420 | 2386 | 2386 | 29 |
| previousManager | 275 | 275 | 275 | 275 | 13 |
| setVault | 46239 | 46239 | 46239 | 46239 | 139 |
Expand All @@ -35,7 +35,7 @@
| startTime | 306 | 306 | 306 | 306 | 21 |
| totalSupply | 762 | 1943 | 2762 | 2762 | 22 |
| totalSupplyBalance | 407 | 1807 | 2407 | 2407 | 20 |
| totalSupplyMP | 362 | 362 | 362 | 2362 | 46453 |
| totalSupplyMP | 362 | 362 | 362 | 2362 | 46459 |
| unstake | 23819 | 23819 | 23819 | 23819 | 1 |


Expand All @@ -44,7 +44,7 @@
| Deployment Cost | Deployment Size | | | | |
| 0 | 0 | | | | |
| Function Name | min | avg | median | max | # calls |
| getExpiredMP | 2427 | 2427 | 2427 | 2427 | 23725 |
| getExpiredMP | 2427 | 2427 | 2427 | 2427 | 23728 |
| transferOwnership | 28533 | 28533 | 28533 | 28533 | 1 |


Expand All @@ -55,9 +55,9 @@
| Function Name | min | avg | median | max | # calls |
| acceptMigration | 35280 | 35280 | 35280 | 35280 | 2 |
| leave | 35266 | 35266 | 35266 | 35266 | 1 |
| lock | 43329 | 96146 | 64421 | 204745 | 7 |
| lock | 43329 | 91428 | 61980 | 184280 | 7 |
| owner | 362 | 362 | 362 | 362 | 679 |
| stake | 27265 | 282079 | 265719 | 351866 | 684 |
| stake | 27265 | 282121 | 265676 | 351639 | 684 |
| stakedToken | 212 | 212 | 212 | 212 | 2 |
| unstake | 40167 | 95818 | 78688 | 233549 | 11 |

Expand All @@ -78,23 +78,23 @@
| 0 | 0 | | | | |
| Function Name | min | avg | median | max | # calls |
| approve | 46175 | 46239 | 46199 | 46367 | 679 |
| balanceOf | 561 | 2107 | 2561 | 2561 | 30744 |
| balanceOf | 561 | 2107 | 2561 | 2561 | 30747 |


| script/Deploy.s.sol:Deploy contract | | | | | |
|-------------------------------------|-----------------|---------|---------|---------|---------|
| Deployment Cost | Deployment Size | | | | |
| 6118940 | 29538 | | | | |
| 6130709 | 29591 | | | | |
| Function Name | min | avg | median | max | # calls |
| run | 5316305 | 5316305 | 5316305 | 5316305 | 66 |
| run | 5326935 | 5326935 | 5326935 | 5326935 | 66 |


| script/DeployMigrationStakeManager.s.sol:DeployMigrationStakeManager contract | | | | | |
|-------------------------------------------------------------------------------|-----------------|---------|---------|---------|---------|
| Deployment Cost | Deployment Size | | | | |
| 3282471 | 16306 | | | | |
| 3294246 | 16359 | | | | |
| Function Name | min | avg | median | max | # calls |
| run | 2302633 | 2302633 | 2302633 | 2302633 | 19 |
| run | 2313263 | 2313263 | 2313263 | 2313263 | 19 |


| script/DeploymentConfig.s.sol:DeploymentConfig contract | | | | | |
Expand All @@ -117,9 +117,9 @@
| test/script/DeployBroken.s.sol:DeployBroken contract | | | | | |
|------------------------------------------------------|-----------------|---------|---------|---------|---------|
| Deployment Cost | Deployment Size | | | | |
| 4803693 | 23336 | | | | |
| 4815470 | 23389 | | | | |
| Function Name | min | avg | median | max | # calls |
| run | 4156127 | 4156127 | 4156127 | 4156127 | 1 |
| run | 4166756 | 4166756 | 4166756 | 4166756 | 1 |



Expand Down
70 changes: 35 additions & 35 deletions .gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
CreateVaultTest:testDeployment() (gas: 9774)
CreateVaultTest:test_createVault() (gas: 714022)
ExecuteAccountTest:testDeployment() (gas: 28785)
ExecuteAccountTest:test_ExecuteAccountLimit() (gas: 1580255)
ExecuteAccountTest:test_ExecuteAccountMintMP() (gas: 5297777)
ExecuteAccountTest:test_RevertWhen_InvalidLimitEpoch() (gas: 1788412)
ExecuteAccountTest:test_ShouldNotMintMoreThanCap() (gas: 321397553)
ExecuteAccountTest:test_ExecuteAccountLimit() (gas: 1580212)
ExecuteAccountTest:test_ExecuteAccountMintMP() (gas: 5297648)
ExecuteAccountTest:test_RevertWhen_InvalidLimitEpoch() (gas: 1788185)
ExecuteAccountTest:test_ShouldNotMintMoreThanCap() (gas: 321397209)
ExecuteEpochTest:testDeployment() (gas: 28786)
ExecuteEpochTest:testNewDeployment() (gas: 30858)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterEpochEnd() (gas: 1366211)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsJumoMany() (gas: 1385045)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTime() (gas: 1629507)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTimeJumpMany() (gas: 1395200)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochAfterEnd() (gas: 1936210)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochs() (gas: 2523553)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsJumoMany() (gas: 1479491)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTime() (gas: 2533729)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTimeJumpMany() (gas: 1489623)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterEpochEnd() (gas: 1366168)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsJumoMany() (gas: 1385002)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTime() (gas: 1629464)
ExecuteEpochTest:test_ExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTimeJumpMany() (gas: 1395157)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochAfterEnd() (gas: 1936167)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochs() (gas: 2523510)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsJumoMany() (gas: 1479448)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTime() (gas: 2533686)
ExecuteEpochTest:test_ExecuteEpochExecuteEpochExecuteAccountAfterManyEpochsWithBrokenTimeJumpMany() (gas: 1489580)
ExecuteEpochTest:test_ExecuteEpochNewEpoch() (gas: 1122339)
ExecuteEpochTest:test_ExecuteEpochShouldIncreaseEpoch() (gas: 92413)
ExecuteEpochTest:test_ExecuteEpochShouldIncreasePendingReward() (gas: 256446)
ExecuteEpochTest:test_ExecuteEpochShouldNotIncreaseEpochBeforeEnd() (gas: 38984)
ExecuteEpochTest:test_ExecuteEpochShouldNotIncreaseEpochInMigration() (gas: 149638)
LeaveTest:testDeployment() (gas: 28763)
LeaveTest:test_RevertWhen_NoPendingMigration() (gas: 1327993)
LeaveTest:test_RevertWhen_NoPendingMigration() (gas: 1327950)
LeaveTest:test_RevertWhen_SenderIsNotVault() (gas: 31964)
LockTest:testDeployment() (gas: 28763)
LockTest:test_NewLockupPeriod() (gas: 1329045)
LockTest:test_RevertWhen_InvalidNewLockupPeriod() (gas: 1301374)
LockTest:test_RevertWhen_InvalidUpdateLockupPeriod() (gas: 1545884)
LockTest:test_NewLockupPeriod() (gas: 1326561)
LockTest:test_RevertWhen_InvalidNewLockupPeriod() (gas: 1301331)
LockTest:test_RevertWhen_InvalidUpdateLockupPeriod() (gas: 1545657)
LockTest:test_RevertWhen_SenderIsNotVault() (gas: 31856)
LockTest:test_ShouldIncreaseBonusMP() (gas: 1311575)
LockTest:test_UpdateLockupPeriod() (gas: 1634540)
LockTest:test_ShouldIncreaseBonusMP() (gas: 1309091)
LockTest:test_UpdateLockupPeriod() (gas: 1582437)
MigrateTest:testDeployment() (gas: 28763)
MigrateTest:test_RevertWhen_NoPendingMigration() (gas: 1292046)
MigrateTest:test_RevertWhen_NoPendingMigration() (gas: 1292003)
MigrateTest:test_RevertWhen_SenderIsNotVault() (gas: 31976)
MigrationInitializeTest:testDeployment() (gas: 28763)
MigrationInitializeTest:test_RevertWhen_MigrationPending() (gas: 5181388)
MigrationInitializeTest:test_RevertWhen_MigrationPending() (gas: 5204957)
MigrationStakeManagerTest:testDeployment() (gas: 28763)
MigrationStakeManagerTest:testNewDeployment() (gas: 30902)
MigrationStakeManagerTest:test_ExecuteEpochShouldNotIncreaseEpochInMigration() (gas: 149603)
Expand All @@ -44,24 +44,24 @@ SetStakeManagerTest:test_RevertWhen_InvalidStakeManagerAddress() (gas: 63105)
SetStakeManagerTest:test_SetStakeManager() (gas: 41301)
StakeManagerTest:testDeployment() (gas: 28535)
StakeTest:testDeployment() (gas: 28741)
StakeTest:test_RevertWhen_InvalidLockupPeriod() (gas: 1080635)
StakeTest:test_RevertWhen_Restake() (gas: 1316847)
StakeTest:test_RevertWhen_RestakeWithLock() (gas: 1320861)
StakeTest:test_RevertWhen_InvalidLockupPeriod() (gas: 1076343)
StakeTest:test_RevertWhen_Restake() (gas: 1316775)
StakeTest:test_RevertWhen_RestakeWithLock() (gas: 1320605)
StakeTest:test_RevertWhen_SenderIsNotVault() (gas: 32018)
StakeTest:test_RevertWhen_StakeIsTooLow() (gas: 817762)
StakeTest:test_RevertWhen_StakeIsTooLow() (gas: 815616)
StakeTest:test_RevertWhen_StakeTokenTransferFails() (gas: 211363)
StakeTest:test_StakeWithLockBonusMP() (gas: 2357564)
StakeTest:test_StakeWithoutLockUpTimeMintsMultiplierPoints() (gas: 1322003)
StakeTest:test_StakeWithLockBonusMP() (gas: 2354853)
StakeTest:test_StakeWithoutLockUpTimeMintsMultiplierPoints() (gas: 1321960)
StakedTokenTest:testStakeToken() (gas: 7616)
UnstakeTest:testDeployment() (gas: 28785)
UnstakeTest:test_RevertWhen_AmountMoreThanBalance() (gas: 1297407)
UnstakeTest:test_RevertWhen_FundsLocked() (gas: 1342144)
UnstakeTest:test_RevertWhen_AmountMoreThanBalance() (gas: 1297364)
UnstakeTest:test_RevertWhen_FundsLocked() (gas: 1341917)
UnstakeTest:test_RevertWhen_SenderIsNotVault() (gas: 31857)
UnstakeTest:test_UnstakeShouldBurnMultiplierPoints() (gas: 6526945)
UnstakeTest:test_UnstakeShouldReturnFund_NoLockUp() (gas: 1319573)
UnstakeTest:test_UnstakeShouldReturnFund_WithLockUp() (gas: 1440205)
UnstakeTest:test_UnstakeShouldBurnMultiplierPoints() (gas: 6526911)
UnstakeTest:test_UnstakeShouldReturnFund_NoLockUp() (gas: 1319530)
UnstakeTest:test_UnstakeShouldReturnFund_WithLockUp() (gas: 1439978)
UserFlowsTest:testDeployment() (gas: 28763)
UserFlowsTest:test_PendingMPToBeMintedCannotBeGreaterThanTotalSupplyMP(uint8,uint128) (runs: 106, μ: 131402731, ~: 130856521)
UserFlowsTest:test_StakeWithLockUpTimeLocksStake() (gas: 1481301)
UserFlowsTest:test_StakedSupplyShouldIncreaseAndDecreaseAgain() (gas: 2494771)
UserFlowsTest:test_PendingMPToBeMintedCannotBeGreaterThanTotalSupplyMP(uint8,uint128) (runs: 106, μ: 131417642, ~: 130856419)
UserFlowsTest:test_StakeWithLockUpTimeLocksStake() (gas: 1481074)
UserFlowsTest:test_StakedSupplyShouldIncreaseAndDecreaseAgain() (gas: 2494685)
VaultFactoryTest:testDeployment() (gas: 9774)
Loading

0 comments on commit 978b4dc

Please sign in to comment.