refactor(RewardsStreamerMP.t.sol): fix test that causes stack too deep

error

One of our tests uses too many local variables and causes stack too deep
errors unless optimized `--via-ir`.

We've introduced `--via-ir` to work around that until a proper fix is
done. The downside of using that option is that compilation times get
significantly longer.

This commit restructures the test such that it doesn't use as many local
variables.
This commit is contained in:
r4bbit
2025-02-25 13:11:41 +01:00
parent 3bd9c46fb3
commit 7575e965a2
4 changed files with 285 additions and 277 deletions

View File

@@ -4,13 +4,13 @@
+=======================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| 6955264 | 33115 | | | | |
| 7671342 | 36553 | | | | |
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| run | 6073661 | 6073661 | 6073661 | 6073661 | 76 |
| run | 6731876 | 6731876 | 6731876 | 6731876 | 76 |
╰-----------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭---------------------------------------------------------+-----------------+-----+--------+-----+---------╮
@@ -18,13 +18,13 @@
+==========================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
| 0 | 7607 | | | | |
| 0 | 7333 | | | | |
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
| | | | | | |
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------------------+-----------------+-----+--------+-----+---------|
| activeNetworkConfig | 419 | 419 | 419 | 419 | 152 |
| activeNetworkConfig | 454 | 454 | 454 | 454 | 152 |
╰---------------------------------------------------------+-----------------+-----+--------+-----+---------╯
╭-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╮
@@ -32,13 +32,13 @@
+=========================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| 3121871 | 15242 | | | | |
| 3576653 | 17475 | | | | |
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| run | 2609105 | 2609105 | 2609105 | 2609105 | 3 |
| run | 3064437 | 3064437 | 3064437 | 3064437 | 3 |
╰-------------------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭------------------------------+-----------------+-------+--------+-------+---------╮
@@ -46,39 +46,39 @@
+===================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------+-----------------+-------+--------+-------+---------|
| 957795 | 4699 | | | | |
| 1040918 | 4850 | | | | |
|------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------+-----------------+-------+--------+-------+---------|
| acceptOwnership | 28335 | 28335 | 28335 | 28335 | 1 |
| acceptOwnership | 28260 | 28260 | 28260 | 28260 | 1 |
|------------------------------+-----------------+-------+--------+-------+---------|
| addRewardProvider | 23807 | 57744 | 51218 | 68318 | 44 |
| addRewardProvider | 23967 | 57628 | 51089 | 68189 | 44 |
|------------------------------+-----------------+-------+--------+-------+---------|
| allowance | 697 | 697 | 697 | 697 | 2 |
| allowance | 530 | 530 | 530 | 530 | 2 |
|------------------------------+-----------------+-------+--------+-------+---------|
| approve | 240 | 240 | 240 | 240 | 2 |
| approve | 410 | 410 | 410 | 410 | 2 |
|------------------------------+-----------------+-------+--------+-------+---------|
| balanceOf | 3292 | 10958 | 9292 | 20292 | 6 |
| balanceOf | 3691 | 11357 | 9691 | 20691 | 6 |
|------------------------------+-----------------+-------+--------+-------+---------|
| getRewardProviders | 1091 | 3374 | 3374 | 5657 | 4 |
| getRewardProviders | 1051 | 3304 | 3304 | 5557 | 4 |
|------------------------------+-----------------+-------+--------+-------+---------|
| mint | 24184 | 75565 | 90655 | 90667 | 14 |
| mint | 24199 | 75906 | 91068 | 91080 | 14 |
|------------------------------+-----------------+-------+--------+-------+---------|
| mintAllowance | 5568 | 5578 | 5578 | 5589 | 2 |
| mintAllowance | 5714 | 5751 | 5751 | 5788 | 2 |
|------------------------------+-----------------+-------+--------+-------+---------|
| owner | 570 | 1236 | 570 | 2570 | 3 |
| owner | 340 | 1006 | 340 | 2340 | 3 |
|------------------------------+-----------------+-------+--------+-------+---------|
| removeRewardProvider | 23690 | 28149 | 25831 | 34928 | 6 |
| removeRewardProvider | 23685 | 28092 | 25800 | 34792 | 6 |
|------------------------------+-----------------+-------+--------+-------+---------|
| totalSupply | 2897 | 4897 | 2897 | 10897 | 8 |
| totalSupply | 3018 | 5018 | 3018 | 11018 | 8 |
|------------------------------+-----------------+-------+--------+-------+---------|
| transfer | 614 | 614 | 614 | 614 | 2 |
| transfer | 408 | 408 | 408 | 408 | 2 |
|------------------------------+-----------------+-------+--------+-------+---------|
| transferFrom | 357 | 357 | 357 | 357 | 2 |
| transferFrom | 517 | 517 | 517 | 517 | 2 |
|------------------------------+-----------------+-------+--------+-------+---------|
| transferOwnership | 47977 | 47977 | 47977 | 47977 | 1 |
| transferOwnership | 47730 | 47730 | 47730 | 47730 | 1 |
╰------------------------------+-----------------+-------+--------+-------+---------╯
╭-------------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -86,31 +86,31 @@
+======================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| 673138 | 2982 | | | | |
| 721453 | 3317 | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| approve | 228 | 228 | 228 | 228 | 1 |
| approve | 391 | 391 | 391 | 391 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| getApproved | 148 | 148 | 148 | 148 | 1 |
| getApproved | 293 | 293 | 293 | 293 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| isApprovedForAll | 609 | 609 | 609 | 609 | 1 |
| isApprovedForAll | 507 | 507 | 507 | 507 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| metadataGenerator | 350 | 350 | 350 | 350 | 1 |
| metadataGenerator | 324 | 324 | 324 | 324 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| safeTransferFrom(address,address,uint256) | 337 | 337 | 337 | 337 | 1 |
| safeTransferFrom(address,address,uint256) | 482 | 482 | 482 | 482 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| safeTransferFrom(address,address,uint256,bytes) | 655 | 655 | 655 | 655 | 1 |
| safeTransferFrom(address,address,uint256,bytes) | 651 | 651 | 651 | 651 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| setApprovalForAll | 479 | 479 | 479 | 479 | 1 |
| setApprovalForAll | 473 | 473 | 473 | 473 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| setMetadataGenerator | 24009 | 26514 | 26514 | 29019 | 2 |
| setMetadataGenerator | 23993 | 26486 | 26486 | 28980 | 2 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| tokenURI | 60816 | 60816 | 60816 | 60816 | 1 |
| tokenURI | 70867 | 70867 | 70867 | 70867 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| transferFrom | 293 | 293 | 293 | 293 | 1 |
| transferFrom | 527 | 527 | 527 | 527 | 1 |
╰-------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭------------------------------------------------------+-----------------+--------+--------+--------+---------╮
@@ -118,91 +118,91 @@
+=============================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| 2767624 | 12754 | | | | |
| 3256708 | 15036 | | | | |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| MAX_LOCKUP_PERIOD | 1486 | 1486 | 1486 | 1486 | 4 |
| MAX_LOCKUP_PERIOD | 382 | 382 | 382 | 382 | 4 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| MAX_MULTIPLIER | 642 | 642 | 642 | 642 | 10 |
| MAX_MULTIPLIER | 328 | 328 | 328 | 328 | 14 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| MIN_LOCKUP_PERIOD | 202 | 202 | 202 | 202 | 15 |
| MIN_LOCKUP_PERIOD | 308 | 308 | 308 | 308 | 15 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| compound | 37136 | 75198 | 75198 | 113261 | 2 |
| compound | 38046 | 76988 | 76988 | 115931 | 2 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| emergencyModeEnabled | 3530 | 3530 | 3530 | 3530 | 263 |
| emergencyModeEnabled | 2420 | 2420 | 2420 | 2420 | 263 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| enableEmergencyMode | 3413 | 26136 | 26302 | 26302 | 264 |
| enableEmergencyMode | 2529 | 25322 | 25488 | 25488 | 264 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountTotalMaxMP | 4096 | 4096 | 4096 | 4096 | 1 |
| getAccountTotalMaxMP | 3155 | 3155 | 3155 | 3155 | 1 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountTotalStakedBalance | 15333 | 15333 | 15333 | 15333 | 1 |
| getAccountTotalStakedBalance | 15130 | 15130 | 15130 | 15130 | 1 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountVaults | 5773 | 5773 | 5773 | 5773 | 4 |
| getAccountVaults | 5269 | 5269 | 5269 | 5269 | 4 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| getStakedBalance | 2675 | 2675 | 2675 | 2675 | 1 |
| getStakedBalance | 2618 | 2618 | 2618 | 2618 | 1 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| getVault | 1792 | 1792 | 1792 | 1792 | 1100 |
| getVault | 1958 | 1958 | 1958 | 1958 | 1100 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| initialize | 115245 | 115245 | 115245 | 115245 | 76 |
| initialize | 115611 | 115611 | 115611 | 115611 | 76 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| lastRewardTime | 1122 | 2122 | 2122 | 3122 | 2 |
| lastRewardTime | 362 | 1362 | 1362 | 2362 | 2 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 94547 | 94547 | 94547 | 94547 | 1 |
| leave | 95475 | 95475 | 95475 | 95475 | 1 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| lock | 15241 | 52239 | 52136 | 92820 | 260 |
| lock | 14216 | 52152 | 52082 | 93689 | 260 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| migrateToVault | 14701 | 73085 | 16880 | 187676 | 3 |
| migrateToVault | 13541 | 72222 | 15747 | 187379 | 3 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| mpBalanceOf | 1047 | 2185 | 1985 | 7200 | 12 |
| mpBalanceOf | 978 | 2424 | 2380 | 7124 | 12 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| mpBalanceOfAccount | 11097 | 11097 | 11097 | 11097 | 1 |
| mpBalanceOfAccount | 10308 | 10308 | 10308 | 10308 | 1 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| mpStakedOf | 725 | 878 | 725 | 2725 | 13 |
| mpStakedOf | 668 | 821 | 668 | 2668 | 13 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| proxiableUUID | 615 | 615 | 615 | 615 | 3 |
| proxiableUUID | 342 | 342 | 342 | 342 | 3 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| registerVault | 2520 | 74781 | 75302 | 75302 | 304 |
| registerVault | 2562 | 74463 | 74983 | 74983 | 304 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardEndTime | 503 | 1503 | 1503 | 2503 | 2 |
| rewardEndTime | 362 | 1362 | 1362 | 2362 | 2 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardStartTime | 393 | 1393 | 1393 | 2393 | 2 |
| rewardStartTime | 429 | 1429 | 1429 | 2429 | 2 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardsBalanceOf | 2039 | 2939 | 3170 | 6039 | 12 |
| rewardsBalanceOf | 2324 | 3578 | 4130 | 6324 | 12 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| setReward | 3285 | 56852 | 62610 | 107330 | 8 |
| setReward | 2628 | 56527 | 62853 | 107033 | 8 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| setTrustedCodehash | 24115 | 24115 | 24115 | 24115 | 76 |
| setTrustedCodehash | 24221 | 24221 | 24221 | 24221 | 76 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| stake | 3116 | 233324 | 228544 | 248873 | 1351 |
| stake | 2681 | 234807 | 230009 | 251100 | 1351 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMP | 1040 | 1282 | 1282 | 1524 | 6 |
| totalMP | 777 | 1223 | 1223 | 1669 | 6 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMPAccrued | 767 | 767 | 767 | 767 | 1108 |
| totalMPAccrued | 362 | 362 | 362 | 362 | 1108 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMPStaked | 723 | 723 | 723 | 723 | 1111 |
| totalMPStaked | 406 | 406 | 406 | 406 | 1111 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMaxMP | 789 | 789 | 789 | 789 | 1108 |
| totalMaxMP | 384 | 384 | 384 | 384 | 1108 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalRewardsAccrued | 1031 | 1031 | 1031 | 1031 | 3 |
| totalRewardsAccrued | 362 | 362 | 362 | 362 | 3 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalRewardsSupply | 1791 | 2384 | 2207 | 7624 | 34 |
| totalRewardsSupply | 971 | 1850 | 1752 | 6711 | 34 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalShares | 711 | 711 | 711 | 711 | 6 |
| totalShares | 637 | 637 | 637 | 637 | 6 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| totalStaked | 965 | 965 | 965 | 965 | 1115 |
| totalStaked | 385 | 385 | 385 | 385 | 1115 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| unstake | 54386 | 78554 | 78413 | 85333 | 269 |
| unstake | 56017 | 81092 | 80911 | 88301 | 269 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| updateGlobalState | 16846 | 28150 | 29662 | 29733 | 276 |
| updateGlobalState | 15798 | 27759 | 29189 | 29492 | 276 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| updateVaultMP | 25115 | 34126 | 36039 | 36110 | 276 |
| updateVaultMP | 25103 | 34643 | 36516 | 36819 | 276 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| upgradeToAndCall | 3307 | 8018 | 8629 | 10897 | 5 |
| upgradeToAndCall | 3225 | 7892 | 8437 | 10925 | 5 |
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
| vaultShares | 1754 | 1920 | 1754 | 3754 | 12 |
| vaultShares | 889 | 1055 | 889 | 2889 | 12 |
╰------------------------------------------------------+-----------------+--------+--------+--------+---------╯
╭----------------------------------------+-----------------+--------+--------+--------+---------╮
@@ -210,37 +210,37 @@
+===============================================================================================+
| Deployment Cost | Deployment Size | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| 1465368 | 6898 | | | | |
| 1687950 | 7943 | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| STAKING_TOKEN | 171 | 171 | 171 | 171 | 1 |
| STAKING_TOKEN | 239 | 239 | 239 | 239 | 1 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| emergencyExit | 16145 | 32518 | 32516 | 49616 | 263 |
| emergencyExit | 14996 | 31536 | 31534 | 48634 | 263 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| initialize | 97512 | 97512 | 97512 | 97512 | 304 |
| initialize | 98005 | 98005 | 98005 | 98005 | 304 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 12252 | 152622 | 69405 | 459428 | 4 |
| leave | 12167 | 126461 | 69872 | 353935 | 4 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| lock | 12167 | 67480 | 67589 | 108367 | 261 |
| lock | 12097 | 67388 | 67531 | 109137 | 261 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| migrateToVault | 30198 | 99793 | 32377 | 236806 | 3 |
| migrateToVault | 29012 | 98921 | 31218 | 236533 | 3 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| owner | 546 | 565 | 546 | 2546 | 309 |
| owner | 377 | 396 | 377 | 2377 | 309 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| register | 12453 | 78318 | 78818 | 78818 | 304 |
| register | 12654 | 78073 | 78572 | 78572 | 304 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| stake | 12013 | 288556 | 284011 | 304340 | 1352 |
| stake | 12077 | 290552 | 285990 | 307081 | 1352 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| stakeManager | 458 | 458 | 458 | 458 | 303 |
| stakeManager | 367 | 367 | 367 | 367 | 303 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| trustStakeManager | 7519 | 7519 | 7519 | 7519 | 1 |
| trustStakeManager | 7577 | 7577 | 7577 | 7577 | 1 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| unstake | 11837 | 108778 | 109206 | 116126 | 270 |
| unstake | 12054 | 111624 | 112021 | 119411 | 270 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| withdraw | 20931 | 20931 | 20931 | 20931 | 1 |
| withdraw | 20705 | 20705 | 20705 | 20705 | 1 |
╰----------------------------------------+-----------------+--------+--------+--------+---------╯
╭----------------------------------------------------+-----------------+------+--------+--------+---------╮
@@ -248,15 +248,15 @@
+=========================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|----------------------------------------------------+-----------------+------+--------+--------+---------|
| 0 | 948 | | | | |
| 0 | 1231 | | | | |
|----------------------------------------------------+-----------------+------+--------+--------+---------|
| | | | | | |
|----------------------------------------------------+-----------------+------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|----------------------------------------------------+-----------------+------+--------+--------+---------|
| fallback | 547 | 8330 | 1310 | 139538 | 6774 |
| fallback | 735 | 8080 | 833 | 142290 | 6778 |
|----------------------------------------------------+-----------------+------+--------+--------+---------|
| implementation | 241 | 2240 | 2241 | 2241 | 2195 |
| implementation | 343 | 2342 | 2343 | 2343 | 2195 |
╰----------------------------------------------------+-----------------+------+--------+--------+---------╯
╭--------------------------------------------+-----------------+--------+--------+--------+---------╮
@@ -264,13 +264,13 @@
+===================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| 0 | 1972 | | | | |
| 0 | 1991 | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| createVault | 231027 | 247844 | 248127 | 248127 | 303 |
| createVault | 231307 | 248124 | 248407 | 248407 | 303 |
╰--------------------------------------------+-----------------+--------+--------+--------+---------╯
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -278,19 +278,19 @@
+===============================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 1146843 | 5972 | | | | |
| 1143864 | 5699 | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 44856 | 44856 | 44856 | 44856 | 1 |
| generate | 51268 | 51268 | 51268 | 51268 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| imagePrefix | 851 | 1851 | 1851 | 2851 | 2 |
| imagePrefix | 1074 | 2074 | 2074 | 3074 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| imageSuffix | 895 | 1895 | 1895 | 2895 | 2 |
| imageSuffix | 1118 | 2118 | 2118 | 3118 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setImageStrings | 25271 | 30572 | 30572 | 35873 | 2 |
| setImageStrings | 25248 | 30606 | 30606 | 35965 | 2 |
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -298,19 +298,19 @@
+===============================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 1115405 | 5698 | | | | |
| 1117318 | 5536 | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 50871 | 50871 | 50871 | 50871 | 1 |
| generate | 60720 | 60720 | 60720 | 60720 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setURLStrings | 25439 | 30740 | 30740 | 36041 | 2 |
| setURLStrings | 25416 | 30774 | 30774 | 36133 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| urlPrefix | 763 | 763 | 763 | 763 | 1 |
| urlPrefix | 1075 | 1075 | 1075 | 1075 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| urlSuffix | 829 | 829 | 829 | 829 | 1 |
| urlSuffix | 1141 | 1141 | 1141 | 1141 | 1 |
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭-------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -318,19 +318,19 @@
+==================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 182244 | 625 | | | | |
| 177717 | 606 | | | | |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| rewardsBalanceOfAccount | 422 | 1755 | 2422 | 2422 | 12 |
| rewardsBalanceOfAccount | 546 | 1879 | 2546 | 2546 | 12 |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setTotalKarmaShares | 43510 | 43510 | 43510 | 43510 | 20 |
| setTotalKarmaShares | 43587 | 43587 | 43587 | 43587 | 20 |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setUserKarmaShare | 44075 | 44075 | 44075 | 44075 | 4 |
| setUserKarmaShare | 44124 | 44124 | 44124 | 44124 | 4 |
|-------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| totalRewardsSupply | 363 | 1029 | 363 | 2363 | 72 |
| totalRewardsSupply | 323 | 989 | 323 | 2323 | 72 |
╰-------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -338,13 +338,13 @@
+==========================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 813059 | 3977 | | | | |
| 893277 | 4444 | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 47214 | 47214 | 47214 | 47214 | 1 |
| generate | 57329 | 57329 | 57329 | 57329 | 1 |
╰---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭---------------------------------------------+-----------------+-------+--------+-------+---------╮
@@ -352,17 +352,17 @@
+==================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| 569126 | 3218 | | | | |
| 625454 | 3260 | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| approve | 28773 | 32817 | 29001 | 45957 | 1326 |
| approve | 29158 | 33204 | 29386 | 46342 | 1326 |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| balanceOf | 513 | 1073 | 513 | 2513 | 1900 |
| balanceOf | 558 | 1118 | 558 | 2558 | 1900 |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| mint | 33813 | 39151 | 34041 | 68097 | 1338 |
| mint | 34095 | 39434 | 34329 | 68379 | 1338 |
╰---------------------------------------------+-----------------+-------+--------+-------+---------╯
╭-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╮
@@ -370,15 +370,15 @@
+====================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| 887790 | 3932 | | | | |
| 1041456 | 4652 | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 321 | 213894 | 213894 | 427541 | 323 |
| leave | 844 | 161316 | 161316 | 321838 | 333 |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| proxiableUUID | 383 | 383 | 383 | 383 | 1 |
| proxiableUUID | 330 | 330 | 330 | 330 | 1 |
╰-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯

