Derive serde's `Serialize` and `Deserialize` for structs in `ibc-proto::ibc::core` and `ibc_proto::ibc::applications`
Wizdave97 opened this issue · 6 comments
Summary
Hello, we need serde's Serialize and Deserialize implemented for some structs in the ibc-proto::ibc
module, these structs are being used in our rpc interface so they need to implement the Serialize and Deserialize traits.
Problem Definition
Are there any disadvantages of including this feature? --> No
Proposal
Serialize and Deserialize should be implemented for structs in the ibc_proto::ibc::core
and ibc_proto::ibc::applications
modules when std
is enabled
Acceptance Criteria
All structs in ibc_proto::ibc::core
and ibc_proto::ibc::applications
have Deserialize and Serialize implemented when std
is enabled
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate milestone (priority) applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned
Sure, happy to release it for 0.13.0 if you can open a PR by the end of the week :)
Sure, happy to release it for 0.13.0 if you can open a PR by the end of the week :)
@romac Is any of the code in the ibc -proto
module auto generated?
All of it, except for https://github.com/informalsystems/ibc-rs/blob/master/proto/src/lib.rs is generated by the proto-compiler
CLI which is called manually from scripts/sync-protobuf.sh
when we need to update the proto definitions.
See here for how to add attributes to the generated proto structs: https://github.com/informalsystems/ibc-rs/blob/1481a16ee077f6708e3f2ce1866f8e90340fdf46/proto-compiler/src/cmd/compile.rs#L103-L163
Okay, thank you