Follow up issue to this discussion proposed by @soareschen.
Background
In summary, there is very little benefit to protecting domain type fields, especially since they all have auto-derive instances of serde::{Serialize, Deserialize}. It would only make sense to keep the fields private if we were hand-deriving the serialization logic, but with auto-derived instances, this leaves a backdoor open for vulnerabilities as far as validation of these domain type fields is concerned. So perhaps it makes sense to make all domain type fields public.
Proposal
[ ] Make all fields of all domain types in ibc-rs public
Follow up issue to this discussion proposed by @soareschen.
Background
In summary, there is very little benefit to protecting domain type fields, especially since they all have auto-derive instances of
serde::{Serialize, Deserialize}
. It would only make sense to keep the fields private if we were hand-deriving the serialization logic, but with auto-derived instances, this leaves a backdoor open for vulnerabilities as far as validation of these domain type fields is concerned. So perhaps it makes sense to make all domain type fields public.Proposal
ibc-rs
public