View File

@@ -1,114 +1,114 @@
CompoundTest:test_RevertWhenInsufficientMPBalance() (gas: 379727)
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 95396)
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 355259)
EmergencyExitTest:test_EmergencyExitBasic() (gas: 448144)
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 770129)
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 453110)
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 450358)
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 439675)
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 40626)
FuzzTests:testFuzz_AccrueMP(uint256,uint256,uint16) (runs: 1002, μ: 521564, ~: 515955)
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1002, μ: 513790, ~: 504677)
FuzzTests:testFuzz_Stake(uint256,uint256) (runs: 1002, μ: 404805, ~: 395692)
FuzzTests:testFuzz_Unstake(uint256,uint256,uint16,uint256) (runs: 1001, μ: 527488, ~: 527212)
IntegrationTest:testStakeFoo() (gas: 1416716)
KarmaMintAllowanceTest:testAddKarmaProviderOnlyOwner() (gas: 316675)
KarmaMintAllowanceTest:testBalanceOf() (gas: 294197)
KarmaMintAllowanceTest:testBalanceOfWithNoSystemTotalKarma() (gas: 43077)
KarmaMintAllowanceTest:testMintAllowance_Available() (gas: 205127)
KarmaMintAllowanceTest:testMintAllowance_NotAvailable() (gas: 205187)
KarmaMintAllowanceTest:testMintOnlyOwner() (gas: 241762)
KarmaMintAllowanceTest:testMint_Ok() (gas: 263754)
KarmaMintAllowanceTest:testMint_RevertWithAllowanceExceeded() (gas: 246839)
KarmaMintAllowanceTest:testRemoveKarmaProviderIndexOutOfBounds() (gas: 36489)
KarmaMintAllowanceTest:testRemoveKarmaProviderOnlyOwner() (gas: 72980)
KarmaMintAllowanceTest:testTotalSupply() (gas: 202527)
KarmaMintAllowanceTest:testTransfersNotAllowed() (gas: 17736)
KarmaNFTTest:testApproveNotAllowed() (gas: 10917)
KarmaNFTTest:testGetApproved() (gas: 10635)
KarmaNFTTest:testIsApprovedForAll() (gas: 10797)
KarmaNFTTest:testSafeTransferNotAllowed() (gas: 11042)
KarmaNFTTest:testSafeTransferWithDataNotAllowed() (gas: 11112)
KarmaNFTTest:testSetApprovalForAllNotAllowed() (gas: 8654)
KarmaNFTTest:testSetMetadataGenerator() (gas: 886751)
KarmaNFTTest:testSetMetadataGeneratorRevert() (gas: 883297)
KarmaNFTTest:testTokenURI() (gas: 93186)
KarmaNFTTest:testTransferNotAllowed() (gas: 10679)
KarmaOwnershipTest:testInitialOwner() (gas: 13010)
KarmaOwnershipTest:testOwnershipTransfer() (gas: 88372)
KarmaTest:testAddKarmaProviderOnlyOwner() (gas: 316641)
KarmaTest:testBalanceOf() (gas: 294179)
KarmaTest:testBalanceOfWithNoSystemTotalKarma() (gas: 43055)
KarmaTest:testMintOnlyOwner() (gas: 241738)
KarmaTest:testRemoveKarmaProviderIndexOutOfBounds() (gas: 36483)
KarmaTest:testRemoveKarmaProviderOnlyOwner() (gas: 72968)
KarmaTest:testTotalSupply() (gas: 202421)
KarmaTest:testTransfersNotAllowed() (gas: 17714)
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 6215464)
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 350929)
LeaveTest:test_TrustNewStakeManager() (gas: 6266606)
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1002, μ: 407524, ~: 407489)
LockTest:test_LockFailsWithNoStake() (gas: 115941)
LockTest:test_LockFailsWithZero() (gas: 369509)
LockTest:test_LockWithoutPriorLock() (gas: 464698)
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 115633)
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 1770710)
MathTest:test_CalcAbsoluteMaxTotalMP() (gas: 4602)
MathTest:test_CalcAccrueMP() (gas: 7620)
MathTest:test_CalcBonusMP() (gas: 17488)
MathTest:test_CalcInitialMP() (gas: 5941)
MathTest:test_CalcMaxAccruedMP() (gas: 4580)
MathTest:test_CalcMaxTotalMP() (gas: 17901)
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 855943)
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 78556)
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 57996)
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 36175)
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 91549)
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 49145)
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 36219)
RewardsStreamerMP_RewardsTest:testRewardsBalanceOf() (gas: 1228876)
RewardsStreamerMP_RewardsTest:testSetRewards() (gas: 163979)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 40644)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 40659)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 40784)
RewardsStreamerMP_RewardsTest:testTotalRewardsSupply() (gas: 684990)
StakeTest:test_StakeMultipleAccounts() (gas: 593137)
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 602917)
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1024420)
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 602509)
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 624939)
StakeTest:test_StakeOneAccount() (gas: 335212)
StakeTest:test_StakeOneAccountAndRewards() (gas: 345098)
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 612138)
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 600212)
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 354742)
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 353910)
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 353315)
StakeVaultMigrationTest:testMigrateToVault() (gas: 950955)
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 648013)
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 69759)
StakingTokenTest:testStakeToken() (gas: 13283)
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 1804118)
UnstakeTest:test_StakeMultipleAccounts() (gas: 593334)
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 603158)
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1024693)
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 602698)
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 625108)
UnstakeTest:test_StakeOneAccount() (gas: 335277)
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 345301)
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 612493)
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 600557)
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 354891)
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 354102)
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 353448)
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 631633)
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 829244)
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 946912)
UnstakeTest:test_UnstakeOneAccount() (gas: 572086)
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 595995)
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 492152)
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 622113)
UpgradeTest:test_RevertWhenNotOwner() (gas: 2844286)
UpgradeTest:test_UpgradeStakeManager() (gas: 6103823)
VaultRegistrationTest:test_VaultRegistration() (gas: 64599)
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 367398)
CompoundTest:test_RevertWhenInsufficientMPBalance() (gas: 382339)
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93568)
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 355295)
EmergencyExitTest:test_EmergencyExitBasic() (gas: 446586)
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 768319)
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 452536)
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 450323)
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 437717)
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39471)
FuzzTests:testFuzz_AccrueMP(uint256,uint256,uint16) (runs: 1005, μ: 523177, ~: 517443)
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1005, μ: 512901, ~: 504109)
FuzzTests:testFuzz_Stake(uint256,uint256) (runs: 1005, μ: 406310, ~: 397518)
FuzzTests:testFuzz_Unstake(uint256,uint256,uint16,uint256) (runs: 1001, μ: 532335, ~: 532018)
IntegrationTest:testStakeFoo() (gas: 1409613)
KarmaMintAllowanceTest:testAddKarmaProviderOnlyOwner() (gas: 311366)
KarmaMintAllowanceTest:testBalanceOf() (gas: 294561)
KarmaMintAllowanceTest:testBalanceOfWithNoSystemTotalKarma() (gas: 43586)
KarmaMintAllowanceTest:testMintAllowance_Available() (gas: 205175)
KarmaMintAllowanceTest:testMintAllowance_NotAvailable() (gas: 205111)
KarmaMintAllowanceTest:testMintOnlyOwner() (gas: 241951)
KarmaMintAllowanceTest:testMint_Ok() (gas: 264252)
KarmaMintAllowanceTest:testMint_RevertWithAllowanceExceeded() (gas: 246592)
KarmaMintAllowanceTest:testRemoveKarmaProviderIndexOutOfBounds() (gas: 36264)
KarmaMintAllowanceTest:testRemoveKarmaProviderOnlyOwner() (gas: 72164)
KarmaMintAllowanceTest:testTotalSupply() (gas: 202426)
KarmaMintAllowanceTest:testTransfersNotAllowed() (gas: 20698)
KarmaNFTTest:testApproveNotAllowed() (gas: 10500)
KarmaNFTTest:testGetApproved() (gas: 10523)
KarmaNFTTest:testIsApprovedForAll() (gas: 10698)
KarmaNFTTest:testSafeTransferNotAllowed() (gas: 10680)
KarmaNFTTest:testSafeTransferWithDataNotAllowed() (gas: 10875)
KarmaNFTTest:testSetApprovalForAllNotAllowed() (gas: 8467)
KarmaNFTTest:testSetMetadataGenerator() (gas: 966687)
KarmaNFTTest:testSetMetadataGeneratorRevert() (gas: 963218)
KarmaNFTTest:testTokenURI() (gas: 102963)
KarmaNFTTest:testTransferNotAllowed() (gas: 10715)
KarmaOwnershipTest:testInitialOwner() (gas: 12612)
KarmaOwnershipTest:testOwnershipTransfer() (gas: 87164)
KarmaTest:testAddKarmaProviderOnlyOwner() (gas: 311376)
KarmaTest:testBalanceOf() (gas: 294499)
KarmaTest:testBalanceOfWithNoSystemTotalKarma() (gas: 43564)
KarmaTest:testMintOnlyOwner() (gas: 241882)
KarmaTest:testRemoveKarmaProviderIndexOutOfBounds() (gas: 36258)
KarmaTest:testRemoveKarmaProviderOnlyOwner() (gas: 72129)
KarmaTest:testTotalSupply() (gas: 202375)
KarmaTest:testTransfersNotAllowed() (gas: 20675)
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 7125520)
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 352421)
LeaveTest:test_TrustNewStakeManager() (gas: 7178468)
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1006, μ: 409012, ~: 409036)
LockTest:test_LockFailsWithNoStake() (gas: 114574)
LockTest:test_LockFailsWithZero() (gas: 369723)
LockTest:test_LockWithoutPriorLock() (gas: 467179)
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 114532)
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 1819172)
MathTest:test_CalcAbsoluteMaxTotalMP() (gas: 4997)
MathTest:test_CalcAccrueMP() (gas: 7991)
MathTest:test_CalcBonusMP() (gas: 18665)
MathTest:test_CalcInitialMP() (gas: 5353)
MathTest:test_CalcMaxAccruedMP() (gas: 4643)
MathTest:test_CalcMaxTotalMP() (gas: 19455)
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 858820)
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 84995)
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 58332)
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 35804)
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 101558)
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 49555)
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 35979)
RewardsStreamerMP_RewardsTest:testRewardsBalanceOf() (gas: 1238392)
RewardsStreamerMP_RewardsTest:testSetRewards() (gas: 162313)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 39413)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 39436)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39426)
RewardsStreamerMP_RewardsTest:testTotalRewardsSupply() (gas: 672862)
StakeTest:test_StakeMultipleAccounts() (gas: 595281)
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 603209)
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1028462)
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 606872)
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 628872)
StakeTest:test_StakeOneAccount() (gas: 335580)
StakeTest:test_StakeOneAccountAndRewards() (gas: 343504)
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 609239)
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 597343)
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 354137)
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 354699)
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 354788)
StakeVaultMigrationTest:testMigrateToVault() (gas: 947698)
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 648965)
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 68080)
StakingTokenTest:testStakeToken() (gas: 13140)
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2027115)
UnstakeTest:test_StakeMultipleAccounts() (gas: 595325)
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 603253)
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1028439)
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 606871)
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 628849)
UnstakeTest:test_StakeOneAccount() (gas: 335580)
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 343548)
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 609238)
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 597345)
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 354159)
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 354721)
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 354788)
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 636748)
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 833257)
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 947828)
UnstakeTest:test_UnstakeOneAccount() (gas: 572338)
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 594859)
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 490480)
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 625058)
UpgradeTest:test_RevertWhenNotOwner() (gas: 3334039)
UpgradeTest:test_UpgradeStakeManager() (gas: 7013343)
VaultRegistrationTest:test_VaultRegistration() (gas: 62308)
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 368053)

