Files
staking-reward-streamer/.gas-snapshot
r4bbit 4fa3eb06e0 feat(RewardsStreamerMP): allow for staking multiple times with lock
This commit enables users to stake multiple times into the same vault
with a lock increase.

If their total lock increase goes beyond the maximum lock period,
staking will revert. In this case users will have to create a new vault.

Closes #152

Co-authored-by: Andrea Franz <andrea@gravityblast.com>
2025-03-19 15:36:55 +01:00

140 lines
8.6 KiB
Plaintext

CompoundTest:test_CompoundForAccount() (gas: 2493738)
CompoundTest:test_RevertWhenInsufficientMPBalance() (gas: 382134)
EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93420)
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 355453)
EmergencyExitTest:test_EmergencyExitBasic() (gas: 450328)
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 776160)
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 455835)
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 473148)
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 438605)
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39066)
FuzzTests:testFuzz_AccrueMP(uint256,uint256,uint16) (runs: 1000, μ: 536369, ~: 521373)
FuzzTests:testFuzz_AccrueMP_Relock(uint256,uint256,uint16) (runs: 1001, μ: 575868, ~: 577876)
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1000, μ: 526503, ~: 507384)
FuzzTests:testFuzz_Lock(uint256,uint256) (runs: 1000, μ: 548676, ~: 548689)
FuzzTests:testFuzz_Relock(uint256,uint256,uint256) (runs: 1002, μ: 575751, ~: 581815)
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1000, μ: 634275, ~: 636130)
FuzzTests:testFuzz_Stake(uint256,uint256) (runs: 1000, μ: 419858, ~: 400739)
FuzzTests:testFuzz_Unstake(uint256,uint256,uint16,uint256) (runs: 1000, μ: 535949, ~: 535405)
IntegrationTest:testStakeFoo() (gas: 1434411)
KarmaMintAllowanceTest:testAddKarmaDistributorOnlyOwner() (gas: 364780)
KarmaMintAllowanceTest:testBalanceOf() (gas: 444028)
KarmaMintAllowanceTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49501)
KarmaMintAllowanceTest:testMintAllowance_Available() (gas: 355738)
KarmaMintAllowanceTest:testMintAllowance_NotAvailable() (gas: 355743)
KarmaMintAllowanceTest:testMintOnlyOwner() (gas: 397985)
KarmaMintAllowanceTest:testMint_Ok() (gas: 425651)
KarmaMintAllowanceTest:testMint_RevertWithAllowanceExceeded() (gas: 405708)
KarmaMintAllowanceTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88855)
KarmaMintAllowanceTest:testRemoveUnknownKarmaDistributor() (gas: 41416)
KarmaMintAllowanceTest:testTotalSupply() (gas: 352205)
KarmaMintAllowanceTest:testTransfersNotAllowed() (gas: 40219)
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:testAddKarmaDistributorOnlyOwner() (gas: 364768)
KarmaOwnershipTest:testBalanceOf() (gas: 443998)
KarmaOwnershipTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49479)
KarmaOwnershipTest:testInitialOwner() (gas: 17601)
KarmaOwnershipTest:testMintOnlyOwner() (gas: 397949)
KarmaOwnershipTest:testOwnershipTransfer() (gas: 98047)
KarmaOwnershipTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88820)
KarmaOwnershipTest:testRemoveUnknownKarmaDistributor() (gas: 41398)
KarmaOwnershipTest:testTotalSupply() (gas: 352175)
KarmaOwnershipTest:testTransfersNotAllowed() (gas: 40196)
KarmaTest:testAddKarmaDistributorOnlyOwner() (gas: 364768)
KarmaTest:testBalanceOf() (gas: 443998)
KarmaTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49545)
KarmaTest:testMintOnlyOwner() (gas: 397949)
KarmaTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88798)
KarmaTest:testRemoveUnknownKarmaDistributor() (gas: 41398)
KarmaTest:testTotalSupply() (gas: 352175)
KarmaTest:testTransfersNotAllowed() (gas: 40241)
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 9845373)
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 352525)
LeaveTest:test_TrustNewStakeManager() (gas: 9896439)
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1002, μ: 389382, ~: 366689)
LockTest:test_LockFailsWithNoStake() (gas: 109665)
LockTest:test_LockFailsWithZero() (gas: 362674)
LockTest:test_LockMultipleTimesExceedMaxLock() (gas: 673937)
LockTest:test_LockWithPriorLock() (gas: 620723)
LockTest:test_LockWithoutPriorLock() (gas: 493416)
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 109623)
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 2018809)
MathTest:test_CalcAbsoluteMaxTotalMP() (gas: 5196)
MathTest:test_CalcAccrueMP() (gas: 8511)
MathTest:test_CalcBonusMP() (gas: 19112)
MathTest:test_CalcInitialMP() (gas: 5728)
MathTest:test_CalcMaxAccruedMP() (gas: 4842)
MathTest:test_CalcMaxTotalMP() (gas: 19852)
MultipleVaultsStakeTest:test_StakeMultipleVaults() (gas: 860111)
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 92580)
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 60081)
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 35891)
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 108341)
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 50631)
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 36066)
RewardsStreamerMP_RewardsTest:testRewardsBalanceOf() (gas: 1326410)
RewardsStreamerMP_RewardsTest:testSetRewards() (gas: 224746)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 61304)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 101081)
RewardsStreamerMP_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39366)
RewardsStreamerMP_RewardsTest:testTotalRewardsSupply() (gas: 761404)
StakeTest:test_RevertWhenStakeMultipleTimesExceedsMaxLockUpTime() (gas: 776821)
StakeTest:test_RevertWhenStakeMultipleTimesWithGapsExceedsMaxLockUpTime() (gas: 828961)
StakeTest:test_StakeMultipleAccounts() (gas: 601560)
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 610075)
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1038928)
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 630289)
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 674900)
StakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 625486)
StakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 593616)
StakeTest:test_StakeOneAccount() (gas: 338986)
StakeTest:test_StakeOneAccountAndRewards() (gas: 347498)
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 614617)
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 602770)
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 377406)
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 378002)
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 378069)
StakeVaultMigrationTest:testMigrateToVault() (gas: 957919)
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 648571)
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 68066)
StakeVaultTest:testOwner() (gas: 15262)
StakingTokenTest:testOwner() (gas: 15262)
StakingTokenTest:testStakeToken() (gas: 13144)
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2023401)
UnstakeTest:test_RevertWhenStakeMultipleTimesExceedsMaxLockUpTime() (gas: 776843)
UnstakeTest:test_RevertWhenStakeMultipleTimesWithGapsExceedsMaxLockUpTime() (gas: 829005)
UnstakeTest:test_StakeMultipleAccounts() (gas: 601604)
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 610030)
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 1038905)
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 630244)
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 674877)
UnstakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 625508)
UnstakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 593616)
UnstakeTest:test_StakeOneAccount() (gas: 338986)
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 347475)
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 614594)
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 602728)
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 377428)
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 378002)
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 378047)
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 662587)
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 841649)
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 955345)
UnstakeTest:test_UnstakeOneAccount() (gas: 574242)
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 599490)
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 495755)
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 649560)
UpgradeTest:test_RevertWhenNotOwner() (gas: 3679375)
UpgradeTest:test_UpgradeStakeManager() (gas: 9732455)
VaultRegistrationTest:test_VaultRegistration() (gas: 63050)
WithdrawTest:testOwner() (gas: 15296)
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 368259)