The implementation has an auto-derived Deserialize instance, but has a manually derived Serialize instance that treats the commitment as a string.
This has to be fixed on ibc-rs side with https://github.com/cosmos/ibc-rs/issues/1229. After that, the dependencies need to be updated on sov-rollup-starter, and then be tested again.
A temporary fix is pushed to the branch https://github.com/cosmos/ibc-rs/tree/soares/fix-commitment-prefix-deserialize. The temporary fix follows the serialization behavior and desrializes the JSON as string. This is so that the temporary fix can be applied on the client-side only without having to update sov-rollup-starter. Once a proper fix is done, we should update the dependency in Cargo.toml to use back the main branch.
When querying the connection end on Sovereign, the client fails when parsing the response with the error:
The failure is caused by the inconsistencies of serializing and deserializing the
CommitmentPrefix
struct on ibc-rs:The implementation has an auto-derived
Deserialize
instance, but has a manually derivedSerialize
instance that treats the commitment as a string.This has to be fixed on ibc-rs side with https://github.com/cosmos/ibc-rs/issues/1229. After that, the dependencies need to be updated on sov-rollup-starter, and then be tested again.
A temporary fix is pushed to the branch https://github.com/cosmos/ibc-rs/tree/soares/fix-commitment-prefix-deserialize. The temporary fix follows the serialization behavior and desrializes the JSON as string. This is so that the temporary fix can be applied on the client-side only without having to update sov-rollup-starter. Once a proper fix is done, we should update the dependency in Cargo.toml to use back the main branch.