Current Store
API prevents us from properly upgrading to the upcoming ibc v0.20.0
#66
Labels
enhancement
New feature or request
The current
Store
API only allows us to set serialized values.This is incompatible with the upcoming ibc v0.20.0 which implemented ADR 4. Specifically, we would like to store
Box<dyn ClientState>
for theclient_state_store
, andBox<dyn ConsensusState>
for theconsensus_state_store
. We can't store the serialized version, because we don't know how to transformVec<u8> -> Box<dyn ClientState>
without additional information (e.g. theClientId
).One solution is to create an enum of all types stored in the IBC store (
Sequence
,PacketCommitment
,Box<dyn ClientState>
, etc), and have that enum be the type of the value for the IBC store. Proofs will work just fine as well; we just need to ensure that the values in the store are properly serialized before they're fed to the proof algorithm, which I believe is already the case (here and here for example).The text was updated successfully, but these errors were encountered: