-
Notifications
You must be signed in to change notification settings - Fork 11
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
External functions from bundlers can be called by anyone #117
Comments
Adding those modifiers means that we're not sure about the security of bundlers in some way, no? |
These modifiers would only have the goal of protecting the user, as I stated in the description of this issue ; I don't see why adding them means we're not sure about the security of bundlers? |
I'm not sure what you mean by "unexpected behaviors of the bundlers" then. Can you elaborate on that please? |
When calling the bundler without going through
|
So there's 2 paths:
2 is not necessary but does not add much gas cost either. 1 could be sufficient and does not add more complexity. @morpho-labs/onchain thoughts? |
I agree with just putting a comment. Users should generally not be interacting with the contracts directly anyway. |
I agree with Patrick. These contracts are not meant to be used by users who know how to use/write smart contracts anyway |
In addition to this, I closed #97 because having dedicated interfaces for each abstract bundler would be error-prone: bundler functions should not be called directly |
In order to protect users from unexpected behaviors of the bundlers, we may consider protecting external functions with
onlySelf
:However, this would not work with callbacks, because they are expected to be called by specific addresses. In all cases, we know they expected address to call callbacks (Morpho, Balancer, etc), so we can craft a similar, dedicated solution for each callback type
In any case, it doesn't threaten security because the bundler is expected to be stateless between txs
The text was updated successfully, but these errors were encountered: