Files
staking-reward-streamer/.gas-snapshot
r4bbit efa2c618ba feat(Karma): add AccessControl to Karma
This commit introduces `AccessControl` capabilities to Karma. The reason this is done so that there can be multiple actors in the system with different privileges.

The main changes done here are:

- Introduce internal functions for most of the `Karma` specific logic (this is necessary to allow properly extending the contract's functionality via modifiers) later on
- Inherit AccessControlUpgradeable contract
- Introduce OPERATOR_ROLE next to the already provided DEFAULT_ADMIN_ROLE

This is an alternative solution to the PR in #209.
Instead of providing an upgrade version, this commit is a breaking
change as it introduces a storage layout conflict.

BREAKING CHANGE

This commit introduces a storage layout conflict.
Redeployment required.

Closes #207
2025-05-13 14:09:40 +02:00

173 lines
11 KiB
Plaintext

AddRewardDistributorTest:testAddKarmaDistributorOnlyAdmin() (gas: 423055)
AddRewardDistributorTest:testAddRewardDistributorAsOtherAdmin() (gas: 165263)
AddRewardDistributorTest:testBalanceOf() (gas: 431293)
AddRewardDistributorTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49655)
AddRewardDistributorTest:testMintOnlyAdmin() (gas: 378769)
AddRewardDistributorTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147308)
AddRewardDistributorTest:testRemoveUnknownKarmaDistributor() (gas: 41630)
AddRewardDistributorTest:testTotalSupply() (gas: 339166)
AddRewardDistributorTest:testTransfersNotAllowed() (gas: 40285)
AddRewardDistributorTest:test_RevertWhen_SenderIsNotDefaultAdmin() (gas: 68325)
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93554)
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 336067)
EmergencyExitTest:test_EmergencyExitBasic() (gas: 427580)
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 730615)
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 433110)
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 433444)
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 419310)
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39176)
FuzzTests:testFuzz_AccrueMP(uint128,uint64,uint64) (runs: 1006, μ: 400351, ~: 368061)
FuzzTests:testFuzz_AccrueMP_Relock(uint128,uint64,uint64,uint64) (runs: 1006, μ: 501707, ~: 471734)
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1001, μ: 497146, ~: 487267)
FuzzTests:testFuzz_Lock(uint256,uint64) (runs: 1006, μ: 727489, ~: 726735)
FuzzTests:testFuzz_Relock(uint256,uint64,uint64) (runs: 1006, μ: 409218, ~: 388725)
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1001, μ: 599846, ~: 601205)
FuzzTests:testFuzz_Stake(uint256,uint64) (runs: 1006, μ: 311868, ~: 285086)
FuzzTests:testFuzz_Unstake(uint128,uint64,uint16,uint128) (runs: 1006, μ: 501292, ~: 473125)
FuzzTests:testFuzz_UpdateVault(uint128,uint64,uint64) (runs: 1006, μ: 400374, ~: 368084)
IntegrationTest:testStakeFoo() (gas: 1362931)
KarmaNFTTest:testApproveNotAllowed() (gas: 10507)
KarmaNFTTest:testGetApproved() (gas: 10531)
KarmaNFTTest:testIsApprovedForAll() (gas: 10705)
KarmaNFTTest:testSafeTransferNotAllowed() (gas: 10688)
KarmaNFTTest:testSafeTransferWithDataNotAllowed() (gas: 10884)
KarmaNFTTest:testSetApprovalForAllNotAllowed() (gas: 8519)
KarmaNFTTest:testSetMetadataGenerator() (gas: 1010377)
KarmaNFTTest:testSetMetadataGeneratorRevert() (gas: 1006937)
KarmaNFTTest:testTokenURI() (gas: 1105935)
KarmaNFTTest:testTransferNotAllowed() (gas: 10701)
KarmaOwnershipTest:testAddKarmaDistributorOnlyAdmin() (gas: 423043)
KarmaOwnershipTest:testBalanceOf() (gas: 431293)
KarmaOwnershipTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49677)
KarmaOwnershipTest:testInitialOwner() (gas: 16039)
KarmaOwnershipTest:testMintOnlyAdmin() (gas: 378791)
KarmaOwnershipTest:testOwnershipTransfer() (gas: 76843)
KarmaOwnershipTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147229)
KarmaOwnershipTest:testRemoveUnknownKarmaDistributor() (gas: 41618)
KarmaOwnershipTest:testTotalSupply() (gas: 339166)
KarmaOwnershipTest:testTransfersNotAllowed() (gas: 40285)
KarmaTest:testAddKarmaDistributorOnlyAdmin() (gas: 423021)
KarmaTest:testBalanceOf() (gas: 431293)
KarmaTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49655)
KarmaTest:testMintOnlyAdmin() (gas: 378769)
KarmaTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147274)
KarmaTest:testRemoveUnknownKarmaDistributor() (gas: 41618)
KarmaTest:testTotalSupply() (gas: 339166)
KarmaTest:testTransfersNotAllowed() (gas: 40263)
LeaveTest:test_LeaveShouldKeepFundsLockedInStakeVault() (gas: 9899411)
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 9865059)
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 333238)
LeaveTest:test_TrustNewStakeManager() (gas: 9933491)
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1006, μ: 384564, ~: 384588)
LockTest:test_LockFailsWithNoStake() (gas: 89700)
LockTest:test_LockFailsWithZero() (gas: 343310)
LockTest:test_LockMultipleTimesExceedMaxLock() (gas: 628421)
LockTest:test_LockWithPriorLock() (gas: 566521)
LockTest:test_LockWithoutPriorLock() (gas: 446388)
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 89700)
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 1995193)
MathTest:test_CalcAbsoluteMaxTotalMP() (gas: 5240)
MathTest:test_CalcAccrueMP() (gas: 8599)
MathTest:test_CalcBonusMP() (gas: 19244)
MathTest:test_CalcInitialMP() (gas: 5836)
MathTest:test_CalcMaxAccruedMP() (gas: 4886)
MathTest:test_CalcMaxTotalMP() (gas: 20006)
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 801979)
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 92580)
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 60081)
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 35891)
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 108341)
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 50631)
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 36066)
OverflowTest:testAddKarmaDistributorOnlyAdmin() (gas: 423043)
OverflowTest:testBalanceOf() (gas: 431293)
OverflowTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49655)
OverflowTest:testMintOnlyAdmin() (gas: 378769)
OverflowTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147274)
OverflowTest:testRemoveUnknownKarmaDistributor() (gas: 41630)
OverflowTest:testTotalSupply() (gas: 339166)
OverflowTest:testTransfersNotAllowed() (gas: 40263)
OverflowTest:test_RevertWhen_MintingCausesOverflow() (gas: 129464)
OverflowTest:test_RevertWhen_SettingRewardCausesOverflow() (gas: 127792)
RemoveRewardDistributorTest:testAddKarmaDistributorOnlyAdmin() (gas: 423045)
RemoveRewardDistributorTest:testBalanceOf() (gas: 431366)
RemoveRewardDistributorTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49633)
RemoveRewardDistributorTest:testMintOnlyAdmin() (gas: 378759)
RemoveRewardDistributorTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147298)
RemoveRewardDistributorTest:testRemoveRewardDistributor() (gas: 132118)
RemoveRewardDistributorTest:testRemoveRewardDistributorAsOtherAdmin() (gas: 203200)
RemoveRewardDistributorTest:testRemoveUnknownKarmaDistributor() (gas: 41636)
RemoveRewardDistributorTest:testTotalSupply() (gas: 339239)
RemoveRewardDistributorTest:testTransfersNotAllowed() (gas: 40263)
RemoveRewardDistributorTest:test_RevertWhen_SenderIsNotDefaultAdmin() (gas: 66507)
SetRewardTest:testAddKarmaDistributorOnlyAdmin() (gas: 423077)
SetRewardTest:testBalanceOf() (gas: 431293)
SetRewardTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49677)
SetRewardTest:testMintOnlyAdmin() (gas: 378791)
SetRewardTest:testRemoveKarmaDistributorOnlyOwner() (gas: 147241)
SetRewardTest:testRemoveUnknownKarmaDistributor() (gas: 41630)
SetRewardTest:testSetRewardAsAdmin() (gas: 134934)
SetRewardTest:testSetRewardAsOperator() (gas: 126214)
SetRewardTest:testSetRewardAsOtherAdmin() (gas: 199420)
SetRewardTest:testTotalSupply() (gas: 339211)
SetRewardTest:testTransfersNotAllowed() (gas: 40307)
SetRewardTest:test_RevertWhen_SenderIsNotDefaultAdmin() (gas: 43559)
SetRewardTest:test_RevertWhen_SenderIsNotOperator() (gas: 53332)
StakeManager_RewardsTest:testRewardsBalanceOf() (gas: 1281535)
StakeManager_RewardsTest:testSetRewards() (gas: 227100)
StakeManager_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 63751)
StakeManager_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 103509)
StakeManager_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39367)
StakeManager_RewardsTest:testTotalRewardsSupply() (gas: 746224)
StakeTest:test_StakeMultipleAccounts() (gas: 556308)
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 564800)
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 942461)
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 571074)
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 595232)
StakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1528357)
StakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 581504)
StakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1124100)
StakeTest:test_StakeOneAccount() (gas: 316362)
StakeTest:test_StakeOneAccountAndRewards() (gas: 324917)
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 616802)
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 503792)
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 337583)
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 338223)
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 338268)
StakeVaultMigrationTest:testMigrateToVault() (gas: 885152)
StakeVaultMigrationTest:test_RevertWhenDestinationVaultIsNotRegistered() (gas: 162181)
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 631911)
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 70563)
StakeVaultTest:testOwner() (gas: 15331)
StakingTokenTest:testOwner() (gas: 15331)
StakingTokenTest:testStakeToken() (gas: 13156)
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2021691)
UnstakeTest:test_RevertWhen_FundsLocked() (gas: 461737)
UnstakeTest:test_StakeMultipleAccounts() (gas: 556287)
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 564844)
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 942527)
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 571140)
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 595231)
UnstakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1528413)
UnstakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 581459)
UnstakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1124111)
UnstakeTest:test_StakeOneAccount() (gas: 316384)
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 324916)
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 616801)
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 503772)
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 337605)
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 338223)
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 338268)
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 581839)
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 796850)
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 907371)
UnstakeTest:test_UnstakeOneAccount() (gas: 545178)
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 544489)
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 468681)
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 570741)
UpdateVaultTest:test_UpdateAccount() (gas: 2397378)
UpgradeTest:test_RevertWhenNotOwner() (gas: 3696209)
UpgradeTest:test_UpgradeStakeManager() (gas: 9769347)
VaultRegistrationTest:test_VaultRegistration() (gas: 63138)
WithdrawTest:testOwner() (gas: 15365)
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 348908)