-
Notifications
You must be signed in to change notification settings - Fork 590
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
Clarification about ICA message signing requirements #3494
Comments
If the owner of the interchain account is a regular user account, then the transaction with But if the owner is a generic authentication module like We have this tutorial here that shows how you can use We also have these 2 tests that show how
This is a good question. I am not sure if there's any validation in the SDK to make sure that Maybe the wording used in the spec is not exactly how it is implemented in ibc-go (i.e. the message to be executed by the interchain account is not signed by a private key), but the spec tries to be generic enough so that implementations can decide how to do the verification of the "signer" of the message. In the case of ibc-go we use SDK's I hope this helps! Let us know if you have further questions. |
@0xekez Has the comment above helped to answers your questions? If it has, can we close this issue then? |
I will close the issue for now, @0xekez. Feel free to reopen if your question was not answered. |
Moved from here: #3434 (comment)
ICS-027's spec seems to say that messages must be signed by the sender. I may be misunderstanding the SDK, but this does not seem to be the case to me.
To authenticate a TX in the ICA implementation, the signers are looped over and checked:
ibc-go/modules/apps/27-interchain-accounts/host/keeper/relay.go
Lines 100 to 104 in 394ffa0
This confuses me for two reasons:
It feels to me then that one of two things are true:
I think its entirely possible that I'm misunderstanding something here so would love to be corrected. My question is basically: how can ICA both require that the sent message is signed by the account owner, and allow SDK modules / smart contracts to send messages (as modules and contracts don't have keypairs)?
Thanks for the help!
The text was updated successfully, but these errors were encountered: