Files
staking-reward-streamer/.gas-report
r4bbit 56d98ed44e feat(Karma): add ability to slash Karma
This commit introduces the ability for accounts with the necessary
privileges to slash other accounts. The amount to be slashed is
controlled via the `slashPercentage`.

The amount to be slashed will be calculated from the account's current
Karma balance, which is the total Karma across all distributors, minus
the known `slashAmount` for that account.
Under the hood, it calculates the slash amount for each item
(distributor or internal balance). This ensure we reduce the slash
amount correctly, if a reward distributor is removed.

**Example**:

For example, if the account has 100 Karma and hasn't been slashed
before, the account's balances would look like this:

```
rawBalance: 100
slashAmount: 0
balance: 100
```

Therefore, `balanceOf(account)` will return `100`.
If slashing burns 10% of the account's balance, then, after calling
`slash(account)`, the `slashAmount` will be increased accordingly:

```
rawBalance: 100
slashAmount: 10
balance: 90
```

Notice that `rawBalance` isn't actually a new contract property, but
there's a new internal function `_rawBalanceAndSlashAmountOf(account)`, which is used
by `balanceOf(account)` to determine the effective balance of an
account.

**Authorization**

In order to slash accounts, the message sender needs to have the newly
introduced `SLASHER_ROLE`.

Closes #212
2025-06-05 14:03:00 +02:00

535 lines
54 KiB
Plaintext

