Skip to content
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

Support CosmWasm environment for ibc-proto #4

Closed
5 tasks done
romac opened this issue Feb 23, 2022 · 0 comments
Closed
5 tasks done

Support CosmWasm environment for ibc-proto #4

romac opened this issue Feb 23, 2022 · 0 comments
Assignees

Comments

@romac
Copy link
Member

romac commented Feb 23, 2022

Crate

ibc-proto

Summary

The reason for this PR is to have the ibc-proto crate being reusable in the context of a cosmwasm light client, a new type of IBC client.
this PR includes a non-exhaustive set of changes required to have the ibc-proto compilable and runnable in a cosmwasm environment.
The

adding feature client to opt out client implementations as tonic dependency must be removed when compiling within

change is necessary because in cosmwasm we don't have access to the getrandom crate, so I needed to remove dependency on tonic.

The

adding #[derive(::schemars::JsonSchema)] attribute for structs that might be of value within an IBC-related cosmwasm contract

extension is needed if we want to pass such structures in and out of a cosmwasm smart contract (serde alone is not enough)
I think the following one explain themselves

making no_std a feature, so above derive macro can work

This one is actually important outside the scope of cosmwasm as well, as you already added serde::Serialize and serde::Deserialize support.

adding #[serde(default)] field attribute to fields that might be omitted by Golang omitempty directive.

Originally posted by @lightyear15 in informalsystems/hermes#1628 (comment)


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@romac romac self-assigned this Feb 23, 2022
@romac romac changed the title Supporting CosmWasm environment for ibc-proto Support CosmWasm environment for ibc-proto Feb 23, 2022
@hu55a1n1 hu55a1n1 transferred this issue from informalsystems/hermes Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants