-
Notifications
You must be signed in to change notification settings - Fork 23
Remove ibc callbacks for accounts. #277
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
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.
Looks good, but would really like to see test, where it's called by "attacker"
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.
Nice!
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.
Why would we want to support a module on another account doing an IBC callback on a module? Do you have an application that needs that?
Can we keep IBC callbacks to same-account modules? I think that's the sensible default.
Convention over Configuration. Our convention is that inter-account calls (shielded calls) are the default security parameter. If we ever need to loosen those boundaries for a use-case that should be a configurable setting. |
It's not really a question of support, it's a question of callback definiton. Our callback definition has a receiver address that can be set by the sender to anything. We can change that but to do that we need to redefine what the callback API looks like and what callback we want to allow. Remember, it's the user proxy that sends the callback |
It's the ibc-client that sends it: IbcClientResponse::action("user_specific_callback")
.add_message(callback.into_cosmos_msg(callback_info.receiver)?) But yeah you have a point on the permissionless nature of the ibc callbacks! I'm just not sure if the AccountId is really the sender metric to use here. What if we use |
Sorry, I meant the callback is registered in the ibc-client by the proxy. |
Is it not safe to assume that if the sending module is registered on the account, the call is allowed to pass? I think we could assume that for now until we have direct module calls. Only case that would go wrong is with a maleficent module installed. |
Does this PR need to be merged before #259 ? |
Yes |
This PR aims at removing IBC callbacks on Abstract Accounts.
This will be replaced in another PR by execution and queries between abstract modules (#259)
Checklist