╭-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------╮
| lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy Contract | | | | | |
+=================================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------|
| 0 | 1374 | | | | |
|-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------|
| | | | | | |
|-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------|
| fallback | 5145 | 65850 | 33119 | 193478 | 3440 |
╰-------------------------------------------------------------------------------------------+-----------------+-------+--------+--------+---------╯
╭-----------------------------------------------------+-----------------+---------+---------+---------+---------╮
| script/DeployKarma.s.sol:DeployKarmaScript Contract | | | | | |
+===============================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------------------------+-----------------+---------+---------+---------+---------|
| 5471828 | 26377 | | | | |
|-----------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|-----------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------------------------+-----------------+---------+---------+---------+---------|
| run | 4666141 | 4666141 | 4666141 | 4666141 | 176 |
╰-----------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭-----------------------------------------------------------+-----------------+---------+---------+---------+---------╮
| script/DeployKarmaNFT.s.sol:DeployKarmaNFTScript Contract | | | | | |
+=====================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------------------------------+-----------------+---------+---------+---------+---------|
| 4508300 | 21890 | | | | |
|-----------------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|-----------------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------------------------------+-----------------+---------+---------+---------+---------|
| runForTest | 3759238 | 3759238 | 3759238 | 3759238 | 10 |
╰-----------------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭-------------------------------------------------------------------+-----------------+---------+---------+---------+---------╮
| script/DeployStakeManager.s.sol:DeployStakeManagerScript Contract | | | | | |
+=============================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| 8493016 | 40508 | | | | |
|-------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|-------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| run | 7425695 | 7425695 | 7425695 | 7425695 | 95 |
╰-------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭---------------------------------------------------------+-----------------+------+--------+------+---------╮
| script/DeploymentConfig.s.sol:DeploymentConfig Contract | | | | | |
+============================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------------------+-----------------+------+--------+------+---------|
| 0 | 9022 | | | | |
|---------------------------------------------------------+-----------------+------+--------+------+---------|
| | | | | | |
|---------------------------------------------------------+-----------------+------+--------+------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------------------+-----------------+------+--------+------+---------|
| activeNetworkConfig | 455 | 2022 | 455 | 4455 | 462 |
╰---------------------------------------------------------+-----------------+------+--------+------+---------╯
╭---------------------------------------------------------------------+-----------------+---------+---------+---------+---------╮
| script/UpgradeStakeManager.s.sol:UpgradeStakeManagerScript Contract | | | | | |
+===============================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| 6005462 | 28878 | | | | |
|---------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| | | | | | |
|---------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------------------------------+-----------------+---------+---------+---------+---------|
| runWithAdminAndProxy | 3407494 | 3407494 | 3407494 | 3407494 | 4 |
╰---------------------------------------------------------------------+-----------------+---------+---------+---------+---------╯
╭------------------------------+-----------------+--------+--------+--------+---------╮
| src/Karma.sol:Karma Contract | | | | | |
+=====================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| 0 | 13259 | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------+-----------------+--------+--------+--------+---------|
| DEFAULT_ADMIN_ROLE | 285 | 285 | 285 | 285 | 23 |
|------------------------------+-----------------+--------+--------+--------+---------|
| MIN_SLASH_AMOUNT | 264 | 264 | 264 | 264 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| OPERATOR_ROLE | 262 | 262 | 262 | 262 | 2 |
|------------------------------+-----------------+--------+--------+--------+---------|
| SLASHER_ROLE | 262 | 262 | 262 | 262 | 24 |
|------------------------------+-----------------+--------+--------+--------+---------|
| accountSlashAmount | 2611 | 2611 | 2611 | 2611 | 2 |
|------------------------------+-----------------+--------+--------+--------+---------|
| addRewardDistributor | 29975 | 63645 | 70903 | 70903 | 284 |
|------------------------------+-----------------+--------+--------+--------+---------|
| allowance | 573 | 573 | 573 | 573 | 8 |
|------------------------------+-----------------+--------+--------+--------+---------|
| approve | 453 | 453 | 453 | 453 | 8 |
|------------------------------+-----------------+--------+--------+--------+---------|
| balanceOf | 17795 | 28157 | 28160 | 28233 | 287 |
|------------------------------+-----------------+--------+--------+--------+---------|
| calculateSlashAmount | 2763 | 2801 | 2804 | 2804 | 774 |
|------------------------------+-----------------+--------+--------+--------+---------|
| getRewardDistributors | 5132 | 7710 | 9644 | 9644 | 21 |
|------------------------------+-----------------+--------+--------+--------+---------|
| grantRole | 29490 | 29490 | 29490 | 29490 | 29 |
|------------------------------+-----------------+--------+--------+--------+---------|
| hasRole | 2754 | 2754 | 2754 | 2754 | 4 |
|------------------------------+-----------------+--------+--------+--------+---------|
| initialize | 116796 | 116796 | 116796 | 116796 | 176 |
|------------------------------+-----------------+--------+--------+--------+---------|
| mint | 4869 | 50368 | 51342 | 51342 | 550 |
|------------------------------+-----------------+--------+--------+--------+---------|
| removeRewardDistributor | 5080 | 22644 | 29995 | 30358 | 28 |
|------------------------------+-----------------+--------+--------+--------+---------|
| rewardDistributorSlashAmount | 2781 | 2781 | 2781 | 2781 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| setReward | 4845 | 144102 | 166754 | 166754 | 319 |
|------------------------------+-----------------+--------+--------+--------+---------|
| slash | 4803 | 103614 | 85757 | 123125 | 519 |
|------------------------------+-----------------+--------+--------+--------+---------|
| slashedAmountOf | 17682 | 28099 | 28120 | 28120 | 516 |
|------------------------------+-----------------+--------+--------+--------+---------|
| totalSupply | 22591 | 22591 | 22591 | 22591 | 24 |
|------------------------------+-----------------+--------+--------+--------+---------|
| transfer | 451 | 451 | 451 | 451 | 8 |
|------------------------------+-----------------+--------+--------+--------+---------|
| transferFrom | 580 | 580 | 580 | 580 | 8 |
╰------------------------------+-----------------+--------+--------+--------+---------╯
╭-------------------------------------------------+-----------------+-------+--------+-------+---------╮
| src/KarmaNFT.sol:KarmaNFT Contract | | | | | |
+======================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| 766312 | 3518 | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| approve | 393 | 393 | 393 | 393 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| getApproved | 296 | 296 | 296 | 296 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| isApprovedForAll | 510 | 510 | 510 | 510 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| metadataGenerator | 2325 | 2325 | 2325 | 2325 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| safeTransferFrom(address,address,uint256) | 485 | 485 | 485 | 485 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| safeTransferFrom(address,address,uint256,bytes) | 655 | 655 | 655 | 655 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| setApprovalForAll | 475 | 475 | 475 | 475 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| setMetadataGenerator | 24036 | 27334 | 28983 | 28983 | 3 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| tokenURI | 75722 | 75722 | 75722 | 75722 | 1 |
|-------------------------------------------------+-----------------+-------+--------+-------+---------|
| transferFrom | 530 | 530 | 530 | 530 | 1 |
╰-------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭--------------------------------------------+-----------------+--------+--------+--------+---------╮
| src/StakeManager.sol:StakeManager Contract | | | | | |
+===================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| 3619677 | 16775 | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| MAX_LOCKUP_PERIOD | 383 | 383 | 383 | 383 | 4 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| MAX_MULTIPLIER | 263 | 263 | 263 | 263 | 20 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| MIN_LOCKUP_PERIOD | 331 | 331 | 331 | 331 | 17 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| emergencyModeEnabled | 2421 | 2421 | 2421 | 2421 | 263 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| enableEmergencyMode | 2543 | 25291 | 25457 | 25457 | 264 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountTotalMaxMP | 21191 | 21191 | 21191 | 21191 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountTotalStakedBalance | 21170 | 21170 | 21170 | 21170 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| getAccountVaults | 5230 | 5230 | 5230 | 5230 | 4 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| getVault | 13653 | 13653 | 13653 | 13653 | 4182 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| initialize | 92752 | 92752 | 92752 | 92752 | 95 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| lastRewardTime | 2407 | 2407 | 2407 | 2407 | 2 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 66348 | 66348 | 66348 | 66348 | 2 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| lock | 7040 | 43452 | 46713 | 87964 | 1034 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| migrateToVault | 9294 | 53513 | 17021 | 170715 | 4 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| mpAccruedOf | 2629 | 2629 | 2629 | 2629 | 20 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| mpBalanceOf | 4917 | 8695 | 10316 | 10316 | 12 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| mpBalanceOfAccount | 30210 | 31283 | 31283 | 32356 | 2 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| proxiableUUID | 342 | 342 | 342 | 342 | 4 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| registerVault | 2583 | 74547 | 75107 | 75107 | 374 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardEndTime | 2429 | 2429 | 2429 | 2429 | 2 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardStartTime | 2364 | 2364 | 2364 | 2364 | 2 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardsBalanceOf | 20295 | 24430 | 25908 | 26129 | 268 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| rewardsBalanceOfAccount | 62220 | 62220 | 62220 | 62220 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| setReward | 2508 | 105565 | 107076 | 107076 | 265 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| setRewardsSupplier | 26875 | 26875 | 26875 | 26875 | 90 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| setTrustedCodehash | 24238 | 24238 | 24238 | 24238 | 95 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| stake | 2639 | 131319 | 60725 | 228623 | 2670 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| stakedBalanceOf | 2622 | 2622 | 2622 | 2622 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMP | 6805 | 8257 | 8257 | 9710 | 6 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMPAccrued | 2385 | 2385 | 2385 | 2385 | 4162 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMPStaked | 2429 | 2429 | 2429 | 2429 | 4165 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalMaxMP | 2407 | 2407 | 2407 | 2407 | 4162 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalRewardsAccrued | 2407 | 2407 | 2407 | 2407 | 3 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalRewardsSupply | 6737 | 11068 | 11792 | 11903 | 290 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalShares | 4597 | 4597 | 4597 | 4597 | 6 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| totalStaked | 2408 | 2408 | 2408 | 2408 | 4169 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| unstake | 9886 | 41365 | 39781 | 79550 | 271 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| updateAccount | 347677 | 347677 | 347677 | 347677 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| updateGlobalState | 15820 | 25876 | 29230 | 29230 | 8 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| updateVault | 31948 | 34373 | 31948 | 110579 | 1024 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| upgradeTo | 10279 | 10772 | 10279 | 12745 | 5 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| upgradeToAndCall | 3228 | 3228 | 3228 | 3228 | 1 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| vaultShares | 4893 | 4893 | 4893 | 4893 | 12 |
╰--------------------------------------------+-----------------+--------+--------+--------+---------╯
╭----------------------------------------+-----------------+--------+--------+--------+---------╮
| src/StakeVault.sol:StakeVault Contract | | | | | |
+===============================================================================================+
| Deployment Cost | Deployment Size | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| 1683255 | 7965 | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| STAKING_TOKEN | 252 | 252 | 252 | 252 | 1 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| emergencyExit | 15073 | 31537 | 31535 | 48635 | 263 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| initialize | 97688 | 97688 | 97688 | 97688 | 374 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 12223 | 113137 | 84120 | 356508 | 5 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| lock | 12151 | 58945 | 62251 | 103499 | 1035 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| lockUntil | 2363 | 2363 | 2363 | 2363 | 7768 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| migrateToVault | 24910 | 77530 | 32637 | 219937 | 4 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| owner | 448 | 479 | 448 | 2448 | 382 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| register | 12742 | 78218 | 78761 | 78761 | 374 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| stake | 12131 | 165586 | 76290 | 284275 | 2671 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| stakeManager | 393 | 393 | 393 | 393 | 373 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| trustStakeManager | 7650 | 7650 | 7650 | 7650 | 1 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| unstake | 12108 | 58033 | 55296 | 110656 | 272 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| updateLockUntil | 4432 | 20797 | 21532 | 21532 | 508 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| withdraw | 20817 | 20817 | 20817 | 20817 | 1 |
|----------------------------------------+-----------------+--------+--------+--------+---------|
| withdrawFromVault | 20391 | 20391 | 20391 | 20391 | 1 |
╰----------------------------------------+-----------------+--------+--------+--------+---------╯
╭----------------------------------------------------+-----------------+-------+--------+--------+---------╮
| src/TransparentProxy.sol:TransparentProxy Contract | | | | | |
+==========================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|----------------------------------------------------+-----------------+-------+--------+--------+---------|
| 0 | 1520 | | | | |
|----------------------------------------------------+-----------------+-------+--------+--------+---------|
| | | | | | |
|----------------------------------------------------+-----------------+-------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|----------------------------------------------------+-----------------+-------+--------+--------+---------|
| fallback | 5208 | 12834 | 7353 | 374054 | 23167 |
|----------------------------------------------------+-----------------+-------+--------+--------+---------|
| implementation | 346 | 2137 | 2346 | 2346 | 4870 |
╰----------------------------------------------------+-----------------+-------+--------+--------+---------╯
╭--------------------------------------------+-----------------+--------+--------+--------+---------╮
| src/VaultFactory.sol:VaultFactory Contract | | | | | |
+===================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| 0 | 2094 | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| createVault | 231113 | 247846 | 248213 | 248213 | 373 |
|--------------------------------------------+-----------------+--------+--------+--------+---------|
| vaultImplementation | 2345 | 2345 | 2345 | 2345 | 1 |
╰--------------------------------------------+-----------------+--------+--------+--------+---------╯
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
| src/nft-metadata-generators/NFTMetadataGeneratorSVG.sol:NFTMetadataGeneratorSVG Contract | | | | | |
+===============================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 1204853 | 6207 | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 54775 | 54775 | 54775 | 54775 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| imagePrefix | 3183 | 3183 | 3183 | 3183 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| imageSuffix | 3227 | 3227 | 3227 | 3227 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setImageStrings | 25295 | 30634 | 30634 | 35974 | 2 |
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
| src/nft-metadata-generators/NFTMetadataGeneratorURL.sol:NFTMetadataGeneratorURL Contract | | | | | |
+===============================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 1173479 | 5828 | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 64121 | 64121 | 64121 | 64121 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setURLStrings | 25463 | 30802 | 30802 | 36142 | 2 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| urlPrefix | 3184 | 3184 | 3184 | 3184 | 1 |
|------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| urlSuffix | 3228 | 3228 | 3228 | 3228 | 1 |
╰------------------------------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭------------------------------+-----------------+--------+--------+--------+---------╮
| src/rln/RLN.sol:RLN Contract | | | | | |
+=====================================================================================+
| Deployment Cost | Deployment Size | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| 1396408 | 7094 | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|------------------------------+-----------------+--------+--------+--------+---------|
| FEE_PERCENTAGE | 217 | 217 | 217 | 217 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| FEE_RECEIVER | 226 | 226 | 226 | 226 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| FREEZE_PERIOD | 218 | 218 | 218 | 218 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| MINIMAL_DEPOSIT | 241 | 241 | 241 | 241 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| SET_SIZE | 284 | 284 | 284 | 284 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| identityCommitmentIndex | 2362 | 2362 | 2362 | 2362 | 27 |
|------------------------------+-----------------+--------+--------+--------+---------|
| members | 6826 | 6826 | 6826 | 6826 | 18 |
|------------------------------+-----------------+--------+--------+--------+---------|
| register | 23877 | 105927 | 123897 | 126709 | 18 |
|------------------------------+-----------------+--------+--------+--------+---------|
| release | 28093 | 37708 | 28192 | 66355 | 4 |
|------------------------------+-----------------+--------+--------+--------+---------|
| slash | 23015 | 49020 | 34650 | 99415 | 6 |
|------------------------------+-----------------+--------+--------+--------+---------|
| token | 292 | 292 | 292 | 292 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| verifier | 272 | 272 | 272 | 272 | 1 |
|------------------------------+-----------------+--------+--------+--------+---------|
| withdraw | 29336 | 79495 | 106774 | 106774 | 8 |
|------------------------------+-----------------+--------+--------+--------+---------|
| withdrawals | 6792 | 6792 | 6792 | 6792 | 5 |
╰------------------------------+-----------------+--------+--------+--------+---------╯
╭--------------------------------------+-----------------+-------+--------+-------+---------╮
| test/RLN.t.sol:MockVerifier Contract | | | | | |
+===========================================================================================+
| Deployment Cost | Deployment Size | | | | |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| 204321 | 642 | | | | |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| changeResult | 21649 | 21649 | 21649 | 21649 | 2 |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| result | 2298 | 2298 | 2298 | 2298 | 5 |
|--------------------------------------+-----------------+-------+--------+-------+---------|
| verifyProof | 4790 | 4790 | 4790 | 4790 | 9 |
╰--------------------------------------+-----------------+-------+--------+-------+---------╯
╭-----------------------------------+-----------------+-------+--------+-------+---------╮
| test/RLN.t.sol:TestERC20 Contract | | | | | |
+========================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| 765176 | 3558 | | | | |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| approve | 46175 | 46179 | 46175 | 46199 | 18 |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| balanceOf | 2561 | 2561 | 2561 | 2561 | 62 |
|-----------------------------------+-----------------+-------+--------+-------+---------|
| mint | 51064 | 64368 | 68164 | 68188 | 18 |
╰-----------------------------------+-----------------+-------+--------+-------+---------╯
╭-------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
| test/mocks/KarmaDistributorMock.sol:KarmaDistributorMock Contract | | | | | |
+========================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 194349 | 687 | | | | |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| rewardsBalanceOfAccount | 549 | 1986 | 2549 | 2549 | 3675 |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setTotalKarmaShares | 43589 | 43589 | 43589 | 43589 | 48 |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| setUserKarmaShare | 24210 | 44068 | 44134 | 44266 | 530 |
|-------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| totalRewardsSupply | 2324 | 2324 | 2324 | 2324 | 48 |
╰-------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╮
| test/mocks/MockMetadataGenerator.sol:MockMetadataGenerator Contract | | | | | |
+==========================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| 939308 | 4684 | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------------------------------+-----------------+-------+--------+-------+---------|
| generate | 60554 | 60554 | 60554 | 60554 | 1 |
╰---------------------------------------------------------------------+-----------------+-------+--------+-------+---------╯
╭---------------------------------------------+-----------------+-------+--------+-------+---------╮
| test/mocks/MockToken.sol:MockToken Contract | | | | | |
+==================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| 770657 | 3987 | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| | | | | | |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| approve | 29075 | 31545 | 29183 | 46259 | 2676 |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| balanceOf | 2561 | 2561 | 2561 | 2561 | 4960 |
|---------------------------------------------+-----------------+-------+--------+-------+---------|
| mint | 33964 | 37190 | 34072 | 68248 | 2685 |
╰---------------------------------------------+-----------------+-------+--------+-------+---------╯
╭-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╮
| test/mocks/StackOverflowStakeManager.sol:StackOverflowStakeManager Contract | | | | | |
+====================================================================================================================================+
| Deployment Cost | Deployment Size | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| 1232230 | 5554 | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| | | | | | |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| Function Name | Min | Avg | Median | Max | # Calls |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| leave | 26 | 161074 | 161074 | 322246 | 334 |
|-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------|
| proxiableUUID | 308 | 308 | 308 | 308 | 1 |
╰-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╯