mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-08 20:48:00 -05:00
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:
232
.gas-report
232
.gas-report
@@ -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 |
|
||||
╰-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
|
||||
|
||||
|
||||
228
.gas-snapshot
228
.gas-snapshot
@@ -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)
|
||||
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user