-
Notifications
You must be signed in to change notification settings - Fork 5
L1 staking #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
L1 staking #22
Conversation
struct AccessControl { | ||
bool acceptDelegation; | ||
address authorizedSender; | ||
IDelegatorVerifier verifier; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: would prefer this to be in a library if used in other contracts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not used in any other contracts, this is just internal storage
|
||
/// @inheritdoc IDelegatorAccessControl | ||
function setDelegationStatus(bool status) external { | ||
_delegatorAccessControl[msg.sender].acceptDelegation = status; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: cache sender
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
calling msg.sender
directly is cheaper than caching it in a variable, or is this about readability instead of gas?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh for some reason I thought it was cheaper if used multiple times huh, I don't mind then. For larger functions def prefer for readability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's true for things like .length
when the array is in memory
* Create base L1TestHandler * remove solmate * imports * Add deployer to compile without IR and speed up compilation by 50% --------- Co-authored-by: gretzke <[email protected]>
* initial staking middleware params tests * add a few more tests
* add delegator access control tests * fix shadowed variable * use selectors from interfaces to test reverts --------- Co-authored-by: gretzke <[email protected]>
* ProtocolRewardDistributor tests * remove console.log, formatting --------- Co-authored-by: gretzke <[email protected]>
* Create base L1TestHandler * remove solmate * imports * tests first pass * Add tests * clean up tests * name * Test/stake manager proposed changes (#49) * No need to add these functions here * Rename Wrapper => Harness to align with the naming used in other tests * move delegator to L1 Handler --------- Co-authored-by: Daniel Gretzke <[email protected]>
* Add explanation for added function to interface * clarify logic flow of allowing delegation * Add natspec * make functions and variables internal in Votes, extend functionality in OperatorVotes * add multicall to contract
* Initial commit: OperatorManager tests * Overwrite public function instead of internal function * rename internal functions * cache msg.sender * remove unused import * rename variable
* Add some fuzz tests * Add invariant tests * Add slashing to invariant tests * comments * nit * move file to StakingMiddleware directory --------- Co-authored-by: gretzke <[email protected]>
* Simplify logic around slashing and add more comments * Add fuzz and invariant to stake manager (#51) * Add some fuzz tests * Add invariant tests * Add slashing to invariant tests * comments * nit * move file to StakingMiddleware directory --------- Co-authored-by: gretzke <[email protected]> * Simplify logic around slashing and add more comments * Add SlashingManager tests --------- Co-authored-by: Eric Zhong <[email protected]>
* require stake to deposit into UniStaker, add view function to check whether user is deposited into unistaker * add unistaker wrapper tests
* Initial commit: Notifier * Notification implementation * Add forceful withdrawals of ERC-721 tokens for operators * Update documentation * Initial commit: Stake Table Sync * fix merge conflicts * fix contract size, fix stack too deep in tests * Add notifier tests * remove duplicate remappings * Add staketablesync tests * Add trusted service contracts * check header of 7702 smart wallets
No description provided.