View File

@@ -9,7 +9,6 @@
fuzz = { runs = 1_000, max_test_rejects = 262144 }
gas_reports = ["*"]
libs = ["lib"]
via_ir = true
optimizer = true
optimizer_runs = 10_000
out = "out"

View File

@@ -1117,29 +1117,38 @@ contract StakeTest is RewardsStreamerMPTest {
);
}
struct TestParams {
uint256 aliceStakeAmount;
uint256 bobStakeAmount;
uint256 totalStaked;
uint256 totalMPAccrued;
uint256 totalMaxMP;
}
function test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() public {
uint256 aliceStakeAmount = 15e18;
uint256 aliceMP = aliceStakeAmount;
uint256 aliceMaxMP = aliceStakeAmount * streamer.MAX_MULTIPLIER() + aliceMP;
TestParams memory params;
params.aliceStakeAmount = 15e18;
params.bobStakeAmount = 5e18;
params.totalStaked = params.aliceStakeAmount + params.bobStakeAmount;
params.totalMPAccrued = params.totalStaked;
params.totalMaxMP = (params.aliceStakeAmount * streamer.MAX_MULTIPLIER() + params.aliceStakeAmount)
+ (params.bobStakeAmount * streamer.MAX_MULTIPLIER() + params.bobStakeAmount);
uint256 bobStakeAmount = 5e18;
uint256 bobMP = bobStakeAmount;
uint256 bobMaxMP = bobStakeAmount * streamer.MAX_MULTIPLIER() + bobMP;
uint256 aliceMP = params.aliceStakeAmount;
uint256 aliceMaxMP = params.aliceStakeAmount * streamer.MAX_MULTIPLIER() + aliceMP;
uint256 totalMPAccrued = aliceStakeAmount + bobStakeAmount;
uint256 totalStaked = aliceStakeAmount + bobStakeAmount;
uint256 totalMaxMP = aliceMaxMP + bobMaxMP;
_stake(alice, aliceStakeAmount, 0);
_stake(bob, bobStakeAmount, 0);
uint256 bobMP = params.bobStakeAmount;
uint256 bobMaxMP = params.bobStakeAmount * streamer.MAX_MULTIPLIER() + bobMP;
_stake(alice, params.aliceStakeAmount, 0);
_stake(bob, params.bobStakeAmount, 0);
checkStreamer(
CheckStreamerParams({
totalStaked: totalStaked,
totalMPStaked: totalStaked,
totalMPAccrued: totalMPAccrued,
totalMaxMP: totalMaxMP,
stakingBalance: totalStaked,
totalStaked: params.totalStaked,
totalMPStaked: params.totalStaked,
totalMPAccrued: params.totalMPAccrued,
totalMaxMP: params.totalMaxMP,
stakingBalance: params.totalStaked,
rewardBalance: 0,
rewardIndex: 0
})
@@ -1149,8 +1158,8 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[alice],
rewardBalance: 0,
stakedBalance: aliceStakeAmount,
vaultBalance: aliceStakeAmount,
stakedBalance: params.aliceStakeAmount,
vaultBalance: params.aliceStakeAmount,
rewardIndex: 0,
mpStaked: aliceMP,
mpAccrued: aliceMP,
@@ -1162,8 +1171,8 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[bob],
rewardBalance: 0,
stakedBalance: bobStakeAmount,
vaultBalance: bobStakeAmount,
stakedBalance: params.bobStakeAmount,
vaultBalance: params.bobStakeAmount,
rewardIndex: 0,
mpStaked: bobMP,
mpAccrued: bobMP,
@@ -1179,21 +1188,21 @@ contract StakeTest is RewardsStreamerMPTest {
streamer.updateVaultMP(vaults[alice]);
streamer.updateVaultMP(vaults[bob]);
uint256 aliceExpectedMPIncrease = aliceStakeAmount; // 1 year passed, 1 MP accrued per token staked
uint256 bobExpectedMPIncrease = bobStakeAmount; // 1 year passed, 1 MP accrued per token staked
uint256 aliceExpectedMPIncrease = params.aliceStakeAmount; // 1 year passed, 1 MP accrued per token staked
uint256 bobExpectedMPIncrease = params.bobStakeAmount; // 1 year passed, 1 MP accrued per token staked
uint256 totalExpectedMPIncrease = aliceExpectedMPIncrease + bobExpectedMPIncrease;
uint256 aliceMPAccrued = aliceMP + aliceExpectedMPIncrease;
uint256 bobMPAccrued = bobMP + bobExpectedMPIncrease;
totalMPAccrued = totalMPAccrued + totalExpectedMPIncrease;
params.totalMPAccrued = params.totalMPAccrued + totalExpectedMPIncrease;
checkStreamer(
CheckStreamerParams({
totalStaked: totalStaked,
totalMPStaked: totalStaked,
totalMPAccrued: totalMPAccrued,
totalMaxMP: totalMaxMP,
stakingBalance: totalStaked,
totalStaked: params.totalStaked,
totalMPStaked: params.totalStaked,
totalMPAccrued: params.totalMPAccrued,
totalMaxMP: params.totalMaxMP,
stakingBalance: params.totalStaked,
rewardBalance: 0,
rewardIndex: 0
})
@@ -1203,11 +1212,11 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[alice],
rewardBalance: 0,
stakedBalance: aliceStakeAmount,
vaultBalance: aliceStakeAmount,
stakedBalance: params.aliceStakeAmount,
vaultBalance: params.aliceStakeAmount,
rewardIndex: 0,
mpStaked: aliceMP,
mpAccrued: aliceMPAccrued,
mpAccrued: aliceMP + aliceExpectedMPIncrease,
maxMP: aliceMaxMP,
rewardsAccrued: 0
})
@@ -1216,8 +1225,8 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[bob],
rewardBalance: 0,
stakedBalance: bobStakeAmount,
vaultBalance: bobStakeAmount,
stakedBalance: params.bobStakeAmount,
vaultBalance: params.bobStakeAmount,
rewardIndex: 0,
mpStaked: bobMP,
mpAccrued: bobMPAccrued,
@@ -1233,21 +1242,21 @@ contract StakeTest is RewardsStreamerMPTest {
streamer.updateVaultMP(vaults[alice]);
streamer.updateVaultMP(vaults[bob]);
aliceExpectedMPIncrease = aliceStakeAmount / 2;
bobExpectedMPIncrease = bobStakeAmount / 2;
aliceExpectedMPIncrease = params.aliceStakeAmount / 2;
bobExpectedMPIncrease = params.bobStakeAmount / 2;
totalExpectedMPIncrease = aliceExpectedMPIncrease + bobExpectedMPIncrease;
aliceMPAccrued = aliceMPAccrued + aliceExpectedMPIncrease;
bobMPAccrued = bobMPAccrued + bobExpectedMPIncrease;
totalMPAccrued = totalMPAccrued + totalExpectedMPIncrease;
params.totalMPAccrued = params.totalMPAccrued + totalExpectedMPIncrease;
checkStreamer(
CheckStreamerParams({
totalStaked: totalStaked,
totalMPStaked: totalStaked,
totalMPAccrued: totalMPAccrued,
totalMaxMP: totalMaxMP,
stakingBalance: totalStaked,
totalStaked: params.totalStaked,
totalMPStaked: params.totalStaked,
totalMPAccrued: params.totalMPAccrued,
totalMaxMP: params.totalMaxMP,
stakingBalance: params.totalStaked,
rewardBalance: 0,
rewardIndex: 0
})
@@ -1257,8 +1266,8 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[alice],
rewardBalance: 0,
stakedBalance: aliceStakeAmount,
vaultBalance: aliceStakeAmount,
stakedBalance: params.aliceStakeAmount,
vaultBalance: params.aliceStakeAmount,
rewardIndex: 0,
mpStaked: aliceMP,
mpAccrued: aliceMPAccrued,
@@ -1270,8 +1279,8 @@ contract StakeTest is RewardsStreamerMPTest {
CheckVaultParams({
account: vaults[bob],
rewardBalance: 0,
stakedBalance: bobStakeAmount,
vaultBalance: bobStakeAmount,
stakedBalance: params.bobStakeAmount,
vaultBalance: params.bobStakeAmount,
rewardIndex: 0,
mpStaked: bobMP,
mpAccrued: bobMPAccrued,