-
Notifications
You must be signed in to change notification settings - Fork 628
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
proposal: capability addition to ibc-go structure #3097
Conversation
any chance i can get feedback on this? would like to move forward while its still fresh in my mind |
Thank you for helping us with this work, @tac0turtle. We'll try to review this or next week, if that's ok. |
We can take over this PR and make any changes required to get it merged.
I'd like to suggest we move edit: we decided to keep it under |
We made the followup updates to this PR:
We can't fully test/merge this until this PR is merged (which will be updating interchain test to cometbft) and then we can update ibc-go to use cometbft as well, which will then let us update references to this new module and run our E2E. |
Myself and @damiannolan did some more work to push this forward, we ran into a lot of issues which need further debugging but we were able to get everything building and tests passing using a local pin of the new go module.
|
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.
LGTM. This looks good to go to me.
App v2 wiring has been ripped out and test code has been adjusted to use the ibc-go simapp. I've also added the fix cosmos/cosmos-sdk#15030
CI is green, new tasks added for build/test capability module. All E2E's look good with simapp wired with capability from this PR. Linting is failing but addressed in #3311 (maybe we'll need to lint the capability code also, but that will come or could be ignored in linter config).
Thanks @tac0turtle @chatton.
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.
Changes seem fine to me, but I will leave final approval to someone else on the team who was not as involved in adding it!
Thanks @damiannolan / @tac0turtle
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.
Thank you @damiannolan and @chatton!!! Excellent work! 💯
I have reviewed the diffs against SDK v0.47 release and I think I found a few merge conflicts that got duplicated. Otherwise everything looks great to me. I think it'd be nice if the go.mod didn't have to pin core IBC just for testing (will we remove this for releases?). I think this could be addressed by making simapp its own go.mod
|
||
go 1.19 | ||
|
||
replace github.com/cosmos/ibc-go/v7 => ../../ |
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 does capability module reference ibc-go? I guess for tests? Will this cause versioning issues?
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.
it is just for tests, so when a chain imports the module, it won't be pulled in as a dependency
To test this I created a go.mod file that just imports the capability module.
require github.com/cosmos/ibc-go/modules/capability v1.0.0-alpha1
require (
// no sign of ibc-go
)
Go does some clever things with dependences that are only used in test code.
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 job y'all! Everything looks good to go to me!
Description
This is a proposal on how to adopt capability. In the near future we will be able to remove the dependency of the sdk from this module making it standalone. The reason for the separate go.mod is that this module will most likely hit v1 and not iterate further with the plans of the sdk to introduce internal message routers. Tying it to an ibc-go release could be done as well, but didnt see the point since there wont be iteration on this work for a while.
before going further wanted to double check if this is acceptable
closes: #3076
Commit Message / Changelog Entry
see the guidelines for commit messages. (view raw markdown for examples)
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.