Skip to content
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

Merged
merged 10 commits into from
Feb 19, 2024
Merged

Updates Eigenlayer integration #114

merged 10 commits into from
Feb 19, 2024

Conversation

samparsky
Copy link
Collaborator

Summary

Adds owr and split integration tests. Abstract withdrawal logic

Details

Copy link
Contributor

@cosminobol cosminobol left a 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;
Copy link
Contributor

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) ?

Copy link
Collaborator Author

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

Copy link
Contributor

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)

Copy link
Collaborator Author

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
Copy link
Contributor

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?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, that's correct

Copy link
Collaborator Author

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

Copy link
Contributor

@OisinKyne OisinKyne left a 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.

@samparsky samparsky merged commit 1524e5a into main Feb 19, 2024
1 check passed
@samparsky samparsky deleted the feat/eigenlayer branch February 19, 2024 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants