-
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
Restore no_std
compatibility for JSON serialization impls
#98
Comments
FYI: Reached out to the ComposableFi, they mentioned that they plan to upgrade their ibc-proto-rs fork from the upstream, but not earlier than in a month or two |
Just noticed upon upgrading ibc-proto-rs to v0.31.0 in ibc-rs (this PR), the CI can’t pass Sounds like we either should (1) upstream no_std compliance for Also, @DaviRain-Su to check with you: are you dependent on any of the derived serde within the ic23_commitment of ibc-rs (e.g. here) at the moment? |
I have not any dependent for this. |
Glad to hear! Then let's close this if no one objects. Should the need for pbjson support on no-std arise in the future we may look into adding that (I actually have a WIP branch doing just that but more work is needed and I have more pressing things to take care of at the moment). |
Given the need brought up in cosmos/ibc-rs#741, this issue is reopened. |
Hm, actually all was working until very specific commit recently. May be 3 weeks ago. |
In Composable there are 2 forks, one is 0.15 version (super old, on of reason was no_std issue i recall), and other one on last version before serde in no_std was broken (so we again no_std issue). We are trying to be first chain to be Cosmos like chain (CW and IBC) not written in Go, but that is really hard. Issue is that when CW lib or IBC-rs break no_std, it would go deep several libs down the way, and unrealistically to drive fixes of no_std in so many libs. No sure how other no_stds handle that. In current case no_std broken in some dep which depens on some generator. |
Sorry hearing that you are experiencing such trouble. |
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
ibc-proto-rs v0.34.0 August 17th, 2023 This release updates the Cosmos SDK protos to v0.47.3 and IBC-Go protos to v7.2.0. Additionally, it restore `no_std` support for JSON serialization via `serde`. Previously, `Serialize` and `Deserialize` instances were only derived when the `std` feature was enabled, but that is no longer required. As such, they now require the `serde` feature to be enabled, independently of whether or not the `std` feature is enabled. BUG FIXES: - Restore `no_std` support for JSON serialization #98 FEATURES: - Update Cosmos SDK protos to v0.47.3 and IBC-Go protos to v7.2.0 #129
See #92 and #95 for more details,
The text was updated successfully, but these errors were encountered: