diff --git a/.gas-report b/.gas-report index 54d951c..7b7f451 100644 --- a/.gas-report +++ b/.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 | ╰-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯ diff --git a/.gas-snapshot b/.gas-snapshot index f6bdfd5..e2fa0ff 100644 --- a/.gas-snapshot +++ b/.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) \ No newline at end of file +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) \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 25558c0..9c8d685 100644 --- a/foundry.toml +++ b/foundry.toml @@ -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" diff --git a/test/RewardsStreamerMP.t.sol b/test/RewardsStreamerMP.t.sol index fe57c9a..1867372 100644 --- a/test/RewardsStreamerMP.t.sol +++ b/test/RewardsStreamerMP.t.sol @@ -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,