-
Notifications
You must be signed in to change notification settings - Fork 87
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
Refactor: MsgChannelOpenInit
and MsgChannelOpenTry
should not contain a ChannelEnd
#20
Comments
Could you please clarify? |
My point is that the creation of a The ibc-go implementation of chanOpenInit handler, and ICS-4, correctly (in my opinion) don't ask for a As for the protobuf definitions, you are right... In my opinion, that should be changed too, for the same reasons. A similar argument goes for |
In the first version of IBC, the user was managing the channel IDs. So you could specify fully the two ends of the channel in Then next IBC spec version changed with the chain being the one to manage the IDs. We haven't changed the handler signatures in our impls. Maybe by that time we got used to them the way they were and it was faster to just make the ID optional. Anyway that's a bit of history and I personally don't mind changing the handlers. |
Exactly. As Anca described, we also tried to simplify handler interfaces because they were very complex (having a long list of parameters) but we had varying success with that initiative. Aligning with IBC-go would be a good idea. This refactor should be fixed upstream (in specs) first, to make our dependencies coherent, then we can proceed here. @plafer would you mind opening an issue in the specs repo and providing the rational there? |
I am wary of changing the protos, as this might create backward compatibility problems which which we've already struggled quite a bit with. I would vote for changing the Msg structs but leave the protos as is. |
Summary of bug
Both
MsgChannelOpenInit
andMsgChannelOpenTry
contain aChannelEnd
field. Although convenient becauseChannelEnd
contains most of the fields we need, it's semantically incorrect and confusing to developers not used to the codebase. For example, in the case ofMsgChannelOpenInit
, how am I supposed to provide one end of the channel I am trying to create?Note that
MsgChannelOpenAck
andMsgChannelOpenConfirm
don't contain aChannelEnd
field.Version
v0.13.0
Acceptance Criteria
MsgChannelOpenInit
andMsgChannelOpenTry
don't contain aChannelEnd
field.For Admin Use
The text was updated successfully, but these errors were encountered: