mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-09 15:27:55 -05:00
refactor(TrustedCodehashAccess): add storage gap for upgrade safety
Closes #131
This commit is contained in:
26
.gas-report
26
.gas-report
@@ -168,7 +168,7 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 95475 | 95475 | 95475 | 95475 | 1 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 14216 | 52150 | 52082 | 93689 | 260 |
|
||||
| lock | 14216 | 52149 | 52082 | 93689 | 260 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| migrateToVault | 13563 | 72244 | 15769 | 187401 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -186,7 +186,7 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardStartTime | 429 | 1429 | 1429 | 2429 | 2 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| rewardsBalanceOf | 2324 | 3519 | 3909 | 6324 | 268 |
|
||||
| rewardsBalanceOf | 2324 | 3513 | 3909 | 6324 | 268 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setReward | 2484 | 105517 | 107034 | 107034 | 264 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -194,7 +194,7 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| setTrustedCodehash | 24221 | 24221 | 24221 | 24221 | 77 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 2681 | 237280 | 230009 | 251100 | 1607 |
|
||||
| stake | 2681 | 237192 | 230009 | 251100 | 1607 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalMP | 777 | 1223 | 1223 | 1669 | 6 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -206,17 +206,17 @@
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsAccrued | 384 | 384 | 384 | 384 | 3 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalRewardsSupply | 993 | 1615 | 1774 | 6733 | 290 |
|
||||
| totalRewardsSupply | 993 | 1612 | 1774 | 6733 | 290 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalShares | 637 | 637 | 637 | 637 | 6 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| totalStaked | 385 | 385 | 385 | 385 | 1115 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 56017 | 81048 | 80911 | 88301 | 269 |
|
||||
| unstake | 56017 | 81071 | 80911 | 88301 | 269 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateGlobalState | 15809 | 27646 | 29200 | 29503 | 276 |
|
||||
| updateGlobalState | 15809 | 27797 | 29200 | 29503 | 276 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| updateVaultMP | 25103 | 34530 | 36516 | 36819 | 276 |
|
||||
| updateVaultMP | 25103 | 34704 | 36516 | 36819 | 276 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| upgradeToAndCall | 3225 | 7892 | 8437 | 10925 | 5 |
|
||||
|------------------------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -242,7 +242,7 @@
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| leave | 12167 | 126461 | 69872 | 353935 | 4 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| lock | 12097 | 67386 | 67531 | 109137 | 261 |
|
||||
| lock | 12097 | 67385 | 67531 | 109137 | 261 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| migrateToVault | 29034 | 98943 | 31240 | 236555 | 3 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
@@ -250,13 +250,13 @@
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| register | 12632 | 78058 | 78550 | 78550 | 308 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stake | 12077 | 290972 | 283898 | 304989 | 1608 |
|
||||
| stake | 12077 | 290883 | 283898 | 304989 | 1608 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| stakeManager | 367 | 367 | 367 | 367 | 307 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| trustStakeManager | 7577 | 7577 | 7577 | 7577 | 1 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| unstake | 12054 | 111580 | 112021 | 119411 | 270 |
|
||||
| unstake | 12054 | 111603 | 112021 | 119411 | 270 |
|
||||
|----------------------------------------+-----------------+--------+--------+--------+---------|
|
||||
| withdraw | 20705 | 20705 | 20705 | 20705 | 1 |
|
||||
╰----------------------------------------+-----------------+--------+--------+--------+---------╯
|
||||
@@ -272,7 +272,7 @@
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| fallback | 735 | 8099 | 833 | 142290 | 7358 |
|
||||
| fallback | 735 | 8110 | 833 | 142290 | 7358 |
|
||||
|----------------------------------------------------+-----------------+------+--------+--------+---------|
|
||||
| implementation | 343 | 2342 | 2343 | 2343 | 2455 |
|
||||
╰----------------------------------------------------+-----------------+------+--------+--------+---------╯
|
||||
@@ -376,11 +376,11 @@
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| Function Name | Min | Avg | Median | Max | # Calls |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| approve | 29158 | 32602 | 29350 | 46342 | 1586 |
|
||||
| approve | 29158 | 32603 | 29350 | 46342 | 1586 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| balanceOf | 558 | 1118 | 558 | 2558 | 1900 |
|
||||
|---------------------------------------------+-----------------+-------+--------+-------+---------|
|
||||
| mint | 34095 | 38637 | 34287 | 68379 | 1598 |
|
||||
| mint | 34095 | 38638 | 34287 | 68379 | 1598 |
|
||||
╰---------------------------------------------+-----------------+-------+--------+-------+---------╯
|
||||
|
||||
╭-----------------------------------------------------------------------------+-----------------+--------+--------+--------+---------╮
|
||||
|
||||
@@ -7,11 +7,11 @@ EmergencyExitTest:test_EmergencyExitToAlternateAddress() (gas: 450444)
|
||||
EmergencyExitTest:test_EmergencyExitWithLock() (gas: 448187)
|
||||
EmergencyExitTest:test_EmergencyExitWithRewards() (gas: 435625)
|
||||
EmergencyExitTest:test_OnlyOwnerCanEnableEmergencyMode() (gas: 39462)
|
||||
FuzzTests:testFuzz_AccrueMP(uint256,uint256,uint16) (runs: 1000, μ: 521120, ~: 515988)
|
||||
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1000, μ: 510818, ~: 502017)
|
||||
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1000, μ: 604742, ~: 605988)
|
||||
FuzzTests:testFuzz_Stake(uint256,uint256) (runs: 1000, μ: 404270, ~: 395469)
|
||||
FuzzTests:testFuzz_Unstake(uint256,uint256,uint16,uint256) (runs: 1000, μ: 530267, ~: 529967)
|
||||
FuzzTests:testFuzz_AccrueMP(uint256,uint256,uint16) (runs: 1000, μ: 521175, ~: 515988)
|
||||
FuzzTests:testFuzz_EmergencyExit(uint256,uint256) (runs: 1000, μ: 510620, ~: 501981)
|
||||
FuzzTests:testFuzz_Rewards(uint256,uint256,uint256,uint16,uint16) (runs: 1000, μ: 604739, ~: 605984)
|
||||
FuzzTests:testFuzz_Stake(uint256,uint256) (runs: 1000, μ: 404072, ~: 395433)
|
||||
FuzzTests:testFuzz_Unstake(uint256,uint256,uint16,uint256) (runs: 1000, μ: 530269, ~: 529967)
|
||||
IntegrationTest:testStakeFoo() (gas: 1403381)
|
||||
KarmaMintAllowanceTest:testAddKarmaDistributorOnlyOwner() (gas: 348441)
|
||||
KarmaMintAllowanceTest:testBalanceOf() (gas: 428754)
|
||||
@@ -48,7 +48,7 @@ KarmaTest:testTransfersNotAllowed() (gas: 20685)
|
||||
LeaveTest:test_LeaveShouldProperlyUpdateAccounting() (gas: 8942756)
|
||||
LeaveTest:test_RevertWhenStakeManagerIsTrusted() (gas: 350352)
|
||||
LeaveTest:test_TrustNewStakeManager() (gas: 8995615)
|
||||
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1000, μ: 406917, ~: 406944)
|
||||
LockTest:test_LockFailsWithInvalidPeriod(uint256) (runs: 1000, μ: 406915, ~: 406944)
|
||||
LockTest:test_LockFailsWithNoStake() (gas: 114574)
|
||||
LockTest:test_LockFailsWithZero() (gas: 367631)
|
||||
LockTest:test_LockWithoutPriorLock() (gas: 465087)
|
||||
|
||||
@@ -14,6 +14,8 @@ import { ITrustedCodehashAccess } from "./interfaces/ITrustedCodehashAccess.sol"
|
||||
abstract contract TrustedCodehashAccess is ITrustedCodehashAccess, OwnableUpgradeable {
|
||||
/// @notice Whidelisted codehashes.
|
||||
mapping(bytes32 codehash => bool permission) private trustedCodehashes;
|
||||
/// @notice Gap for upgrade safety.
|
||||
uint256[10] private __gap;
|
||||
|
||||
/**
|
||||
* @notice Restricts access based on the codehash of the caller.
|
||||
|
||||
Reference in New Issue
Block a user