-
Notifications
You must be signed in to change notification settings - Fork 29
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
Re-export the ics23.cosmos.v1
Protobuf definitions from the ics23
crate
#92
Conversation
Thanks for your work on this @romac. Re: pbjson, that seems like a necessary tradeoff, and we can help with getting upstream to get |
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.
Not familiar with the changes in .github/workflows/rust.yml
, otherwise the changes look good as far as I understand.
Thanks Romain!
Before merging this and doing a release, I would just like to get some feedback from @plafer or @Farhad-Shabani on whether or not they use the JSON impls on no_std or are aware of anyone using those. Either way this shouldn't prevent us from doing a release on Monday, but maybe then as an alpha to give some time to find an alternative solution (eg. no_std support in pbjson) before the final release. |
I don't have time to do a thorough analysis of this right now, but we do not use the JSON impls internally. Off the top of my head, I do not know of anyone that does. |
I am told we have a potential user of JSON serialization in |
@erwanor |
Closes: #156 Addresses the `no_std` compatibility issue with `serde` feature in `ibc-rs`. This is caused by the recent implementation of ProtoJSON serialization and deserialization [0] for the `ics23` Protobuf definitions using `pbjson`, and then re-exporting the ics23 type [1] in `ibc-proto-rs`. Some of our users by then (starting from IBC-rs v0.41.0) are experiencing compilation errors. [2] To meet this immediate need [3] and the lack of activity in the `pbjson` crate for months, we have taken the initiative to feature `no_std` support in the `informalsystems-pbjson` crate and have it published. [0] #146 [1] cosmos/ibc-proto-rs#92 [2] cosmos/ibc-rs#741 [3] cosmos/ibc-proto-rs#98 (comment) --- * feat: enable no_std support for pbjson * fix: get serde feature work with no-std * deps: use informalsystems-pbjson v0.6.0 * deps: use informalsystems-pbjson v0.6.0
Closes: #10
The proto definitions are exported both under the
ibc_proto::cosmos::ics23::v1
module and under theibc_proto::ics23
module for backward source compatiblity.This is nonetheless a breaking change as it may break compilation or trigger warnings in code which relied on these definitions being different than the ones in
ics23
.