Files
staking-reward-streamer/.gas-snapshot
r4bbit e0aeae7a80 fix(StakeManager): don't allow migrating to unregistered vaults
This was uncovered when a user tried to migrate a `StakeVault` from one
deployed `StakeManager` to a vault that was registered with a different
`StakeManager` instance.

The result was that the data of the vault has been indeed migrated to
the new vault, however, since the vault queries stake data from the
`StakeManager`, the new vault is unable to properly calculated balances
to withdraw funds, among other things.

It shouldn't be possible to migrate to a vault that isn't registered
with the system a user migrates from, in the first place.

This commit ensures that by reverting when the `migrateTo` address isn't
a registered vault with the `StakeManager`.
2025-04-01 10:23:10 +02:00

127 lines
7.8 KiB
Plaintext

EmergencyExitTest:test_CannotEnableEmergencyModeTwice() (gas: 93554)
EmergencyExitTest:test_CannotLeaveBeforeEmergencyMode() (gas: 335172)
EmergencyExitTest:test_EmergencyExitBasic() (gas: 426892)
EmergencyExitTest:test_EmergencyExitMultipleUsers() (gas: 729239)
EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 432421)
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 430501)
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 418391)
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39176)
FuzzTests:testFuzz_AccrueMP(uint128,uint64,uint64) (runs: 1000, μ: 372274, ~: 342639)
FuzzTests:testFuzz_AccrueMP_Relock(uint128,uint64,uint64,uint64) (runs: 1000, μ: 473256, ~: 444746)
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1000, μ: 495593, ~: 486579)
FuzzTests:testFuzz_Lock(uint256,uint64) (runs: 1000, μ: 726644, ~: 725709)
FuzzTests:testFuzz_Relock(uint256,uint64,uint64) (runs: 1000, μ: 386617, ~: 362902)
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1000, μ: 594630, ~: 595934)
FuzzTests:testFuzz_Stake(uint256,uint64) (runs: 1000, μ: 288214, ~: 260814)
FuzzTests:testFuzz_Unstake(uint128,uint64,uint16,uint128) (runs: 1000, μ: 475988, ~: 448228)
FuzzTests:testFuzz_UpdateVault(uint128,uint64,uint64) (runs: 1000, μ: 372297, ~: 342662)
IntegrationTest:testStakeFoo() (gas: 1362727)
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: 423830)
KarmaOwnershipTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49479)
KarmaOwnershipTest:testInitialOwner() (gas: 17601)
KarmaOwnershipTest:testMintOnlyOwner() (gas: 371195)
KarmaOwnershipTest:testOwnershipTransfer() (gas: 98047)
KarmaOwnershipTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88820)
KarmaOwnershipTest:testRemoveUnknownKarmaDistributor() (gas: 41398)
KarmaOwnershipTest:testTotalSupply() (gas: 331725)
KarmaOwnershipTest:testTransfersNotAllowed() (gas: 40196)
KarmaTest:testAddKarmaDistributorOnlyOwner() (gas: 364768)
KarmaTest:testBalanceOf() (gas: 423830)
KarmaTest:testBalanceOfWithNoSystemTotalKarma() (gas: 49545)
KarmaTest:testMintOnlyOwner() (gas: 371195)
KarmaTest:testRemoveKarmaDistributorOnlyOwner() (gas: 88798)
KarmaTest:testRemoveUnknownKarmaDistributor() (gas: 41398)
KarmaTest:testTotalSupply() (gas: 331725)
KarmaTest:testTransfersNotAllowed() (gas: 40241)
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 9594708)
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 332331)
LeaveTest:test_TrustNewStakeManager() (gas: 9650451)
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1000, μ: 382883, ~: 382908)
LockTest:test_LockFailsWithNoStake() (gas: 88865)
LockTest:test_LockFailsWithZero() (gas: 342393)
LockTest:test_LockMultipleTimesExceedMaxLock() (gas: 624582)
LockTest:test_LockWithPriorLock() (gas: 560665)
LockTest:test_LockWithoutPriorLock() (gas: 443152)
LockTest:test_RevertWhenVaultToLockIsEmpty() (gas: 88865)
MaliciousUpgradeTest:test_UpgradeStackOverflowStakeManager() (gas: 1992117)
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: 799444)
NFTMetadataGeneratorSVGTest:testGenerateMetadata() (gas: 92580)
NFTMetadataGeneratorSVGTest:testSetImageStrings() (gas: 60081)
NFTMetadataGeneratorSVGTest:testSetImageStringsRevert() (gas: 35891)
NFTMetadataGeneratorURLTest:testGenerateMetadata() (gas: 108341)
NFTMetadataGeneratorURLTest:testSetBaseURL() (gas: 50631)
NFTMetadataGeneratorURLTest:testSetBaseURLRevert() (gas: 36066)
StakeManager_RewardsTest:testRewardsBalanceOf() (gas: 1274873)
StakeManager_RewardsTest:testSetRewards() (gas: 224614)
StakeManager_RewardsTest:testSetRewards_RevertsBadAmount() (gas: 61280)
StakeManager_RewardsTest:testSetRewards_RevertsBadDuration() (gas: 101038)
StakeManager_RewardsTest:testSetRewards_RevertsNotAuthorized() (gas: 39367)
StakeManager_RewardsTest:testTotalRewardsSupply() (gas: 740407)
StakeTest:test_StakeMultipleAccounts() (gas: 555080)
StakeTest:test_StakeMultipleAccountsAndRewards() (gas: 563572)
StakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 942163)
StakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 567360)
StakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 589494)
StakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1507716)
StakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 574936)
StakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1113666)
StakeTest:test_StakeOneAccount() (gas: 315747)
StakeTest:test_StakeOneAccountAndRewards() (gas: 324302)
StakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 616419)
StakeTest:test_StakeOneAccountReachingMPLimit() (gas: 503409)
StakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 334714)
StakeTest:test_StakeOneAccountWithMinLockUp() (gas: 335354)
StakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 335399)
StakeVaultMigrationTest:testMigrateToVault() (gas: 878053)
StakeVaultMigrationTest:test_RevertWhenDestinationVaultIsNotRegistered() (gas: 162053)
StakeVaultMigrationTest:test_RevertWhenMigrationVaultNotEmpty() (gas: 630655)
StakeVaultMigrationTest:test_RevertWhenNotOwnerOfMigrationVault() (gas: 70297)
StakeVaultTest:testOwner() (gas: 15262)
StakingTokenTest:testOwner() (gas: 15262)
StakingTokenTest:testStakeToken() (gas: 13144)
TrustedCodehashAccessTest:test_RevertWhenProxyCloneCodehashNotTrusted() (gas: 2023468)
UnstakeTest:test_StakeMultipleAccounts() (gas: 555059)
UnstakeTest:test_StakeMultipleAccountsAndRewards() (gas: 563616)
UnstakeTest:test_StakeMultipleAccountsMPIncreasesMaxMPDoesNotChange() (gas: 942207)
UnstakeTest:test_StakeMultipleAccountsWithMinLockUp() (gas: 567426)
UnstakeTest:test_StakeMultipleAccountsWithRandomLockUp() (gas: 589493)
UnstakeTest:test_StakeMultipleTimesDoesNotExceedsMaxMP() (gas: 1507772)
UnstakeTest:test_StakeMultipleTimesWithLockIncreaseAtSameBlock() (gas: 574891)
UnstakeTest:test_StakeMultipleTimesWithLockZeroAfterMaxLock() (gas: 1113677)
UnstakeTest:test_StakeOneAccount() (gas: 315747)
UnstakeTest:test_StakeOneAccountAndRewards() (gas: 324301)
UnstakeTest:test_StakeOneAccountMPIncreasesMaxMPDoesNotChange() (gas: 616418)
UnstakeTest:test_StakeOneAccountReachingMPLimit() (gas: 503389)
UnstakeTest:test_StakeOneAccountWithMaxLockUp() (gas: 334736)
UnstakeTest:test_StakeOneAccountWithMinLockUp() (gas: 335354)
UnstakeTest:test_StakeOneAccountWithRandomLockUp() (gas: 335399)
UnstakeTest:test_UnstakeBonusMPAndAccuredMP() (gas: 572145)
UnstakeTest:test_UnstakeMultipleAccounts() (gas: 794627)
UnstakeTest:test_UnstakeMultipleAccountsAndRewards() (gas: 905041)
UnstakeTest:test_UnstakeOneAccount() (gas: 543645)
UnstakeTest:test_UnstakeOneAccountAndAccruedMP() (gas: 543156)
UnstakeTest:test_UnstakeOneAccountAndRewards() (gas: 467580)
UnstakeTest:test_UnstakeOneAccountWithLockUpAndAccruedMP() (gas: 560332)
UpdateVaultTest:test_UpdateAccount() (gas: 2391077)
UpgradeTest:test_RevertWhenNotOwner() (gas: 3562509)
UpgradeTest:test_UpgradeStakeManager() (gas: 9486617)
VaultRegistrationTest:test_VaultRegistration() (gas: 63138)
WithdrawTest:testOwner() (gas: 15296)
WithdrawTest:test_CannotWithdrawStakedFunds() (gas: 347979)