-
Notifications
You must be signed in to change notification settings - Fork 15
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
Updates Eigenlayer integration #114
Conversation
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.
Approved with some comments
|
||
eigenPod = eigenLayerPodManager.createPod(); | ||
owner = _owner; | ||
withdrawalAddress = _withdrawalAddress; |
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.
should we check for address(0) ?
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 checked in the factory
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.
Could anyone do something weird like deploy a clone of this contract by using something other than our factory contract for doing so and manage to do something malicious? (In this case, I think subverting the factory to set your withdrawal address to 0 isn't smart/malicious, so not a problem, just asking here)
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 possible, since the deployer address is included in create2
); | ||
/// Creates a minimal proxy clone of implementation | ||
/// @param owner address of owner | ||
/// @param withdrawalAddress address of withdrawalAddress |
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.
Just for my understanding, we're separating out the ability to control the controller contract to owner
, and then setting another address for the funds to flow to (withdrawalAddress
), which in practice could be an OWR or a SplitProxy? Out of interest, in a standard eigenpodcontroller, there is no distinction between the controller and recipient of funds, and this is functionality we are adding, right?
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.
yes, that's correct
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.
The withdrawal address can be either an OWR or SplitProxy
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.
LGTM too, asked two basic q's for my understanding's sake.
Summary
Adds owr and split integration tests. Abstract withdrawal logic
Details